Seiten

Mittwoch, 2. Juni 2010

ALM – ab welcher TeamGröße lohnt es sich?

Bei der Diskussion über Application Lifecycle Management (beispielsweise, aber nicht zwingend auf Basis von Microsoft Visual Studio 2010) taucht immer wieder die gleiche Frage auf: Wann ist ein Team groß genug, damit es sich lohnt über ALM nachzudenken?

Die Antwort ist eigentlich relativ einfach. Mindestteamgröße: 1 Person. Es lohnt sich also immer. Und überall. Mag sein, dass es unglaubwürdig scheint. Ein Beispiel folgt sogleich. Wichtig ist vorab eines zu beachten: ALM ist nicht gleich ALM. Entscheidend ist, dass man sich über die Prinzipien von ALM im Klaren ist – dann kann man sich die Stücke rauspicken, die einen weiterbringen.

Ein Beispiel aus meinem eigenen Erfahrungsschatz

Als jemand, der beruflich mit SW-Entwicklung zu tun hat, ist man ja Ansprechpartner Nummer eins für die ganze (potentiell sehr große) Verwandtschaft und Bekanntschaft, wenn es darum geht “nur ganz schnell” mal “eine kleine” Website zu basteln. Und weil man ja nicht so sein will, sagt man eben mal “Ja” und tut’s. Das Basteln von privaten Homepages entspricht in vielerlei Hinsicht der Entwicklung einer kommerziellen Software. Größter und vielleicht einziger Unterschied ist: Der Ersteller sieht dafür kein Geld. Der Rest verläuft eigentlich wie immer …

Alles wie immer

Ihr glaubt es nicht? Hier ein Auszug…

1. Der Auftraggeber hat am Anfang überhaupt keinen Plan, was er überhaupt will. Fest steht allerdings, dass die Website am Ende supersexy sein muss.

2. Der Auftraggeber weiß noch nicht mal wofür er die Website eigentlich will. Es ist also vollkommen unklar, ob er ein Gästebuch, ein Fotoalbum oder irgendeine Art User-Authentifizierung braucht. (Oder nichts von alledem.) Klar ist nur: Am besten alles mal einbauen, damit er danach sagen kann, dass er’s doch nicht will.

3. Der Auftraggeber hat keinen Schimmer von der Technik. Es hilft nix irgendwas zu erklären. Das einzige was den Auftraggeber dazu bringen wird irgendwann mal zu sagen “Gut” oder “Schlecht” ist, wenn er die fertige Seite vor sich hat und feststellt, was überflüssig ist.

Entscheidet selbst, inwieweit das Euren Erfahrungen aus dem “echten” Berufsleben entspricht…

Die Anforderungen

Um sich das Leben nicht unnötig schwer zu machen, müssen wir nach gesundem Menschenverstand unter Berücksichtigung der obigen Punkte ungefähr folgendermaßen vorgehen, um zum Ziel zu kommen.

1. Den Auftraggeber frühzeitig in die “Lösung” einbinden.
2. Feedback ermöglichen und strukturiert sammeln und ebenso strukturiert abarbeiten.
3. Eine Möglichkeit finden, dem Auftraggeber heute nachzuweisen, dass er die Meinung von vorgestern gestern verworfen und heute wieder für gut befunden hat.
4. Aus genau diesem Grund eine Möglichkeit schaffen, den Quellcodestand von gestern wieder herzustellen – und dann auch zu wissen, was da eigentlich schon implementiert war.
5. Sich Schritt für Schritt vortasten.
6. Die Übersicht bewahren. Das heißt, genau wissen was erledigt ist, was wichtig ist, was nichtig ist.

Moment. Das klingt doch irgendwie nach ... irgendeiner Art Arbeitspaketverwaltung jenseits von Post-Its und Emails und vielleicht sogar iterativem Vorgehen? Nach Nachverfolgbarkeit und Reproduzierbarkeit?

Die Lösung

Struktur in den Arbeitspaketen? Workitems! Feedback? Workitems! Requirement Tracking? Workitems! Und schon sind wir mittendrin in der wunderbaren Welt von ALM. Und am Rande: Die Technologie des Produkts ist uns zu diesem Zeitpunkt noch absolut egal!

Das Beispiel ist übrigens nicht frei erfunden, sondern ich bin tatsächlich dazu übergegangen auch im Privaten (im konkreten Fall ein PHP-Projekt) mit Workitems und Team Foundation Server 2010 als ALM Plattform zu arbeiten.  Die sieht zwar nicht zwangsweise der “Kunde”, ich pflege die  gesammelte Information selbst in den TFS ein. Meine Erfahrung bisher: Alles supi. Übersicht ohne Ende. Kein Stöbern mehr in alten Mails, kein Wühlen in Post-Its oder anderen Zettelwirtschaften. Und gleichzeitig die hervorragende Möglichkeit Quellcodeänderungen auf Workitems zurückzuführen. Durchgehendes Nachverfolgen von Anforderungen im TFS  - klingelt da was?  Ich musste auch keinen separaten Server installieren: Microsofts TFS Basic läuft auch unter Windows 7 und Windows Vista. Sonst noch Wünsche?

Natürlich ist Workitem Management und Quellcodeverwaltung nicht alles, was ALM ausmacht. Es ist vielmehr nur der Anfang - aber das schöne ist ja: Man braucht nicht immer gleich alles. Ich zum Beispiel muss mir bei meinen privaten Projekten kaum Sorgen machen über Termine. Sie werden fertig, wenn sie fertig werden. Dafür sind sie auch privat.

Das ist in den wenigsten anderen Fällen so. Wenn im Privaten unter diesen “weichen” Rahmenbedingungen allerdings schon der Nutzen spürbar ist, alleine dadurch, dass ich eine Quellcodeverwaltung und ein anständiges Workitem Management etabliert habe und mir Gedanken über die Qualität meines Codes mache – wie hoch darf man dann erst den Nutzen ansetzen, wenn es wirklich ums Geld geht? Und um’s Geld geht’s nun mal, sobald ein Entwickler das Entwickeln anfängt.  

Vielleicht ändert sich das irgendwann bei mir auch einmal und meine privaten Projekte müssen plötzlich höhere Anforderungen erfüllen. Dann nehme ich eben noch die Planungskomponente des TFS auf Basis von Excel und Project dazu. Oder ich möchte noch wertvolles und aktuelles Reporting – das wird spätestens wichtig, wenn es um Geld und Zeit geht. Oder ich lass mal ein bisschen automatisiert die Web-UIs testen, um Zeit zu sparen und gegen Regression gefeit zu sein. Muss ich dann auf eine neue ALM Plattform? Nein, mein TFS bringt’s mit und ich aktiviere es, wenn ich es benötige. Check-In Policies um die Qualität oben zu halten? Oh, ganz vergessen: Hab ich eh schon eingeschalten… hilft mir ja selbst am meisten. Und wenn man den TFS sowieso schon nutzt, bekommt sie ja ohnehin geschenkt…

Fazit

Wie gesagt: Mindestgröße ist 1 Person. Schon da kann es sich spürbar lohnen. Und spürbar heißt, dass die Beteiligten leichter/schneller/besser  arbeiten können. Verundet oder verodert. Man braucht nicht immer alles, was irgendwelche Tools hergeben. Man entscheidet selbst, was weiterhilft. Aber wissen muss man schon was es noch gibt und was noch geht. Sonst weiß man ja auch nicht, was man beruhigt weglassen darf…

Keine Kommentare:

Kommentar posten