Das SCCH ist eine Initiative der Das SCCH befindet sich im
Alles im Blick mit Software Cockpits
Software Projekte erfolgreich steuernSoftnet-Workshop, 28. Mai 2009, IT-Center Hagenberg
Stefan Larndorfer
+43 7236 3343 [email protected] Competence Center GmbHwww.scch.at
Software Cockpits Wozu ? Die Cockpit Vision Beispiele
Cockpit Einführung bei BMD Systemhaus GmbH Einführungsprozess – Schwerpunkte Nutzen Herausforderungen
Fazit & Lessons Learned
© Software Competence Center Hagenberg GmbH
Projekt / Produktentwicklungs Daten und Prozesse
[IBM Redbook, Collaborative Application Lifecycle Management with IBM Rational Products, p. 8, Dez. 2008]
© Software Competence Center Hagenberg GmbH
Software Projekt Software Produktentwicklungs Daten
4© Software Competence Center Hagenberg GmbH
Source CodeUnit TestsAutomatisierte Tests
Zeitaufzeichungen der Entwickler Tätigkeit/Stunden
Kosten
Anforderungen
Projektplan
EntwickleraufgabenKundenwünscheFehlermeldungen
„Ein vereinfachtes Beispiel“
Was kostete die Implementierung von Anforderung XY? Wieviel Code wurde verändert wegen Anforderung XY? Wieviel Zeit wurde für Release XY investiert?
Was ist ein Software Cockpit?
Überblick eines Software Projektes „auf einer Seite“ Software Metriken, integriert über alle relevanten Datentöpfe Visualisierung von operativen Indikatoren
Software Cockpits Fundamentals I
„manage a project like flying an aircraft in a cockpit“
© Software Competence Center Hagenberg GmbH
[Münch, Heidrich, Software project control centers: concepts and approaches, Journal of Systems and Software, 2004]
Beispiel I
http://softcockpit.scch.at (Open Source)
© Software Competence Center Hagenberg GmbH
Beispiel I
http://softcockpit.scch.at
© Software Competence Center Hagenberg GmbH
Beispiel I
http://softcockpit.scch.at
© Software Competence Center Hagenberg GmbH
Beispiel II
© Software Competence Center Hagenberg GmbH
(wegen Datenschutzbestimmungen wurde der Screenshot weichgezeichnet)
Beispiel II
© Software Competence Center Hagenberg GmbH
(wegen Datenschutzbestimmungen wurde der Screenshot weichgezeichnet)
11© Software Competence Center Hagenberg GmbH
Einführung eines Cockpits beiBMD Systemhaus
Business Software Produktline seit 1972 ERP System Buchhaltung, Controlling, Bilanzierung, CRM
Über 18.000 Kunden ~ 100 Software Entwickler ~ 150 Support Mitarbieter
Steyr (Hauptsitz)Wien, München, Prag,…
Software Cockpit:Wie könnte man das Angehen?
Fakten Existierende heterogene Werkzeuglandschaft
Zeiterfassung, z.b. Microsoft Navision, … Codeverwaltung, z.B. Subversion, PVCS, CVS… Task-Management, z.B Jira, Bugzilla,… Testwerkzeuge, z.B. JUnit, Ranorex,…
Umfangreiche historische Daten Einführung neuer integrierter Werkzeuge ist kostenintensiv Werkzeuge müssen den Prozess unterstützen
Ansätze Data Integration mit Application Lifecycle Management Toolsuite Data Integration mit Business Intelligence Techniken
ETL Prozess, Lightweight-Datawarehouse Software Cockpit
12© Software Competence Center Hagenberg GmbH
Technical Solution Concept
Cockpit Platform to organize and
share information Plug-ins to query and
visualize DWH Data Warehouse
Store data along timeline Allow multiple projects and
historical project data Adapter
Automated data collection Extract data from different
repositories Support distributed
environments
Data Warehouse
...
0
10
20
30
40
50
60
70
80
90
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
Cockpit
0
10
20
30
40
50
60
70
80
90
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
Plug-in
Adapter
© Software Competence Center Hagenberg GmbH
BMD: Lösungsweg
Prozessanalyse GQM – Zielgerichtete Ableitung von Metriken Prozessverbesserung Entwicklung Vereinheitlichung der Softwareentwicklungs-Planung
Cockpit Einführung in Pilotgruppen (nach ~ 6 Monaten) Ausrollen des Prozesses Evaluierung, Abschluss (nach ~ 12 Monaten)
© Software Competence Center Hagenberg GmbH
Nutzen
Planung einfach, flexibel, vergleichbar
Fortschrittsanzeige stundenaktuell, über alle Gruppen
Schätzwerte/gebuchte Werte einfacher Vergleich
Motivation durch überschaubare Ziele monatliches Erfolgserlebnis
Anforderungen zum Produkt „auf einen Blick“
15© Software Competence Center Hagenberg GmbH
Herausforderungen
Vorhandene Werkzeuginfrastruktur veraltet Doppelgleisigkeiten bei der Daten Eingabe Datenungenauigkeiten
Messen ist emotional stark behaftet Transparenz statt Bewertung Vermeidung von dysfunktionalen Effekten
Datensammlung Einbindung der Entwickler Dateninterpretation einheitliche Prozesse notwendig
16© Software Competence Center Hagenberg GmbH
Lessons Learned
1. Vertrauen durch Beteiligung der Entwickler schaffen
2. Einbeziehung des Managements
3. GQM als Basis für Messungen
4. Vermeidung von dysfunktionalen Effekten
5. Aussagekräftige Cockpits durch hohe Datenqualität
6. Entwicklung von Metriken die im Entwickleralltag nutzbringend sind
7. Verwendung von klaren, positiven Begriffen
8. Einfache Prozesse und elementare Daten führen zu verständlichen Metriken
9. Weniger ist mehr[Larndorfer, Ramler, Buchwiser, Experiences and Results from
Establishing a Software cockpit at BMD Systemhaus, Euromicro 2009]
© Software Competence Center Hagenberg GmbH
References
BMD Systemhaus GmbH http://www.bmd.at SCCH SoftCockpit http://softcockpit.scch.at
Austin Robert D., Measuring and Managing Performance in Organizations, Dorset House Publishing, 1996
Larndorfer, Ramler, Buchwiser, Experiences and Results from Establishing a Software cockpit at BMD Systemhaus, 35rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2009)
Eckerson Wayne W., Performance Dashboards: Measuring, Monitoring, and Managing Your Business, Wiley, 2005
Kan Stephen H., Metrics and Models in Software Quality Engineering, Addison-Wesley, 2003 Few Stephen, Information dashboard design : The effective visual communication of data,
2006. Jürgen Münch, Jens Heidrich, Software project control centers: concepts and approaches,
Journal of Systems and Software, Volume 70, Issues 1-2, Pages 3-19, 2004 Kan Stephen H., Parrish J., Manlove D., In-process metrics for software testing, IBM Systems
Journal, Vol. 40, No. 1, 2001 Basili V.R., Caldiera G., Rombach H.D., Goal question metric paradigm., Encyclopedia of Software
Engineering 1, 528-532, 1994 Larndorfer Stefan, Ramler Rudolf, TestCockpit: Business Intelligence for Test Management,
Session on Work in Progress in connection with 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), Lbeck, Germany, 2007
P. Monson, C. Pampino, M. Göthe, N. Yuce, K. Nizami, K. Patel, and B. M. Smith. Collaborative Application Lifecycle Management with Rational Products. IBM Redbooks,2008.
© Software Competence Center Hagenberg GmbH
Top Related