1 Markus Hämmerli markus.haemmerli[@]noser.com Noser Engineering AG 25. August 2008, Wallisellen...

Post on 06-Apr-2015

107 views 0 download

Transcript of 1 Markus Hämmerli markus.haemmerli[@]noser.com Noser Engineering AG 25. August 2008, Wallisellen...

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