Archive | June, 2012

Warum geplante Zeit für Innovation bei IT-Teams besser ankommt

25 Jun

Erst einmal hört es sich merkwürdig an: Zeit für Innovationen sollte doch gerade frei genutzt werden können, was soll man daran denn bitte planen? Inhaltlich stimmt das auch: Die sogenannte 20 Prozent Zeit bedeutet, dass der Arbeitgeber seinen Mitarbeitern Zeit zur Verfügung stellt, die der Mitarbeiter “frei” gestallten kann. Das Wort frei wird von Unternehmen unterschiedlich interpretiert. Manche Arbeitgeber überlassen die inhaltliche Gestaltung völlig den Mitarbeitern, andere machen leichte Vorgaben. Atlassian erlaubt beispielsweise die Nutzung der Zeit unter der Voraussetzung, dass man diese zur Verbesserung unserer Produkten einsetzt. Was das ist, liegt dann aber in der Freiheit des Mitarbeiters.

 Freie 20-Prozent Zeit

Bei Atlassian haben wir mit einer freien 20-Prozent Zeit gestartet: Jeder Mitarbeiter legt selber fest, wann er seine sogenannte Slack-Time nutzt, nämlich dann, wann es ihm am Besten passt. Das gleiche Modell hat beispielsweise auch Google… und scheinbar auch die gleichen Probleme, die wir bei Atlassian beobachten konnten: Mitarbeiter in Entwicklungsteams haben ihre Slack-Time nur zu 50% genutzt… also eher eine 10%-Zeit. Woran liegt das? Wichtige Key-Programmierer bei Google, die an Unternehmens- und Produktschnittstellen arbeiten, nehmen sich meist nicht die Zeit zum Arbeiten an den eigenen Ideen. Bei Atlassian konnten wir beobachten, dass die 20%-Zeit besonders dann nicht genutzt wird, wenn ein größeres Release vor der Tür steht. Die nicht genutzte Zeit holt man dann aber auch meist nicht nach. Auch haben einige Entwickler berichtet, dass sie ihr Team hinsichtlich des Sprintziels nicht im Stich lassen wollen.

 Geplante 20-Prozent Zeit

Mittlerweile sind die Entwicklungsteams bei Atlassian dazu übergegangen, die 20-Prozent Zeit gemeinsam im Team zu planen. Nach 4 Sprints (die jeweils eine Woche bei Atlassian dauern), plant man dann eine sogenannte Innovationswoche ein. Diese Woche kann dann frei von den Teammitgliedern für deren eigenen Projekte genutzt werden. Das bietet den Vorteil, dass es in dieser Woche kein Sprintziel gibt und nicht am Release gearbeitet wird. Man kann sogar ohne Koordinationsprobleme kleine Teams im Team bilden. Bei Atlassian gibt es keine Regel, wann Teams ihre Innovationswochen durchführen, was zur Folge hat, dass nicht alle Teams gleichzeitig ihre 20-Prozent-Zeit nehmen. In dieser Zeit kann also ein Mitarbeiter im JIRA Team nicht an einer Innovation gemeinsam mit einem Mitarbeiter aus dem Confluence Team arbeiten. Dies kam aber auch extrem selten bei uns vor.

 Also alles gut an geplanter Slack Time?

Eigentlich schon, oder? Für Atlassian’s Entwicklungsteams sind Innovationswochen perfekt. Allerdings gibt es auch Teams bei Atlassian, die lose zusammenarbeiten, wie zum Beispiel das Ambassador-Team, in dem ich arbeite. Für uns wäre es ziemlich schwierig eine solche Innovationswoche zu planen, da wir viel auf Events und User Groups unterwegs sind. Für solche Teams ist eine freie 20-Prozent-Zeit sicherlich besser. Es kommt also immer darauf an, wie stark man im Team aufeinander angewiesen ist.

Was ein cooles Event ausmacht

15 Jun

Ich bin im letzten Jahr auf vielen Konferenzen gewesen, das bringt mein Job als Technologie Evangelist so mit sich. Dabei habe ich aber gravierende Unterschiede festgestellt. Es gibt Konferenzen, da geht man nach Hause und denkt: “Das hätte ich mir schenken können”. Und dann gibt es welche, da kommt man gar nicht wieder von los und denkt nur: “Wie cool war das denn?”.

Für mich war der Atlassian Summit dieses Jahr eine der Highlight-Konferenzen (und nicht nur, weil ich für Atlassian arbeite). Die Stimmung habe ich versucht in einem Video einzufangen. Viel Spaß:

Aber was macht denn jetzt wirklich den Unterschied zwischen einer coolen und einer weniger coolen Konferenz aus? Hier meine Top 5:

1. Die Vorträge – weniger ist mehr

Manchmal ist es besser weniger Tracks zu haben, dafür aber ein höhere Qualität. Wenn es mal vorkommt, dass mich von den angebotenen Talks keiner interessiert, ist es vollkommen OK für mich einfach mal Emails zu checken, den Twitter Stream zu verfolgen und mich auf den nächsten Kick Ass Vortrag zu freuen. Ich habe schon zu viele mittelmäßige Vorträge gehört, bei denen ich nach 15 Minuten nicht mehr bei der Sache war. Allerdings gibt es nur wenige Rock Star-Vorträge, die mir noch lange im Gedächtnis geblieben sind. Ach ja, um mal ein Gerücht aus der Welt zu schaffen: Gute Präsentationen haben nicht unbedingt mit der Berühmtheit des Vortragenden zu tun. Es kann ein Indiz sein, muss aber nicht.

2. Der Ort – Zahnärztekongress oder Geek-Festival

An manchen Orten von Konferenzen fühlt es sich an wie auf einem Zahnärztekongress: Staubig, langweilig, verklemmt. Das hängt meiner Meinung nach nicht mit den Teilnehmern zusammen, sondern direkt mit dem Veranstaltungsort. Ich kann auch nicht sagen, dass Kongresszentren grundsätzlich besser sind als Tagungshotels. Allerdings:  Es sind öfter die Tagungshotels, die zwar eine super Küche bieten, manchmal aber auch Vortragsräume mit dem Charme der 70er oder 80e.  Es kommt auch darauf an, dass die Vortragsräume nicht zu weit auseinanderliegen, so dass man Teilnehmer zwischen den Talks wiedertrifft, um eine spannende Unterhaltung fortzusetzen. Ein eindeutiges Negativbeispiel ist die JavaOne! Staubige Hotelräume, verteilt auf 3 Hotels, extrem lange Wege, viele Flure, schlechte Übersicht.

3. Die “Ruhezonen” – abseits des Getümmels

Aussteller sind wichtig, um eine Konferenz auf die Beine zu stellen. So ein Event kostet halt viel Geld und ist ohne Sponsoren nicht durchzuführen. Es ist auch interessant, sich mit dem ein oder anderen Softwarehersteller oder Serviceanbieter direkt zu unterhalten. Allerdings sollte es auch Rückzugsräume geben, an denen man ungestört mit anderen Teilnehmern reden oder kurz mal arbeiten kann, da der Geräuschpegel im Ausstellungsraum meist sehr hoch ist. Ich finde Konferenzen richtig cool, die in Themenbereiche unterteilt sind und wo man sich mit den Experten nach deren Talks dort treffen kann.

4. Abendveranstaltung – Party like it’s 1999

Ich bin zwar immer ziemlich fertig nachdem ich einen ganzen Tag auf einer Konferenz verbracht habe. Allerdings schätze ich es auch, wenn die Organisatoren noch ein Abendprogramm anbieten. Bei einem Bier und einem Snack, kann man sich noch einmal gut über das am Tag gehörte austauschen und Plänen schmieden, wie man die neuen Erkenntnisse in die tägliche Arbeit einfließen lässt. Besonders cool finde ich es, wenn die Organisatoren es schaffen, die Star Sprecher des Tages auf die Abendparty zu bringen. Es lässt sich doch viel ungezwungener bei einem Drink in der Hand fachsimpeln.

5. Die Details

Es kommt auf die Kleinigkeiten an. Hier ein paar Beispiele

  • Ich liebe Badges mit aufgedrucktem Programm
  • Mobile Apps mit Programm und Raumplan gehören zum Glück mittlerweile zum Standard
  • WLAN, dass auch in einer Pause nicht zusammenbricht
  • Wenn man etwas schief läuft: Schnelle Reaktion anstatt zu sagen :”Nächstes Jahr machen wir es besser”
  •  Keynotes ohne oder mit sehr guten interessanten sponsored Talks
  • den ganzen Tag kostenlos Kaffe und Softdrinks
  • und die Kleinigkeiten eben…

Video: Softwareentwickler müssen lernen, lernen, lernen

12 Jun

Als Softwareentwickler müssen wir ständig dazulernen. Wir haben uns halt einen Job ausgesucht, der sich schnell verändert.

Vor 12 Jahren hat man mir beigebracht, dass man erst Pseudocode schreiben soll. Das ist Code, der eigentlich kein Code ist, da er nicht ausgeführt werden kann und lediglich dem Verständnis dient, was der Code macht. Mir wurde also beigebracht, erst Kommentare zu schreiben, bevor man den eigentlichen Code programmiert. Das führt dazu, dass man zur jeden Programmzeile auch einen Kommentar mit Pseudocode hat. Dies war bestimmt wichtig, als man noch hauptsächlich Assembler programmiert hat und nur die Freeks sofort verstanden haben, was der Quellcode eigentlich macht. Heutzutage schreibt man so wenig Kommentare wie möglich. Der Code soll sich durch intelligente Variablenbezeichnung und einfache Programmierweise selbst beschreiben, oder man nutzt eine DSL um den Pseudocode direkt in ausführbaren Code umzuwandeln. Hätte man sich nicht umgeschaut und gesehen was andere Programmierer so machen oder welche Entwicklungen es im Bereich Softwareentwicklung gibt, würde man heute noch denken, dass Pseudocode eine super Idee ist. Zugegeben: Man hätte schon ziemlich ignorant sein müssen.

Nun ist es so, dass man nicht immer Zeit hat, sich die neusten Artikel und Bücher durchzulesen, auf User Group Treffen abzuhängen oder Konferenzen zu besuchen. In dem Video “Feed your Brain” aus meinem Talk “7 Dinge: Wie man gute Teams großartig macht” gebe ich ein paar Tipps, wie man es dennoch schaffen kann, mit Coding Sessions und Brown Bags weiter auf dem Laufenden zu bleiben.

Follow

Get every new post delivered to your Inbox.

Join 26 other followers