230 likes | 349 Views
Software Entwicklung bei Microsoft und Netscape. … in den 90ziger Jahren. Datum: 28.05.2009 Autoren: Thorsten Bux, Andreas Fichter. Agenda. Vorstellung der Artikel Synchronize and Stabilize Software Developing Model Netscape Planning and Developing Process Meinung der Autoren
E N D
Software Entwicklung bei Microsoft und Netscape … in den 90ziger Jahren Datum: 28.05.2009 Autoren: Thorsten Bux, Andreas Fichter
Agenda Vorstellung der Artikel Synchronize and Stabilize Software Developing Model Netscape Planning and Developing Process Meinung der Autoren Stellungnahme Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Vorstellung der Artikel How Microsoft Builds SoftwareCommunications of the ACM Volume 40, Issue 6Michael A. Cusumano, Richard W. SelbyACMJuni 1997 Software Development on Internet TimeComputer Volume 32, Issue 10Michael A. Cusumano, David B. YoffieIEEE Computer Society PressOktober 1999 Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Vorstellung der Artikel Software Entwicklungsprozess von Microsoft und Netscape Internet Software Firmen müssen flexibler und schneller bei der Entwicklung neuer Produkte sein Synchronize-and-Stabilize Software Developing Model Netscape Planning and Developing Process Befragung von Microsoft und Netscape Mitarbeitern (1996-1998) Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Firmenvorstellung - Microsoft Microsoft - Short Facts Software Entwicklungsphilosophie nur wenige der strukturierten SWE Methoden einführen wenig Struktur in der Produktentwicklung Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Synch-and-stabilize Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung • häufiges Synchronisieren und periodisches Stabilisieren • Planungsphase • Entwicklungsphase • Stabilisierungsphase Softwareentwicklung bei Microsoft und Netscape
Planungsphase Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung • Visionsbeschreibung • Produktziele und Produkt Features • Spezifikation • Feature „Festlegung“ und Beschreibung • Komponenten mit gegenseitigen Abhängigkeiten • Zeitplan und Teams erstellen • Feature Teams • 3-4 Meilensteine Softwareentwicklung bei Microsoft und Netscape
Entwicklungsphase Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung • “Do everything in parallel with frequent synchronisation“ • viele kleine Teams zusammen ein großes Team • täglich Synchronisieren und Debuggen • fester Eincheckzeitpunkt • sofortiges Fixen von Build-Fehlern • immer ein auslieferungsfähiges Produkt • kontinuierliches Testen • einheitliche Entwicklungs-Plattform Softwareentwicklung bei Microsoft und Netscape
Stabilisierungsphase Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung • internes Testen • vollständiges Testen des fertigen Produktes • externes Testen • Beta Releases • RC Veröffentlichung • Release Vorbereitung • Disks • Dokumentation Softwareentwicklung bei Microsoft und Netscape
Synch-and-stabilize Modell Quelle: Software Development on Internet Time Computer Volume 32, Issue 10 Michael A. Cusumano, David B. Yoffie; IEEE Computer Society Press, Oktober 1999 Artikel¦Synch-and-stabilize¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Firmenvorstellung - Netscape • Netscape • Short Facts (1998) • 660 Mitarbeiter • 2 Arten von Produkten • Umsatz von 461 Millionen USD • organisatorische Philosophie • “Operate as much as possible in small units and avoid adding too many people in testing” Quelle: Software Development on Internet Time Computer Volume 32, Issue 10 Michael A. Cusumano, David B. Yoffie; IEEE Computer Society Press, Oktober 1999 Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process Netscape benötigte einen Entwicklungsprozess der zum Internetmarkt passt keine Neuentwicklung holte sich Mitarbeiter von Microsoft und Borland die über entsprechende Erfahrung verfügten Abwandlung des Microsoft Models für die Entwicklung von Internet Browser und Serverprodukten Prozessimplementierung (9 Phasen) Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • Product requirements • Advance Planning Meeting (APM) • Brainstorming der Features und der Releasepläne • erstellen der Produktvision • festlegen der Produktanforderungen • sehr kurz (ca. fünf Seiten) • Beginn der funktionalen Spezifikation • festlegen des Zeitplans und des Budget • kein festes Auslieferungsdatum • die Länge der Phase ist von der Produktkomplexität abhängig Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • First executive review • Review der Produktanforderungen, des Zeitplans und des Budget • Anpassungen an den Plänen, falls nötig • Start of development phase • Implementierung der Features • regelmäßige Synchronisation des Quellcodes • daily builds • kontinuierliches erfassen und beheben von Fehlern Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • Interim executive review • funktionale Spezifikation sollte zu diesem Zeitpunkt komplett sein • Anpassung (falls nötig) • Spezifikation • Projektressourcen Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • First internal (alpha) release • dauert ca. sechs Wochen • unterbrechen der Entwicklung • intensives debuggen und testen des vorhandenen Quellcodes • Alpha-Release für internes Feedback • Entwicklung wird weitergeführt • Benutzerfeedback wird eingearbeitet Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • Public beta 1 or field test 1 • dauert ca. sechs Wochen • Wiederholung der Test- und Entwicklungsschritte aus Phase 5 • Serverentwicklung wechselt zu Feldtests mit ausgewählten Kunden • Public beta 2 and 3 • jedes Beta Release dauert ca. sechs Wochen • Wiederholung der Test- und Entwicklungsschritte aus Phase 5 • Feature complete status • nur noch kleine Änderungen sind erlaubt Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • Code complete • es darf kein Quellcode hinzugefügt werden (außer zur Fehlerbehebungen) • die Features sind komplett • Final testing and release • finales debuggen und stabilisieren des Release Candidate • Abnahme Meeting(s) • Release to Manufacturing (RTM) Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Netscape Planning and Developing Process • Anmerkungen: • vor der Implementierung kann nicht alles spezifiziert werden • ohne Planung kann keine komplexe Software erstellt werden • Dokumentation sehr kurz • unvollständige Dokumentation wird toleriert • Produktspezifikation meistens in HTML • die funktionale Spezifikation wir bis zu dreiviertel der Projektzeit noch angepasst • Veto-Recht für Entwickler Artikel¦ Synch-and-stabilize ¦Planning & Developing¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Meinung der Autoren Grund für erfolgreiche Produkte Anschein einer Ordnung für die meist chaotische Welt der SW-Entwicklung keine „Silberkugeln“ Hackeransatz entstanden aus Tradition der PC SW-Entwicklung sollte nicht ganz aufgegeben werden Artikel¦ Synch-and-stabilize ¦ Planning & Developing ¦Meinung der Autoren¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Stellungnahme vieles unverändert verteilte Entwicklung in kleinen Teams iteratives Vorgehen CVS und SVN sind heute Standard in der Softwareentwicklung Bugtracking-Systeme Alpha- und Beta-Releases Vernachlässigung der Dokumentation viele Dinge in Entwicklungsmodelle eingeflossen Extreme Programming Artikel¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦Stellungnahme¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Stellungnahme guter Einblick in MS Entwicklungsprozess Gratwanderung zwischen Chaos und Struktur Eigenständigkeit und Disziplin der Programmierer so viel wie nötig, so wenig wie möglich Artikel¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦Stellungnahme¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape
Zusammenfassung Synch-and-stabilize Planungsphase Entwicklungsphase Stabilisierungsphase Hackeransatz mit Struktur Koordination von vielen Entwicklern und Testern Netscape Planning and Developing Process Abwandlung von Synch-and-stabilize 9 Phasen informell Artikel¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦Zusammenfassung Softwareentwicklung bei Microsoft und Netscape