software entwicklung bei microsoft und netscape … in den 90ziger jahren datum: 28.05.2009 autoren:...
TRANSCRIPT
Software Entwicklung bei Microsoft und Netscape
… in den 90ziger Jahren
Datum: 28.05.2009Autoren: Thorsten Bux, Andreas Fichter
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 2
Agenda
1. Vorstellung der Artikel
2. Synchronize and Stabilize Software Developing Model
3. Netscape Planning and Developing Process
4. Meinung der Autoren
5. Stellungnahme
6. Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 3
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 4
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 5
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
1996
Mitarbeiter 20.500
Umsatz 8,7 Mrd. $
Produkte 250
2008
Mitarbeiter 91.000
Umsatz 60,4 Mrd. $
Produkte (k.A.)
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 6
Synch-and-stabilize
häufiges Synchronisieren und periodisches Stabilisieren Planungsphase Entwicklungsphase Stabilisierungsphase
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 7
Planungsphase
Visionsbeschreibung Produktziele und Produkt Features
Spezifikation Feature „Festlegung“ und Beschreibung Komponenten mit gegenseitigen
Abhängigkeiten Zeitplan und Teams erstellen
Feature Teams 3-4 Meilensteine
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 8
Entwicklungsphase
“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
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 9
Stabilisierungsphase
internes Testen vollständiges Testen des fertigen Produktes
externes Testen Beta Releases RC Veröffentlichung
Release Vorbereitung Disks Dokumentation
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 10
Synch-and-stabilize Modell
Quelle: Software Development on Internet Time Computer Volume 32, Issue 10Michael A. Cusumano, David B. Yoffie; IEEE Computer Society Press, Oktober 1999
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 11
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”
Artikel ¦ Synch-and-stabilize ¦ Planning & Developing ¦ Meinung der Autoren ¦ Stellungnahme ¦ Zusammenfassung
Quelle: Software Development on Internet Time Computer Volume 32, Issue 10Michael A. Cusumano, David B. Yoffie; IEEE Computer Society Press, Oktober 1999
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 12
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 13
Netscape Planning and Developing Process
1. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 14
Netscape Planning and Developing Process
2. First executive review Review der Produktanforderungen, des
Zeitplans und des Budget Anpassungen an den Plänen, falls nötig
3. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 15
Netscape Planning and Developing Process
4. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 16
Netscape Planning and Developing Process
5. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 17
Netscape Planning and Developing Process
6. 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
7. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 18
Netscape Planning and Developing Process
8. Code complete es darf kein Quellcode hinzugefügt werden
(außer zur Fehlerbehebungen) die Features sind komplett
9. 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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 19
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 20
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 21
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 22
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
28.05.2009 Softwareentwicklung bei Microsoft und Netscape 23
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