Mayflower unterstützt fränkische Berufsschulen bei der Einbindung von Scrum in den Lehrplan

„Sie wurden mir empfohlen!“

Ich staunte nicht schlecht, als im April diesen Jahres mein Telefon klingelte und sich Herr Zobel von der Klara-Oppenheimer-Schule bei mir meldete. „Sie wurden mir empfohlen!“, sprach Herr Zobel weiter. Ich war immer noch ein wenig verwundert, wie ich einer Schule weiterhelfen konnte. Es stellte sich jedoch heraus, dass ich von einem unserer damaligen Auszubildenden als Scrum Master empfohlen wurde. Herr Zobel organisierte einen Lehrgang für den Fachbereich Informatik/IT: „Scrum als agiles Vorgehensmodell für Programmierer“. Scrum im Lehrplan für berufliche Schulen? Und ich soll die Grundlagen dafür vermitteln? Ich sagte zu. Die Vorstellung, dass neben Wasserfall- und dem V-Modell in den Berufsschulen zukünftig auch Scrum unterrichtet wird, finde ich extrem spannend.

Back to school

Am 17. Dezember 2015 war es dann endlich so weit. Mit 25 Teilnehmern war das Klassenzimmer der Würzburger Klara-Oppenheimer-Schule randvoll. Die Teilnehmer der Fortbildung waren Lehrerinnen und Lehrer beruflicher Schulen aus ganz Franken. In den nächsten zwei Stunden erzählte ich den Teilnehmern über die Grundlagen von Scrum, wie Scrum in Projekten angenommen wird, was die Erfolgsfaktoren und die Ergebnisse von Scrum sind. Dabei durfte ich mich immer wieder den kritischen Fragen der Teilnehmer stellen. Hierbei konnte ich auf meine Praxiserfahrung zurückgreifen, was von den Lehrkräften dankend angenommen wurde.

Scrum im Unterricht

Im Anschluss übernahm Herr Zobel das Rednerpult. Er demonstrierte, wie er Scrum in seinen Unterricht eingebunden hat. Was mich persönlich dabei beeindruckt hat, war seine pädagogische Herangehensweise bei der Scrum-Integration. Ich erkannte, dass hier nicht das Produkt oder die korrekte Integration und Optimierung von Scrum im Vordergrund stand. Sein Schwerpunkt lag auf der Wissensvermittlung: Wie kann man Scrum seinen Schülern näher bringen, ohne sie damit zu überfordern? Wie ergeht es den Schülern damit? Weiterhin stellte Herr Zobel vor, wie sich Scrum in den Lehrplan integrieren lässt.

Scrum und Empathie

Trotzdem blieb bei mir hängen, dass auch außerhalb des schulischen Umfelds der soziale Aspekt bei der Einführung von Scrum in Organisationen gerne mal unterschätzt wird. Wie ergeht es den Mitarbeitern, wenn das nächste Projekt mit dem bisher unbekannten Scrum Rahmenwerk umgesetzt wird? Eine Frage, die sich jeder Scrum Master stellen sollte.

Danke nochmals an OStR Michael Kühnert und StR Christoph Zobel für die tolle Organisation und das Schaffen neuer Blickwinkel.

Büro unter Palmen

„Programmierer sind alle lichtscheu und haben deswegen blasse Haut.“ – Mit diesem Vorurteil haben wohl die meisten Geeks/Programmierer zu kämpfen. Leider trifft die Aussage aber auch auf mich zu. Mein Arbeitsplatz ist ein wohl temperiertes Büro mit abgedunkelten Fenstern; besonders im Sommer. Es ist zwar ein angenehmes Arbeiten, allerdings bekommt man auch nichts vom Sommer mit.
Genau das ist uns, dem Sevengames Team bei Mayflower, letztes Jahr passiert: Launch Termin Ende Sommer. Wer kennt den Fall nicht? Vor einem Launch kommen noch viele zusätzliche Features. Aus einem Sprint werden drei und die Deadline rückt näher…
Weiterlesen

Launchy – Einfach schneller arbeiten

Ich möchte euch ein Programm vorstellen: Launchy.
Launchy nimmt euer Startmenü, indiziert es und funktioniert als Programmstarter. Mit der Tastenkombination [Alt]+[Space] wird Launchy aus dem Hintergrund aufgerufen. Jetzt kann man beispielsweise durch Eingabe von „zend“ + [Enter] sein Zend Development Environment starten. Launchy arbeitet mit Autovervollständigung, was bedeutet, d.h. dass mit „word“, „excel“, „skype“ oder „fire“ sich eure Programme starten lassen. Ihr könnt auch durch euer Dateisystem navigieren: Ein gesuchter Pfad öffnet sich mit „c:\Pfadangabe“ [Enter]. Launchy kennt auch hier die Autovervollständigung Nett ist auch, dass man mit „mail“ [Enter] Thunderbird startet und es öffnet sich eine neue Email.

Launchy bringt in der Version 2.0 einige Plugins mit:

Calcy ist ein simpler Taschenrechner. Einfach [Alt]+[Tab], danach die mathematische Formel eingeben und Launchy rechnet das Ergebnis aus. Runner führt Befehle auf der Kommandozeile aus. Einfach „cmd“ [Tabulator-Taste] „ipconfig“ [Enter] eingeben und Runner startet euer Kommando. Weby indiziert euer Firefox/IE Bookmarks. Wer das nicht mag, kann auch nur die zweite Funktion von Weby benutzen: Web-Suchmaschinen per Launchy aufrufen – einige sind schon vorinstalliert, wie zum Beispiel Google oder Google Maps. Über die Launchy Einstellungen lässt sich ein Schlagwort für denn Schnellaufruf der entsprechende Suchmaschine festlegen. Mit „maps“ [Tab] „würzburg, pleichertorstr 2“ [Enter] startet somit automatisch euer Browser öffnet Google Maps und gibt euch die Ansicht auf unser Büro in Würzburg :-)

Tuning Launchy:

Für meine tägliche Arbeit hab ich Launchy ein wenig angepasst. Über das Einstellungs-Menü lassen sich neue Suchmaschinen hinzufügen, beispielsweise die PHP Funktionsliste. So kann ich nun mit „php“ [Tab] „funktionsname“ die Online PHP-Dokumentation schnell durchsuchen. Auch dict.leo.org hab ich mir hinzugefügt. Sehr nett ist auch das Putty-Plugin, welches einem mit „ssh“ [Tab] „Verbindungsname“ eine der vielen in Putty gespeicherten SSH-Verbindungen aufmacht. In meinem Startmenü hab ich mir noch einen Ordner angelegt, in den ich Verknüpfungen auf Dateien und Ordner lege. So öffnet sich bei „telefon“ [Enter] die Datei telefonliste.txt, in welcher ich alle internen Telefondurchwahlen aufgelistet habe.

Über die Offizielle Website www.launchy.net findet ihr den Download, Plugins, Skins und Dokumentation. Momentan ist Launchy nur für MS Windows erhältlich, eine Cross-Platform Version (QT) ist aber in Arbeit.

Optimizing your front-end

The web 2.0 revolution has changed our understanding of the internet. Web sites are able to offer route calculations with high resolution maps, online-shops have real-time search delimitation and thousands of other services want to make our life easier.
Modern web sites are full of features: Client-site logic in the form of JavaScript (AJAX), eye-catching design as complex style sheets (CSS) and larger images with more details. All made possible with broadband internet connection. But what about slow dial-up connections? And how do browsers handle all the information?

Fact is, browsers have to handle more data and logic than ever. So it makes a lot of sense to optimize your web site for the end-user and start analyzing at the front-end! Programmers of the Yahoo Developer Group have invented a smart tool to analyze web pages: YSlow. It tells you why your web pages are slow based on the rules for high performance web sites.
Once you’ve become familiar with the rules, you will realize that YSlow is a very powerful tool which gives you a lot of information about every single component of your site. It checks the structure of your CSS and JavaScript files, shows you the relevant HTTP header information and tells you whether your components are gziped and cacheable. A statistical summary and a printable report are two further features which complete this tool. The analysis includes the 14 rules. YSlow grades every rule based on your web site and also offers detailed information about every found disadvantage.

Here are some samples:

gzip content
Non-packed content can be optimized with a simple configuration in your Apache web server:

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript

I recommend a whitelist-filter for the packed file types. According to the High Performance Web Sites book
gzip reduces the response by 66%.

CSS
Firefox renders the website after loading the style sheet file. This prevents progressive rendering.
An easy solution is to put the CSS up on the page and into the tag. With that you’ll get a faster loaded web site.

JavaScript
JavaScript is treated completely different. Browsers want to parse the JS file just after loading. In times of
large JS frameworks the best option is to put the JS at the bottom of your page and parse it after loading
the visual content. Minify and obfuscate the code are benefits, too. Minification removes unnecessary
characters like comments from your JS code. Obfuscation also renames variable and function names to
smaller strings which are faster to parse.

Caching
Caching counts a lot for the loading process and you may want to control the caching of your web site. To do this, set Expires headers and the Cache-Control feature in your Apache web server configuration:

ExpiresActive On
ExpiresDefault "modification plus 10 years"
Header set Cache-control max-age=2592000

The browser caches the content and loads only modified content from the server.
However you mey wonder why caching doesn’t work very well for your content. That may depend on ETags which are unique identifiers
of a content file. The browser checks the cached content ETag with the one on the web server and
differs altered content. But ETags don’t match from one server to another with the default configuration.
Because of a different ETag the browser requests notherless the file. Just disable ETags for your
Apache web server:

FileETag None

CDNs
If you have a large number of static content files like images on your web site you should use a Content Delivery Network (CDN) to distributes the static content on seperated servers. With this you may deliver you web site more efficiently because browsers
only load 2-4 requests of one server in parallel. A nice side effectis that you get rid of a lot of traffic.

Following the rules you may not only get a faster loading website but also a better understanding of how browsers handles modern web 2.0 pages. Once getting familiar with YSlow you start to analyze other web pages. That’s the point where you get addicted to this tool ;-) Have fun!