1
Markus Hämmerlimarkus.haemmerli[@]noser.com
Noser Engineering AG
25. August 2008, Wallisellen
Software entwickeln statt Feuer löschen
Application Lifecycle Management Day
Manuel Domeisenmanuel.domeisen[@]noser.com
Noser Engineering AG
2
Inhalt
Teil 1• Ausgangslage in der SW-Entwicklung• Theorie aus langjähriger Praxis• Die 5 wichtigsten Punkte
Teil 2• Vorgehen in der Praxis• Ausschnitte von konkreten Umsetzungen der 5 Punkte
3
Application Lifecycle Management ?
Start
4
Das Spiel mit dem Feuer
Projekt- / Entwicklung
GL Verkauf Vertrieb
Entwickler
Tester
KundenKunden
Kunden
Markt
Kostendruck
Anforderungen
Trends
Bugs
Architekt
Tech. Risiken
Reports
Releases
Vorgehen
Terminplan
Tasks
Termindruck
Änderungen
Erweiterungen
Produkt-management
Änderungen
Koordination:
• Der unterschiedlichen Tasks und Herausforderungen
• Detailvielfalt
Unsicherheiten managen:
• Die unterschiedlichen Erwartungen
• Die unklaren Anforderungen
• Die noch offene Lösung
• Die laufenden Änderungen
• Die verschiedenen Risiken
• Die schwer abschätzbaren Aufwände
Fixe Punkte:
• Termine
• Budget
Technologien
Features
Qualität
Lösungen
5
Was macht das Management heute schwierig?
Projekte• Unklare Anforderungen aber
Fixpreis• Grösserer Zeitdruck• Budget und Termine nicht ganz so offen wie die Ideen
Produkte• Höherer Unbekanntheitsgrad• Etliche Konfigurationen• Langwährende Entwicklungen• Viele Versionen• Unterschiedliche Kunden
• Komplexe Aufgabenstellungen• Änderungen sind die Regel, Randbedingungen, Bedürfnisse ändern• Zeiten und Aufwände einzuschätzen ist sehr schwierig• Vorhaben sind zieloffener!
6
Produktivitäts- und Qualitätssteigerung
Output
Input
Wert
Kosten, Arbeit
Mehr Wert generieren
Weniger Kosten, Arbeit
Direkte Kosten reduzieren:• do the simplest thing that
work• Nur das liefern was der
Kunde bereit ist zu zahlen
Indirekte Kosten reduzieren:• Automatisieren• Systematischer und
effizienter arbeiten (Werkzeuge, Methoden, Infrastruktur)
• Bedürfnisse klar verstehen • Genau das liefern was der
Kunde braucht• 80% / 20%• früher / oft liefern
Definition der Produktivität Produktivitätssteigerung
Qualitätssteigerung
7
=> Die 5 wichtigsten Punkte
… und wie kann dies erreicht werden ?
8
1. Das richtige Vorgehen …
• Leicht umsetz- und flexibel anpassbarer Prozess• Nutzen und Kunde stehen im Vordergrund• Einfach, zweckmässig und effizient
Sage mir wie du ein Projekt startest und ich sage dir wie es endet
9
2. Team und Interaktionen
• Das Team und deren Zusammensetzung ist erfolgsentscheidend, Tools müssen dies unterstützen• Jedes Team entwickelt und lebt eigene Prozesse,
Zusammenarbeit und Kommunikation
Þ Eher kleinere Teams mit SpezialistenÞ Offene Kultur und Eigenverantwortung
Nichts ist erfolgreicher als ein effizientes eingespieltes Team
10
3. Funktionierende Software
Nichts ist überzeugender als funktionierende Software
Planning
Analyse
Implementation
Testing
Deployment Iteration• Inkrementelle
Realisierungseinheit• Alle Phasen werden durchlaufen• Dauer etwa 1 Monat
abhängig von Komplexität ,
Erstellungs- und
IntegrationsaufwandDesign
11
Iterative Entwicklung … richtig eingesetzt!
Vorteile:• Frühes Feedback• Risikominimierung• Fortschrittsmessung• Alle Prozesse der Erstellung u.
Integration werden durchlaufen • Bessere Kontrolle für den
Auftraggeber• Schnellerer Start, einzelne
Iterationen kaufen• Kundenvertrauen durch
funktionierende Releases
I1 I 2 … I n
F 1 + Anpassung
F 2
…
F n
Iterationen
Funk
tiona
lität
Inkrementelle Releases
Nichts gibt mehr Vertrauen als Resultate
12
Der Kunde muss schlussendlich zufrieden sein
Þ Die Lösung sieht am Schluss oft anders aus als am Anfang gefordert (durch Änderungen in Anforderungen und Umfeld)
Þ Die Lösung muss gemeinsam erarbeitet werden
Der Kunde muss am Schluss eine Lösung haben, die ihm einen Nutzen bringt
4. Kundenzusammenarbeit
Kundenzusammenarbeit ist wichtiger als Vertragsverhandlungen
13
Termine, Ressourcen und Funktionalität …
Agile Vorgehensweise
• Ziele und Nutzen werden ermittelt und festgelegt• Termine und Kosten werden definiert
• Funktionalität wird iterativ erarbeitet und kann während der Entwicklung angepasst werden
• Nach der definierten Anzahl Iterationen hat der Kunden eine lauffähige Software
• Strategische Partnerschaft• Höhere Kundenzufriedenheit
Reso
urce
s Schedule
Features
14
Anforderungen können in der Analyse nicht abschliessend definiert werden• Vor allem nicht bei innovativen, neuen und sehr interaktiven Projekten• Weitere Erkenntnisse während dem Projektverlauf• Nicht erwähnte oder bekannte Randbedingungen
Änderungen als Chance nutzen!
Änderungen müssen verwaltet werden = > Höhere Anforderungen an das Projektmanagement!
5. Auf Änderungen reagieren
Auf Änderungen reagieren ist wichtiger als einem Plan zu folgen
15
Jetzt wird es konkret...
Beratung
Coaching
Installation/
Inbetriebnahme
Anpassungen
/Erweiteru
ngen
16
• Analyse auf allen Ebenen• Geschäftsebene: Visionen, Ziele, Chancen• Prozessebene: Analyse der Prozesse und Umsetzung• Technische Ebene: Wie werden Prozesse technisch unterstützt• Anwendungsebene: Wie werden die Prozesse gelebt
• 12 Punkte Check mit Kunden durchgehen• Alle wichtigen Aspekte der Softwareentwicklung werden untersucht• Ungenutztes Potential aufdecken• Risiken lokalisieren• Vorgehen zur Steigerung der Produktivität und Qualität
1. Das richtige Vorgehen ?
17
Tester
Entwickler
Architekt
IT / ProjektManager
BusinessAnalyst
Datenbank entwickler
Designer
2. Team und Interaktionen ?
18
Anpassungen / Integrationen
• Auf was kommt es an / was sind die wichtigen Fragen• Welche Drittparty-Tools sind vorhanden ?• Wie sind diese im Prozess integriert ?• Einbindung -> Schnittstellen ? • oder Abbilden -> mit TFS ?• Sollen die Tools integriert werden ?• Sollen Daten übernommen werden ?
19
• Wichtig ist es den Prozess mit demKunden klar zu definieren
Klare Verantwortlichkeiten• Koordinator beim Kunden• Systemverantwortlicher Schweiz• Systemverantwortlicher China• Koordinator beim Support-
Dienstleister
Prozessdefinition für ein Maintenance Portal
20
• Versions- undKonfigurationsmanagement
V 0.1• V 0.2• V 0.3
V 1.0• V 1.1• V 1.2
V 2.0• V 2.1• V 2.2
Kundenspezifische Versionierungsstrategie
Release 0.1
Release 0.2
Release 0.3
Release 1.0
Release 1.1
Release 1.2
Release 2.0
Release 2.1
Release 2.2
3. Funktionierende Software ?
21
• Wie ist die Zusammenarbeit koordiniert?• Welche Informationen sollen ausgetauscht werden?
• Dokumente• Kontakte• Ideen• Termine• Aufgaben• …
• Sharepoint integration im TFS solide Grundlage
4. Kundenzusammenarbeit ?
22
Lösung für ein Maintenance Portal
• Change / Bug Management• Controlling• Zentrale Ablage• Globaler Zugriff
Verantwortliche
23
• Woher kommen Änderungswünsche?• Wohin gehen diese?• Wer qualifiziert dies?• Wer setzt diese mit welcher Priorität um?
Projekt- / Entwicklung
GL
Verkauf Vertrieb
Kunden
Anforderungen
Produkt-management
ÄnderungenÄnderungen
5. Auf Änderungen reagieren ?
Entwickler
Tester Tasks
Tasks
24
Bugreporting Integration
Bugtracking Tool(Freeware)
Daten & Struktur
TFS Work Item
Auf Kunden angepasste Struktur
25
25
Zum Schluss …
Effizienz• Schneller reagieren als die Konkurrenz und frühere Erfahrungen am Markt• Einfachere Lösungen nach 80/20 Regel, weniger Überdesign• Grössere Chance für wirtschaftlichen Erfolg• Fokus liegt auf Produktivität
Transparenz• Bessere Kontrolle über Entwicklungsverlauf• Durch die Zentrale Datenhaltung Vernetzung von Daten möglich• Wissen wer was macht, was wann durch wen geändert worden ist
Zuverlässig• Bewährte Technologien
26
Besten Dank für Ihre Aufmerksamkeit!
Noser Engineering AG ...
... realisiert seit über 24 Jahren vielseitige Software-Projekte für anspruchsvolle Kunden.
Nutzen Sie unser Know-how für Ihr Projekt zumgemeinsamen Erfolg!
www.noser.com
Markus Hämmerlimarkus.haemmerli[@]noser.com
Manuel Domeisenmanuel.domeisen[@]noser.com