Archive | December, 2011

Motivation für Softwareteams VII – Spaß haben und Gutes tun

23 Dec

Dies ist offensichtlich der letzte Teil meiner Blog-Serie über Mitarbeiter-Motivation. Wenn man keinen Spaß mehr an und auf der Arbeit hat, nützen die besten Motivationstipps nichts.

Lachen erwünscht

Wir bei Atlassian strengen uns täglich an, für unsere Kunden die besten Entwicklertools der Welt zu bauen. Manchmal sollte man aber auch mal einen Schritt von der Tastatur zurücktreten und einfach mit Kollegen zusammen Spaß haben. Wir sind ja nicht nur Nerds und können auch feiern (na ja, manche von uns sind wirklich nur Nerds). Durch solche Events wird die Arbeit auch nicht langweilig. Hier einige Beispiele, die die Arbeit bei Atlassian zu etwas besonderen macht:

  • eine Wii steht an jedem Standort den Mitarbeitern zur Verfügung, um sich mal von einem Problem abzulenken
  • die End Of Fiscal Year (Geschäftsjahresabschluss) Parties sind legendär (ein kleines Video davon?)
  • we’re ballin … a lot. Ob Tischtennis, Basketball oder Fußball. Wir spielen Ball, (fast) alle zusammen (auch hier ein kleines Video?)
  • wir lassen keinen Anlass aus, um zu feiern: Halloween, Thanksgiving oder der Melbourne Cup
  • und natürlich Spontan-Treffen und Hackathons in der Küche, da jemand meint, die neuen Google-Dart Features seien Übercool

Tu Gutes

Man fühlt sich so richtig gut, wenn man eine gute Tat vollbracht hat. Warum immer nur für die Gewinnmaximierung der Aktionäre schufften? Man kann doch auch einmal im Jahr die Arbeitskraft für die gute Sache einsetzen. Beispielsweise den Strand aufräumen, die örtliche Tafel unterstützen oder der Behindertenwerkstatt bei einem Ausflug behilflich sein. In Ihrem Unternehmen undenkbar? Schade! Aber hier ist etwas, dass wirklich jeder machen kann: Movember! Lassen sich sich einen Monat lang einen Schnäuzer wachsen und sammeln Sie Spenden zur Bekämpfung von Postatakrebs ein! Atlassian spendet 5 Arbeitstage je Mitarbeiter im Jahr für wohltätige Zwecke. So sind die Mitarbeiter direkt an den wohltätigen Aktionen des Unternehmens beteiligt. Gutes zu tun und für ein Unternehmen zu arbeiten, das dies unterstützt, hebt die Stimmung und Motivation am täglichen Job.

Ein Appell zum Schluss

Ich hatte eigentlich an dieser Stelle vor, einen Appell an die Manager von Softwareteams zu schreiben. Letztendlich können sich aber heutzutage gute Softwareentwickler Unternehmen aussuchen, bei dem Sie arbeiten wollen und mit dem sich der Programmierer identifizieren kann. Unternehmen, die sich nicht um die Motivation ihrer Entwickler kümmern, haben oft ein hohe Fluktuation, oder können ihre Innovationsträger nicht halten. Ein Appell möchte ich lieber an die Entwickler richten: Es ist euer Job, neue Ideen zur Motivationssteigerung durchzusetzen. Fast alle Motivationstipps in meiner Blogserie können auf unterster Managementebene durchgesetzt werden. Geht also zu eurem Teamleiter und sagt, dass ihr nächsten Freitag einen FedEx Tag durchführen wollt, jeden Montag Mittag zu einem Brown Bag trefft und zwischen 13:00 und 16:00 Uhr nicht gestört werden wollt, um in den Flow zu kommen. Am Ende bekommt das Unternehmen motivierte Mitarbeiter und die Entwickler einen motivierenden Arbeitsplatz.

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 6: 20% Zeit

Motivation für Softwareteams VI – 20% Time

21 Dec

Google hat es berühmt gemacht, 3M hat es in den 70ern erfunden und Atlassian macht es seit mehr als 3 Jahren: Die 20% Zeit. Hier bekommt jeder Entwickler bei Atlassian die Möglichkeit einen Tag in der Woche, sich um sein eigenes Projekt zu kümmmern, das man sich selbst aussuchen kann. Das war am Anfang ein großes Risiko, da wir nicht absehen konnten, ob sich so etwas irgendwann mal auszahlt oder ob die Mitarbeiter die Zeit mit Projekten verbringen, die zu nix führen. Wir geben also jährlich $USD 4,000,000 für unsere 20% Zeit aus. Ja richtig! 140 Ingenieure arbeiten an Projekten, von denen wir nicht wissen, ob diese irgendwann mal einen Nutzen für uns haben.

Warum machen wir das?

Wir legen keine Ziele fest, was in der 20% Zeit erreicht werden sollte. Es geht hierbei darum, die Innovation zu steigern. Diese kann man aber nicht messen, bzw. als Ziel festlegen. Wir haben so viele coole Ideen aus unseren FedEx Days bekommen. Es entstehen dadurch aber keine fertigen Produkte, es sind lediglich halbfertige Prototypen, die aus FedEx Days entstehen. Wir haben uns Gedanken gemacht, wie man diese Protoypen in ein Produkt bringen kann, ohne dass Entwickler abgezogen werden. Diese innovativen FedEx Prototypen müssen meistens nicht innerhalb einer bestimmten Zeit auf den Markt gebracht werden. Diese Features oder Produkte sind also predestiniert dafür, als 20% Zeit Projekt weitergeführt und verfeinert zu werden.

20% Zeit Regeln

Ja, ein paar Regeln müssen sein: Ein Projekt sollte nicht zur Tarnung dienen, eine neue Programmiersprache oder Technologie ausprobieren zu wollen. Hier einige Ideen, was bei uns als “gutes” Projekt gilt:

  • Open Source Projekte, die auch Atlassian weiterhelfen
  • Fehler, die einen schon lange nerven
  • Features,die unsere bestehende Software verbessern, ohne das Kunden dies angefragt haben oder die es nicht auf die Roadmap geschafft haben
  • “Proof of Concept” für ein neues Produkt
  • oder einfach endlich mal die Architektur verbessern

Auch kann man gerne als kleines Team an einem Projekt arbeiten. 20% Zeit Projekte dürfen auch fehlschlagen. Es geht bei dieser Zeit darum, etwas innovatives mit Risiko auszuprobieren, da ist es klar, dass die Idee auch mal nicht umzusetzen ist. Allerdings verfolgen wir auch den Fortschritt von 20% Zeit Projekten, um den Erfolg dieser Innovation messen zu können. Ein neues Projekt für diese Zeit zu beantragen , ist so einfach, wie ein Urlaubsantrag ausfüllen (was in manchen Unternehmen vielleicht auch schon gar nicht so einfach ist). Auch andere Bereiche machen bei 20% Zeit Projekten mit: Von Marketing über HR bis zur technischen Dokumentation!

Das Ergebnis

Jeden Monat laden wir zu einem Lunchtalk ein und Mitarbeiter können ihre Monatsergebnisse der eigenen 20% Zeit Projekte vorstellen. Dabei ist dies aber keinen Falls verpflichtend. Jeder kann während dieses Meeting aufstehen und seinen Fortschritt vortragen aber keiner muss. Es gibt allerdings zwei weitere Regeln, damit Kollegen nicht unendlich viel Zeit in ein 20 % Zeit Projekt versenken. Nach 5 Entwicklertagen, müssen 3 Supporter für das Projekt gefunden werden. Dieses können Kollegen aus anderen Projekten sein, die aber einen Wert in der Weiterverfolgung des Projektes sehen. Nach 10 Entwicklertagen müssen Mike & Scott (Atlassian’s Gründer) für das 20% Zeit Projekt unterschreiben.

Unser Erfolg

Statistiken haben ergeben, dass 20% Zeit Projekte 30% effektiver sind als Projekte des normalen Tagesgeschäfts. Wir haben zumindest so viel Erfolg damit, dass wir uns ein Leben ohne die innovative
“Auszeit” nicht mehr vorstellen können. Hier eine Liste von erfolgreichen 20% Zeit Projekten, die es bis in das Produkt geschafft haben:
- Wallboard Gadget für GreenHopper Rapid Board
- Bereichsverzeichnis in Confluence
- Bonfire
- JIRA Mobile Connect
- Atlassian OnDemand
- Netzwerk-Aktivitätsstrom in Confluence 4.1

Der größte Erfolg ist aber, dass Mitarbeiter mehr Spaß haben, da sie Ihre eigenen Ideen umsetzen dürfen. Sie sind motiviert und das auch in ihrer restlichen 80% Zeit! Wie oft wollte ich vor meiner Atlassian Zeit etwas an der Software ändern, hatte aber nie Zeit dazu.
Mehr über 20 Prozent Zeit bei Atlassian, gibt es auch auf unserem Blog.

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams V – FedEx Days

19 Dec

FexEx days wurden bei Atlassian erfunden. Viele unserer Produkte wie Team Calenders, Bonfire oder JIRA Mobile Connect entstammen einem FedEx Day. Wirklich alle profitieren davon: Das Unternehmen bekommt neue Ideen für Produkte geliefert, die Mitarbeiter einen Tag in dem sie ausprobieren können, was sie schon immer machen wollten. Aber fangen wir erst mal mit den Basics an:

Was ist ein FedEx Day?

An Atlassian’s “FedEx Day” nehmen sich Entwickler Zeit, sich mit irgend etwas zu beschäftigen, was (auch entfernt) mit unseren Produkten zu tun hat. Typerscherweise starten wir an einem Donnerstag Mittag, arbeiten bis 15:00 Uhr am Freitag und präsentieren dann das Ergebnis dem gesammten Unternhemen. Dies bedeutet also, dass man 24 Stunden Zeit hat, sein Ergebnis abzuliefern – daher auch der Name FedEx Day.

Die Ziele von FedEx sind:
- Kreativität fördern. Atlassian stellt eine Menge schlauer Köpfe ein. Es wäre dumm, diese nicht zu nutzen
- Jedem Entwickler stört etwas an unserem Produkten oder möchte sehen, dass es was bestimmtes tut
- Oft bekommen radikale Ideen nicht die notwendige Aufmerksamkeit, da viele den Nutzen daran nicht erkennen
- Spaß haben. Darf man ja auch mal auf der Arbeit ;-)

Planung ist die halbe Arbeit

FedEx Days werden bei Atlassian gründlich vorbereitet. Auch wenn es sich danach anhört, dass man sich einfach nur eine Lösung überlegt und loscoded, hilft es, das ganze gut vorzubereiten. Im Vorfeld machen sich die Entwickler schon mal Gedanken, wie sie ein Problem lösen wollen, zeichnen MockUps und untersuchen Technologien. Zu jedem FedEx Day wird ein Organisator bestimmt, der 2-3 Meetings bei Pizza und Bier einberuft, um sich über Ideen für Projekte zu einigen.

Den Gewinner feiern

Am Ende jedes FedEx Days werden die Ergebnisse des 24 stündigen Hackathons den anderen Teilnehmener vorgestellt. Dann wird ein Gewinner gekührt, der eine Trophäe und ein T-Shirt erhält und bis zum nächsten FedEx Day mit dem Titel angeben darf. FedEx Days werden bei Atlassian in jeder Nierlassung auf der ganzen Welt abgehlaten. Letztes Jahr sind die Gewinner der letzten 4-5 FedEx Days dann zu einem FedEx Day World Cup angetreten.

Was passiert mit den tollen Ideen?

Einige Ergebnisse von FedEx Days haben es schon in unsere Produkte geschafft. Beipsielsweise die Plattform für unseren OnDemand Service oder die Vergleichsansicht in Fisheye. Natürlich ist es toll, wenn sich ein Projekt aus einem FedEx Day in einem unserer Produkte wiederfindet. Es geht aber vielmehr bei dem Ereignis darum, miteinander Spaß zu haben und seiner Leidenschaft nachzugehen.

Gut für Ihr Unternehmen?

Bei uns funktionieren FedEx Days super. Aber auch wir ändern ständig etwas am Konzept. Wir benutzen dazu eine Seite im unseren internen Confluence Wiki. Nachdem ich mir die Seite mit den Verbesserungsvorschlägen durchgelesen habe, konnte ich feststellen, dass sich die meisten Verbesserungen um die Pizzabestellung drehen – ein wichtiger Bestandteil von FedEx Days.

Andere Unternehmen wie Sonar6, Adobe, Yahoo und Xing haben so etwas wie FedEx Days durchgeführt. Dank Dan Pinks TED Talk sind FedEx Days bekannter geworden. Hier das Video mit Illustrationen dazu.

Mehr über FedEx Days gibt es auf unserer Webseite.

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 4: Brown Bags

Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams IV – Brown Bags

16 Dec

Kontinuierliches Lernen sollte bei jedem Softwareentwickler zur Arbeit dazugehören. Jetzt weiß ich auch, dass dies bei der täglichen Projektarbeit schnell mal vergessen wird. Auch liegen die Prioritäten meist eher beim Tagesgeschäft als bei der perspektivischen Weiterentwicklung. Selbst wenn der Chef nichts gegen Weiterbildung hat, gibt es immer wichtigere Aufgaben, Deadlines und Präsentationen für Vorstandsmeetings. Dazu kommt dann noch, dass mancher Mitarbeiter einfach nicht aus seinem Saft rauskommt und freiwillig kein Fachbuch in die Hand nimmt. Man sollte sich dann natürlich erst mal fragen, ob das der richtige Job für ihn ist, aber das ist ein anderes Thema. Brown Bags kann diese Mitarbeiter motivieren, mal etwas Neues auszuprobieren und wer weiß, vielleicht platzt ja bei einigen Kollegen der Knoten sich doch beispielsweise einmal mit dem Play-Framework zu beschäftigen.

Präsentationen zum Mittag

Brown Bags sind eine tolle Form von Wissenstransfer im Team und im Unternehmen. Man trifft sich zum Mittag gemeinsam in einem Meetingraum und ein Mitarbeiter hält eine Präsentation über eine neue Technologie, Programmiersprache oder neue Arbeitsmethode. Dabei nimmt man sein Essen mit – in einer braunen Tüte, daher der Name Brown Bag. Es wird also keine Arbeitszeit verbraten. Man kann sich eventuell auch einen solchen Lunch mit Brötchen oder Pizza vom Unternehmen sponsern lassen. Allerdings gehört dazu immer ein Präsentator, der ein Thema vorbereitet. Auch das kostet Arbeitszeit. Brown Bags haben gegenüber Expertenpräsentationen den Vorteil, dass die Hemmschwelle Fragen an den direkten Kollegen zu stellen natürlich geringer ist. Man sieht nicht gleich wie ein Idiot aus, wenn man die grundlegende Idee nicht ganz verstanden hat. Die Diskussion wird dadurch gefördert und das ist der beste Weg etwas Neues zu lernen.

Synergien nutzen

Oft bietet es sich auch an, mit anderen Unternehmen gemeinsam Brown Bags, Coding Dojos oder Open Spaces zu veranstalten. Man schmort somit nicht in seinem eigenen Saft. Man kann mit einem solchen Zusammentreffen viel von dem anderen Partner lernen.

Keine Idee/Zeit für Präsentationen

Manchmal fehlt einfach die Zeit oder eine gute Idee für eine Brown Bag-Präsentation. Hier kann man sich Konferenz-Talks anschauen. Ich habe mein Team alle 14 Tage 3 Talks zum Abstimmen gegeben. Den Talk mit den meisten Stimmen haben wir uns freitags nachmittags gemeinsam angeschaut und danach darüber diskutiert.

Gar keine Vorbereitungszeit braucht ein Unternehmens-Open Space. Hier schlägt man einfach Themen vor, über die diskutiert und gemeinsam recherchiert werden kann. Meist kostet diese Art des Treffens ein wenig mehr Zeit, da es keinen „Experten“ gibt. Ein solches Vorgehen hat aber den Vorteil, dass man sich das Ergebnis selbst erarbeitet hat, anstatt es nur präsentiert zu bekommen.

Eine Coding-Session ist das Gleiche für Software. Man trifft sich meist abends bei Pizza und Bier, um ein paar Zeilen Code zu hacken. Dabei kann man neue Technologien oder Programmiersprachen ausprobieren. Das macht richtig Spaß. Man sollte sich allerdings ein kleines Projekt aussuchen, damit man einen reellen Bezug bekommt.

Auf alle Fälle sind selbst organisierte Treffen eine tolle Möglichkeit, der täglichen Projektarbeit zu entkommen und sich mit neuen Ideen zu beschäftigen. Dies motiviert unheimlich für die tägliche Arbeit. Ich habe mich immer sehr darauf gefreut, mal ein paar Zeilen abends in JavaFX zu hacken, ohne dass dies eine Relevanz für meine tägliche Arbeit hatte.

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 5: FedEx Days
Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams III – Anerkennung

14 Dec

Wie motiviert man Programmierer? Mit einer besseren Bezahlung? Mit einem Bonus? Wie lange hält eine solche Motivation an? Bei mir ca. ein Monat. Dann habe ich entweder mit dem Bonus gerechnet oder mich an die höhere Bezahlung gewöhnt. Es hat in meinem Arbeitsleben dann keine Rolle mehr gespielt. Auch habe ich mich eher mit Zielen beschäftigt, die mich und mein Team vorangebracht haben, obwohl diese nicht in meiner Zielvereinbarung standen. Es kommt noch dazu, dass Ziele meist nur einmal pro Jahr festgelegt werden. Somit verliert man das Ziel schnell aus den Augen. Ich habe am Ende des Jahres immer meine Zielvereinbarung rausgeholt und über die alten Ziele geschmunzelt, die nicht erreicht wurden, allerdings auch nicht mehr wichtig für das Unternehmen waren.

Aber genug über Motivation durch Bezahlung und Zielvereinbarungen. In diesen Teil meiner Blog-Serie geht es um Anerkennung. Meiner Meinung nach, der beste Motivator. Dabei unterscheide ich zwischen Anerkennung durch Kollegen und dem Gefühl in einem selbst, eine Aufgabe gemeistert zu haben.

Das Risiko eingehen

Ich habe schon oft erlebt, dass ich den Mund sehr voll genommen habe, um eine neue Technologie oder eine andere Idee in die Realität umsetzen zu dürfen. Wenn ich also bei meinem Chef war und ihm von einer meiner Ideen überzeugt habe, bin ich danach wieder an meinem Schreibtisch zurückgekehrt und habe gedacht: „Ach du meine Güte… jetzt musst du das tatsächlich abliefern…“ Auch wenn ich von der Idee überzeugt war.  Dann habe ich mich natürlich ziemlich reingehängt, um auch das tatsächlich versprochene Produkt abzuliefern. Wenn ich es tatsächlich geschafft habe, war das Gefühl überwältigend. Wenn ich es nicht geschafft habe (und das war viel seltener der Fall), habe ich mir zwar eine blutige Nase geholt, aber ich habe  immer daraus gelernt und trotzdem meinen Job behalten. Diese innere Anerkennung nach einem Erfolg ist der größte Motivator immer wieder mal, etwas Neues auszuprobieren.

Anerkennung durch andere

Wir bei Atlassian verteilen regelmäßig Kudos. Das ist eine Anerkennung, wenn ein Kollege etwas besonderes gemacht hat. Man kann Mitarbeiter bei uns über JIRA für Kudos eintragen. Jeder Mitarbeiter hat die Möglichkeit 2 mal im Jahr einen Kollegen für Besonderes zu nominieren. Dabei handelt es sich nicht immer über besonders gute Arbeitsleistungen. Hier ein paar Beispiele, wofür Atlassianer Kodus bekommen haben:

Die Mitarbeiter, die Kudos erhalten haben, werden im Atlassian Intranet veröffentlicht und bekommen eine kleinen Preis – beispielsweise eine Flasche Wein oder Karten fürs Kino. Der Unterschied zum Mitarbeiter des Monats (den ich sehr demotivierend finde), ist der, dass jeder Kollege was besonderes machen kann. Nicht nur die Rock Star Programmierer! Zusätzlich ist es von Vorteil, dass das Management nicht beteiligt wird (Obwohl man einen Manager auch Kudos geben kann :-) ). Dies funktioniert natürlich nur in einer freundlichen Arbeitsumgebung, bei der jeder jeden respektiert und sich auch über den Erfolg anderer freuen kann.

Ein System im Unternehmen zu schaffen, das besondere Leistung hervorhebt und diese publik macht ist ein guter Motivator. Dabei sollten nicht die großen Unternehmensziele im Vordergrund stehen, sondern vielmehr die kleinen Dinge. Diese machen die tägliche Arbeit besonders. Unerwartete Anerkennung von anderen zu bekommen, ist ein tolles Gefühl und motiviert für mehr. Also, sagen Sie öfter: Kudods dafür!

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams II – Unterbrechungen

12 Dec

Nichts demotiviert einen Softwareentwickler mehr, wenn man nicht zum Programmieren kommt. Wir sind Programmierer und wollen nicht ständig unterbrochen werden oder unsere Zeit in nicht relevanten Meetings verbringen. Dieser Teil meiner Blog-Serie handelt also darum, dass Entwickler wieder mehr Zeit bekommen, sich um den Code zu kümmern. Mich hat es als Team Leiter mit Entwicklungsanteil immer wieder motiviert, sich wirklich einen Tag lang um den Code zu kümmern. Das macht Spaß!

It is Coding Time!

Hiermit schließt man einfach die gesamte Softwareentwicklung gegen Störungen für ein paar Stunden am Tag. Während dieser Zeit kann man sich dann ausschließlich ums hacken kümmern. Telefongespräche sollten während dieser Zeit vermieden und die Telefone auf Stumm geschaltet werden. Ein Schild an der Tür weist darauf hin, dass Störungen nur im Notfall gestattet sind. Auch kann ich empfehlen, während dieser Zeit das Emailprogramm zu schließen. Kann eine Diskussion mit einem Kollegen nicht bis nach der Codezeit warten, sollte man sich außerhalb der Coding-Area unterhalten, um andere Mitarbeiter bei Ihrer Konzentration nicht zu stören.

Wie denkt das Management oder andere Abteilungen darüber, wenn spontane Ideen nicht mehr sofort an die Programmierer rangetragen werden können, oder dass eine Anfrage maximal 3 Stunden liegenbleibt? Ich habe die Erfahrung gemacht, dass darauf positiv reagiert wird. Andere Abteilungen oder auch der Chef selber würden auch gerne eine Zeit einführen, in der sie ungestört arbeiten können. In der Anfangsphase braucht es ein wenig dicke Haut, um Kollegen auf die Codingzeit hinzuweisen. Aber nach ein bis zwei Wochen hat jeder diese Zeit am Tag für sich abgespeichert. Man weiß, dass man die Softwareentwicklung während dieser nicht ansprechen kann.

Was die beste Zeit am Tag ist und wie lang diese Zeit sein sollte ist natürlich sehr individuell. Bei uns hat sich die Zeit nach dem Mittag bis 16:00 als sehr praktikabel erwiesen,  da man schon alle wichtigen Emails beantwortet hat und  das Stand Up schon gelaufen ist.

Und dann? Programmieren, in den Flow kommen und mal richtig was schaffen!

Der, der den Hut auf hat!

Eine andere Möglichkeit, Unterbrechungen zu vermeiden, ist die Rolle des Ansprechpartners. Hier wird ein Mitarbeiter ausgewählt, das Team zu repräsentieren. Alle Anfragen gehen an ihn. Um den Kollegen für andere Abteilungen als Ansprechpartner sichtbar zu machen, kann dieser einen bestimmten Hut aufsetzen. Er hat dann für den Tag für Supportfragen den HUT auf,  oder man stellt eine Figur oder Trophäe auf den Schreibtisch, die ihn eindeutig als Ansprechpartner ausweist. Am nächsten Tag übernimmt dann ein anderer Mitarbeiter diese Rolle. Das setzt allerdings voraus, dass es im Team keine ultimativen Spezialisten gibt sondern jeder theoretisch den Job des anderen übernehmen kann.

Manchmal kann man nicht alle Fragen selbst beantworten und man braucht den Rat eines Team-Kollegen. Hier kann man dann Anfragen in einem Ticketsystem wie JIRA festhalten und dem Mitarbeiter zuordnen. Dieser kann dann die Anfrage bearbeiten, wann es ihm zeitlich passt.

Nach meiner Meinung können 90% aller Anfragen durch Kollegen warten. Es gibt nur sehr wenige Ausnahmen, bei dem eine Antwort oder Aktion sofort benötigt wird. Nur weil jemand eine gute Idee hat und somit aus seiner Konzentration  gerissen wurde, heißt es nicht, dass er andere stören kann. Wir arbeiten nicht alle an Software für Kernreaktoren, deren Super Gau gerade bevorsteht, wenn wir nicht einen boolschen Ausdruck sofort umdrehen. Endlich Zeit zu haben, sich um den Code zu kümmern, ist für Programmierer ein Supermotivator!

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 1: DogFooding
Teil 3: Anerkennung
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams I – Dogfooding

8 Dec

In der Softwareentwicklung bedeutet Dogfooding, dass Programmierer ihre eigenen Softwareprodukte benutzen sollen. Populär wurde das ganze 1988 durch Microsoft gemacht. Seit dem gibt es diverse Erfolgsstories für Dogfooding.

Selber damit arbeiten

Das Konzept ist einleuchtend: Wenn Programmierer mit den Tools arbeiten, die sie auch entwickeln, sind diese viel schneller genervt von Programmfehlern und diese werden so auch viel schneller gefixt. Zusätzlich weiß man, dass die Software von Kollegen benutzt wird und nicht von einem anonymen Kunden. Dies führt dazu, dass ich mir beim Erstellen und bei der Usibility mehr Mühe gebe. Eine Kritik, die direkt vom Kollegen gegenüber kommt, fühlt sich um einiges realistischer an, als eine Email oder ein Eintrag im Bug-Tracking System. Dogfooding motiviert also Softwareentwickler, ein besseres Produkt zu bauen.

Programmierer als QA?

Selbstverständlich löst Dogfooding nicht die QA ab. Entwickler haben manchmal nicht den gleichen Blickwinkel, wie die tatsächlichen Nutzer der Software. Auch übersieht man gerne Unzulänglichkeiten in der Software, da man das dahinter liegende Framework / Design im Auge hat und weiß wie schwer es ist, die Funktionalität anders umzusetzen. Aber als Ergänzung zur QA ist dies eine tolle Praxis.

Internes Continuous Delivery

Wenn die Software ständig released wird, also die aktuelle Version aus dem Repository häufig auf die internen Produktivserver deployed wird (mindestens wöchentlich, besser häufiger), lernt man frühzeitig die Fallstricke beim Deployment. Man findet ziemlich schnell heraus, wenn ein Datenbankskript nicht funktioniert, oder man eine Konfigurationsdatei vergessen hat. Gleiches gilt natürlich auch für die Funktionalität der Software. Auch wenn man kein externes Continuous Delivery machen kann, erhält man zumindest durch Dogfooding viele Vorteile dieser Methode. Die Feedback-Zyklen verkürzen sich und Probleme können somit schnell behoben werden. Dies geschieht dann meist sehr zeitnah mit der Implementierung der Funktionalität, so dass Entwickler noch genau wissen, wo und wie sie den Code fixen können, ohne lange suchen zu müssen.

Dogfooding bei Atlassian

Wir bei Atlassian arbeiten mit unserer eigene Software, bevor diese unsere Kunden benutzen. Wir steuern (fast) alle Workflows intern über JIRA. Und glaubt mir: Wir sind die härtesten Kritiker! Man findet ziemlich schnell heraus, wenn etwas nicht funktioniert und unser Workflow dadurch gestört ist. Die Entwickler reagieren ziemlich schnell mit einem Fix, da sie natürlich nicht die Arbeit anderer Kollegen stören wollen. Momentan testen wir JIRA 5 auf Herz und Nieren! Da wir Confluence natürlich als unsere Intranet-Software einsetzen, ist das ganze Unternehmen vom Marketing über Human Resource bis hin zur Dokumentation am Dogfooding beteiligt. So also auch bei der Einführung von Confluence 4. Hätten wir die Version nicht selber für 8 Monate getestet, hätten beispielsweise die neuen Autovervollständigungs-Funktionen auf einer deutschen Tastatur nicht funktioniert.

Motivation? Häh?

Klar! Dogfooding motiviert, bessere Software zu bauen und wer will heutzutage kein Continuous Delivery machen und beim Hype dabei sein?

Noch immer nicht motiviert?

Hier gibt’s mehr:

Einführung
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Motivation für Softwareteams

6 Dec

Am Anfang eines Softwareprojektes ist die Motivation des Teams hoch. Jeder Entwickler ist heiß darauf, ein tolles innovatives Produkt zu entwickeln. In dieser Phase hat man sehr viel Spaß und arbeitet eventuell Tag und Nacht, damit das Produkt rechtzeitig auf den Markt kommt. Auch ist der Fortschritt der Softwareentwicklung, also die Produktivität der Programmierer, in dieser Zeit rasant. Neue Ideen und Innovationen können sofort umgesetzt werden und das Team wächst zusammen.

Meist stellt sich dann aber (nach einiger Zeit der Euphorie) der Alltag ein. Wie aber erhält man die Innovation im Team und den Willen ein perfektes Produkt zu bauen, welches Benutzer auch nach Jahren noch mit neuen Features fasziniert?

Motivation 1.0 = fail

Einige Manager glauben immer noch, Mitarbeiter könnten über Bonuszahlungen motivieren werden. Verschiedene Wissenschaftler haben das aber  bereits wiederlegt. Durch Bonuszahlungen werden meist keine Innovationen gesteuert und laut Daniel H. Pink sogar die intrinsische Motivation zerstört. Noch letzte Woche habe ich eine Umfrage gelesen, die eingefahrene Modelle, wie einen Dienstwagen oder ein Handy vom Arbeitgeber als mögliche Maßnahme die Motivation zu steigern, vorgeschlagen haben. Ich finde, dass dies wahrscheinlich einfach für das Unternehmen ist, aber den Mitarbeiter längerfristig nicht innovativer und glücklicher in seiner täglichen Arbeit macht.

Motivation 2.0 = Nicht mehr demotiviert

In den letzten Jahren haben wir durch die Einführung agile Methoden sicherlich schon viel dazu beigetragen, dass Softwareprodukte besser werden und Entwickler zufriedener. Wir haben den Product Owner eingeführt und damit den Anforderer mit ins Boot geholt, um genau das zuerst zu entwickeln, was dem Kunden am schnellsten hilft. Der Entwickler ist motivierter, da er sofort Feedback vom Kunden erhält. Er sieht also schnell, dass seine Arbeit einen Nutzen hat. Durch Iterationen haben wir eine gewisse Planungssicherheit eingeführt und einen Prozess, wie Anforderungen in das Projekt eingekippt werden und man Prioritäten der einzelnen Features schnell ändern kann. Für mich bedeutet Agilität aber noch viel mehr: Sich ständig selbst zu hinterfragen, ob es nicht doch noch besser geht.

Motivation 3.0 = Erfolg

Wir bei Atlassian haben hierzu verschiedene Ansätze ausprobiert, sind auf die Nase gefallen, wieder aufgestanden, haben neue Sachen getestet und auch mal Erfolg gehabt. In einer Blogserie werde ich die Dinge vorstellen, die unsere Entwicklung über Jahre hinweg mit Innovationen bereichert haben.  Unter anderem haben diese Motivations- und Innovationstechniken uns dabei geholfen, einer der erfolgreichsten Hersteller für Entwicklertools der Welt zu werden.

In den nächsten Wochen werde über Methoden schreiben wie

  • FedEx Days
  • 20-Prozent-Zeit
  • Dogfooding
  • Ablenkungen minimieren
  • Brown Bags
  • und noch einiges mehr…

Ich bin kein Motivationscoach, sondern nur ein Softwareentwickler, der gespannt darauf ist, wie man langfristig Programmierer an einem Projekt mit Spaß arbeiten lassen kann und dabei den Drive und die Qualität des Produktes beibehält.

Bereit, motiviert zu werden?

Teil 1: DogFooding
Teil 2: Unterbrechungen vermeiden
Teil 3: Anerkennung
Teil 4: Brown Bags
Teil 5: FedEx Days
Teil 6: 20% Time
Teil 7: Spaß haben und Gutes tun

Follow

Get every new post delivered to your Inbox.

Join 26 other followers