Projekte richtig starten

489 Aufrufe

Veröffentlicht am

Ob ein Softwareprojekt erfolgreich wird oder nicht, entscheidet sich schon fast am Projektanfang. Definition von Projektumfang und Endtermin, zusammen mit der ausgewählten Teamgröße, können das Projekt bereits in Richtung Erfolg oder Misserfolg ausrichten. Sie lernen im Vortrag “Best Practices” für einen guten Projektstart kennen und erfahren die Erfolgsfaktoren, um ein Gewinnerteam zu formen.

Veröffentlicht in: Business
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
489
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Projekte richtig starten

  1. 1. Matthias Bohlen Projekte richtig starten Von Anfang an auf Erfolgskurs Matthias Bohlen, unabhängiger Berater mbohlen@mbohlen.de http://www.mbohlen.de
  2. 2. Matthias Bohlen Agenda
  3. 3. Matthias Bohlen Matthias Bohlen - Profil • Freiberuflicher Berater • Softwareentwicklung • Objekttechnologie • Komponententechnologie • Dienstleistungsangebot • Consulting: Architektur, Methoden • Training: Analyse, Design, Programmierung • Schulungen / Seminare / Workshops
  4. 4. Matthias Bohlen Kunden • Kleine und große Unternehmen • Teams zwischen 7 und 70 Leuten • Starten Softwareprojekte • mit neuen oder unbekannten Technologien • mit unklaren Methoden oder Prozessen • mit engen Terminvorgaben • mit sich schnell ändernden Anforderungen • ohne Architektur bzw. „Bauplan“ • Insgesamt: hoher Beratungsbedarf
  5. 5. Matthias Bohlen Grundlagen
  6. 6. Matthias Bohlen Beteiligte und Interessen Kunden Chefs Entwickler Benutzer Wartungs- personal • Kurze Realisie- rungszeit • Geringe Kosten • Alles im Plan! • Keine Über- raschungen • Erfolgreiches Projekt • Interessante Arbeit • Erforschen neuer Gebiete • Stressarmes Arbeiten • Leben zu Hause • Viele Features • Benutzer- freundlichkeit • Schnelle, robuste Software • Null Fehler • Gute Dokumen- tation • Leichte Änderbarkeit Nach Steve McConnell: Rapid Development
  7. 7. Matthias Bohlen Erfolgreiche Projekte • Wann ist ein Projekt erfolgreich? • Erfolg ist eine Kombination aus… • Das Projekt produziert ein werthaltiges Ergebnis (sprich: lauffähiges System und Dokumentation) • Alle Beteiligten sind zufrieden und möchten am liebsten sofort zusammen das nächste Projekt angehen!
  8. 8. Matthias Bohlen Weg zum Erfolg • Balancieren Sie die Kräfte aus, die aus den Interessen der Beteiligten entstehen • Machen Sie aus jedem Beteiligten einen Gewinner!
  9. 9. Matthias Bohlen Projektdefinition: Kräfte (1) • Projektverlauf = f(s, u, t, q) • s = Teamgröße • u = Funktionsumfang • t = Zeit bzw. Termin • q = Qualität • Vier Parameter, die sich gegenseitig nicht- linear, zeitverzögert beeinflussen!
  10. 10. Matthias Bohlen Projektdefinition: Kräfte (2) • Umfang beeinflusst Zeit • Je mehr Features zu realisieren sind, desto mehr Zeit wird benötigt • Koppelnde Größe: "Schlagzahl" des Teams • Zeit beeinflusst Qualität • Zu knapp gesetzte Zeit: Fehler und Workarounds • Zu großzügig gesetzte Zeit: "Goldene Lösungen", die teuer, komplex oder überflüssig sind
  11. 11. Matthias Bohlen Projektdefinition: Kräfte (3) • Qualität beeinflusst Teamgröße • Gute Leute wollen gute Arbeit abliefern • Leute werden kündigen, wenn die Qualität zu schlecht wird • Zeit beeinflusst Teamgröße • Zeit zu knapp  Entwickler gestresst • Leute werden kündigen, wenn sie zu sehr gestresst werden
  12. 12. Matthias Bohlen Projektdefinition: Kräfte (4) • Qualität beeinflusst Zeit • Je schlechter die Qualität, desto höher der Zusatzaufwand bei Änderungen • Workarounds machen das Entwicklerteam langsamer • Bei schlechter Qualität wird mehr Zeit benötigt
  13. 13. Matthias Bohlen Startvoraussetzungen
  14. 14. Matthias Bohlen Menschen • Qualifikation: Sie brauchen gute Leute! • Pragmatisch und lösungsbezogen arbeitend • Disziplin und Sportsgeist sind essenziell • Führungsqualitäten bei den Managern • Entschlossenheit und Teamgeist bei allen • Und: Ohne den Kunden wird alles nix!
  15. 15. Matthias Bohlen Ziel • Eine Vision, die zieht! • Jeder muss wissen, wo er steht und wo es hingeht • Begeistert auf das gezeigte Ziel hinarbeiten • Business-Case • Geldgeber wollen Geld verdienen • Zeigen Sie ihnen, wie das Geld fließt! • Ziele • genau beschrieben: was wollen wir? • abgegrenzt: was wollen wir eben nicht?
  16. 16. Matthias Bohlen Geld • Nehmen Sie das Geld ohne zu zögern • Zeigen Sie, was Sie damit tun wollen • Planen Sie häufige Releases, um weiteres Budget zu motivieren
  17. 17. Matthias Bohlen Zeit • Sorgen Sie für angemessene Zeit für das Projekt • Zu wenig? • verlangen Sie mehr oder… • schränken Sie den Funktionsumfang ein • Zu reichlich? • Gehen Sie sorgsam damit um • Verhindern Sie "vergoldete" Lösungen • Genießen Sie die überzählige Zeit, um Qualität zu produzieren!
  18. 18. Matthias Bohlen Ort • Orte der Kommunikation • Im selben Zimmer ist optimal • Über den Flur ist schon schlechter • Ins nächste Stockwerk oder Haus? Vergessen Sie's! • Schaffen Sie "Attraktoren", z.B. Espressomaschine! • Geographie beeinflusst Architektur • In zwei Städten dasselbe System entwickeln? • Bauen Sie lieber zwei Systeme und koppeln Sie über definierte Schnittstellen!
  19. 19. Matthias Bohlen Technologien und Tools • Nehmen Sie Technik, die Sie beherrschen! • Planen Sie Zeit für das reine Aufsetzen der Technik ein! • Verlangen Sie Infrastruktur als Service • neue Rechner installieren sollte nicht Ihr Job sein • Sie legen nicht die Schienen, sondern bauen den Zug, der darauf fahren soll!
  20. 20. Matthias Bohlen Erfolgsfaktoren
  21. 21. Matthias Bohlen Kommunikation und Feedback • Das System richtig entwickeln ist eine Sache… • Das richtige System entwickeln eine andere! • Sprechen Sie mit dem Kunden! • Fragen Sie ihn oft genug: "Ist es das, was Du wolltest?" • Holen Sie Feedback ein, sooft Sie können • "Kunde vor Ort" ist ein Erfolgsmuster!
  22. 22. Matthias Bohlen Architektur • Je größer das Produkt und das Team, desto wichtiger ist die Architektur • Ein Gartenhaus schafft man mit 4 Leuten an einem Wochenende, ohne großen Bauplan • Ein Hotel schafft man nur mit vielen Leuten und einem sehr guten Bauplan • Machen Sie Baupläne nicht im Kämmerlein! • Prototypen zur Verifikation • ständige Verbesserung durch Feedback aus der Entwicklung
  23. 23. Matthias Bohlen Zulieferer • Ihr Projektteam ist auf Zulieferungen aus anderen Projekten (z.B. Frameworks) angewiesen? • Managen Sie Erwartungen von Anfang an! • Sagen Sie den anderen Projekten, was Sie wollen: "Dieses Jahr werden wir voraussichtlich mit 30 nicht- trivialen Change Requests auf Euch zukommen. Könntet Ihr das im Frameworkteam bitte einplanen?" • Messen und verfolgen Sie ständig die Performance der Zulieferprojekte – reagieren Sie vorausschauend!
  24. 24. Matthias Bohlen Teamgröße • klein beginnen, dann vergrößern • Pattern: TeamWachsenLassen • Pattern: NovizenLehrer
  25. 25. Matthias Bohlen Pattern: TeamWachsenLassen • Problem • Ermitteln der richtigen Teamgröße • Kontexte • Softwareprojekt, das gerade startet • Softwareprojekt, das schon eine Weile unterwegs ist • Kräfte • Anforderungen und Design anfangs unklar  Entwickler sitzen herum, also wenig Leute benötigt! • Viele Features in kurzer Zeit  mehr Leute benötigt! Nach Jim Coplien: "SizeTheOrganization"
  26. 26. Matthias Bohlen TeamWachsenLassen • Starten Sie mit ein paar Experten • Domänenwissen und Analysemethodik • Architektur- und Designwissen • Wenige, exzellente "Prototyper" • Experten stellen Größe und Komplexität des Projektes / Produktes fest • Nutzen Sie danach dieses Wissen und planen Sie sofort Wachstumsphasen im Projekt ein!
  27. 27. Matthias Bohlen Pattern: NovizenLehrer • Problem • Experten sollen Novizen unterrichten und trotzdem zum Projekt beitragen • Kontext • Softwareteam, in Wachstum und Reorganisation begriffen • Kräfte • Experten allein sind zu wenig, um das System zu entwickeln • Produktivitätszuwachs durch neue Leute erforderlich • Produktiv.-Minderung durch Unterricht ist aber schmerzhaft Nach Jim Coplien: "DayCare"
  28. 28. Matthias Bohlen Lösung zu NovizenLehrer • Halten Sie die Novizen raus aus dem Expertenteam • Stellen Sie einen Experten für die Novizen ab und lassen Sie die anderen in Ruhe das System weiterentwickeln • Das ist besser als Experten und Novizen gleichmäßig zu mischen!
  29. 29. Matthias Bohlen Woran liegt's? • Ein bisschen Mathematik • Annahme: Ein Experte hat normalerweise eine Performance von 1. • Unterrichtet er einen Novizen, so fällt seine Produktivität auf ½, bei zwei Novizen auf 1/3, bei dreien auf ¼, bei m auf 1/(m+1). • Wie sieht also die Team-Performance aus, wenn Novizen hereinkommen? skip!
  30. 30. Matthias Bohlen Experten getrennt v. Novizen • X Experten • schaffen normalerweise X*1 = X • N Novizen • jeder schafft n mit n<<1, z.B. n=1/10 • Ein Experte abgestellt für die Novizen • Team-Performance nur noch TP = (X-1) + N*n Beispiel: X=5, N=10, n=0,1 TP = (5-1)+10*0,1 = 5 skip!
  31. 31. Matthias Bohlen Experten gemischt mit Nov. • Die Performance jedes Experten geht zurück auf 1/(m+1), wobei m die Anzahl der Novizen pro Experte ist • also m = N / X • Team-Performance ist also jetzt • TP = X / ( N/X + 1 ) + N*n Beispiel: X=5, N=10, n=0,1 TP = 5 / (2+1) + 10*0,1 = 2,7 skip!
  32. 32. Matthias Bohlen Vorgaben • Bei großem Projekt: Kernteam aufsetzen, das Vorstudien macht, daraus Vorgaben entwickelt und dem Rest des Teams bekanntmacht • Einspareffekt: Nicht alle müssen dieselben Fehler noch einmal machen! • Nur so viel Vorgaben wie nötig • Architekt als Koordinator • immer sofort dem werdenden Chaos anpassen, ehe es überhand nimmt!
  33. 33. Matthias Bohlen Risikomanagement • Risiken sind normal! Managen Sie sie! • Fehler im Application Server • Animositäten im Team • Jemand wird krank • Festplatte des CVS-Servers crasht • Aufgaben werden unterschätzt • Neuer Vorstand kommt • Zulieferer gerät in Verzug, etc. etc. • Erstellen und pflegen Sie eine Risikoliste! (Liste mit Risiken und Gegenmaßnahmen)
  34. 34. Matthias Bohlen Iteratives Vorgehen • Starten Sie mit dem einfachsten, was möglicherweise funktioniert – bauen Sie dann langsam aus • Besetzen Sie die Rollen genau • Planen Sie iterativ • Pattern: ZeitplanAushandeln
  35. 35. Matthias Bohlen Planen und Einkaufen • Kaufen Sie Lebensmittel ... • Für ein ganzes Jahr im Voraus? Einkaufen Woche-1 Woche-... Woche-52 Feedback (Inventur) .....  ... oder für die folgende Woche? E 1 23 F E 1 23 F .....E 1 23 F E 1 23 F
  36. 36. Matthias Bohlen Rollen im iterativen Vorgehen • Kunde • am besten Fachleute, sonst Projektleiter oder QS als Proxy • trifft Geschäftsentscheidung („dies ist wichtiger als jenes“) • Coach • Unterstützt (Entwicklungs-)Team bei Entscheidungen • Methodische Führung • Unterstützung beim (technischen) Risikomanagement • Entwickler • Bewerten Features nach Risiko und Umfang • trifft technische Entscheidungen • Projektleiter • Bleiben zentrale Ansprechpartner des echten Kunden und des Managements • QS • Unterstützt bei übergreifenden Tests (Systemtests)
  37. 37. Matthias Bohlen Pattern: ZeitplanAushandeln • Problem • Aushandeln eines Zeitplans, dem alle zustimmen können • Kontext • Softwareprojekt, das gerade startet • Thema verstanden • Umfang ungefähr definiert • Kräfte • Kunde: Schnell realisieren, geringe Kosten • Benutzer: Viele Features • Entwickler: Stressarmes, interessantes Arbeiten Nach Jim Coplien: "SizeTheSchedule"
  38. 38. Matthias Bohlen Lösung: ZeitplanAushandeln • Qualität q ganz hoch halten • Termin(e) t festsetzen • Teamgröße s als gegeben annehmen • Umfang u anpassen • Alle paar Wochen: • Verhältnis u,s,t überdenken! Schlagzahl des Teams ist eine gute Rechengrundlage für u-Anpassung!
  39. 39. Matthias Bohlen ZeitplanAushandeln • Voraussetzungen • Vertrauensverhältnis zwischen Kunde und Entwicklungsorganisation • Wichtigsten Teil des Umfangs in den ersten Iterationen realisieren • Kunde wird Umfangsanpassung eher für möglich halten als Vertröstung auf imaginären Folgetermin
  40. 40. Matthias Bohlen Anforderungsmanagement • User-Interviews • Sprechen Sie mit den tatsächlichen Anwendern • Spezifikation • Schreiben Sie die Anforderungen strukturiert auf • Schöne Vorlage: VOLERE-Template (Atlantic Systems Guild) • Demo-Prototyp • Verifizieren Sie damit, ob alles auch so gemeint war • Änderungen • Konsequent managen, nicht einfach einbauen!
  41. 41. Matthias Bohlen Gegenwind
  42. 42. Matthias Bohlen Gegenwind aushalten (1) • Analyse-Paralyse • Problem: Das Team hört nicht auf, zu analysieren • Lösung: Entwickeln, sobald genug Informationen für eine erste Lösung vorliegen! Danach: Lernen! • Meetings über Meetings • Gehen Sie sparsam damit um – werfen Sie am Anfang des Meetings möglichst viele Teilnehmer hinaus • Überdenken Sie alle regelmäßigen Meetings • Toolprobleme • Vermeiden Sie komplexe Tools – nehmen Sie die, die Ihr Team versteht!
  43. 43. Matthias Bohlen Gegenwind aushalten (2) • Politik • Manager: Haltet alles Politische vom Team fern! Lasst die Leute arbeiten! • Unentschlossener Kunde • Durch frühestmögliche Prototypen zur Entscheidung motivieren • Plötzliche, "fremde" Termine • Manager: Stellen Sie eine Person ab, die sich um solch einen Termin kümmert – lassen Sie das Team ungehindert weiterarbeiten!
  44. 44. Matthias Bohlen Gegenwind aushalten (3) • Budget-Einschränkungen • Fragen Sie den Kunden: "Welche zu entwickelnden Features sind entbehrlich, so dass der neue Budgetrahmen eingehalten werden kann?" (su) • Umzug • So wenige wie möglich, doch so viele wie nötig • Ziehen Sie um, wenn die örtliche Verteilung nicht mehr zu den Kommunikationsbedürfnissen passt!
  45. 45. Matthias Bohlen Gegenwind aushalten (4) • Technologiewechsel • Ist immer ein Risiko – prototypen Sie! • Kapseln Sie Technologien in separaten Architekturschichten • Verwenden Sie MDA, um Technologie und Fachlogik zu trennen • Betriebliche Umorganisation • Teamname, Vorgesetzter, Abteilungsstruktur – alles kann sich ändern • Manager: Achtet darauf, dass Euer Team die Identität behält!
  46. 46. Matthias Bohlen Zusammenfassung Projekterfolg sicherstellen
  47. 47. Matthias Bohlen Projekterfolg sicherstellen • Früh anfangen • Grundvoraussetzungen schaffen • Nicht warten, bis alles feststeht! • Mit kleinem Team mutig starten • Ständig dazulernen • Beschlüsse so spät wie möglich fassen • auf Basis gesicherter Informationen • Früh und häufig ausliefern • hält den Kunden bei der Stange Nach Mary Poppendieck: Lean Development and the Predictability Paradox
  48. 48. Matthias Bohlen Diskussion • Ihre Fragen und Anregungen: • Projekterfolg durch Architekt und Coach unterstützen • Sie erreichen mich unter: <mbohlen@mbohlen.de> • Ich komme gern zu Ihnen ins Projekt! ? ! 

×