2.9 KiB
2.9 KiB
Software Processes
In den 1950ern wurde Software an Seite der Hardware entwickelt
- Ziel dieser Prozesse war das komplette Produkt in einem einzigen Projekt zu entwerfen
Classic Organizational Structure
- Business or Client
- braucht neue Software/System
- Definiert Kriterien, welche für die Vollständigkeit des Systems essenziell sind
- Definiert requirements specification, welche das benötigte System beschreibt
- Entwicklungsteam oder Software-Firma
- Bekommt requirements specification
- Designt und entwickelt das System anhand der gegebenen Spezifikationen
- Erstellt ein Handbuch
- Operations Team
- Bekommt Handbuch
- Nimmt Rechenschaft für das Laufen der Software auf sich
- Gibt auftretende Fehler an das Entwicklungsteam weiter
Waterfall Model
- Sequenzielle Ausführung der Phasen des SDLC
- Jede Phase wird mit einer Dokumentation des Schritts beendet
- Iterationen sind nur zwischen zwei aufeinanderfolgenden Phasen möglich
Handling of Change: Implications
Ursprüngliches Projekt ist fertig - Kunde ist aber nicht glücklich
Neue Modelle
V-Modell
Spiral-Modell
Agile
The Agile Manifesto
4 Werte
- Individuen und Interaktionen über Prozesse und Werkzeuge
- Funktionierende Software über verständliche Dokumentation
- Arbeit mit Kunden über Vertragsverhandlungen
- Anpassung an Veränderung über folgen des Plans
12 Prinzipien
- Funktionierende Software ist die primäre Ressource um den Fortschritt zu messen
- Die höchste Priorität ist den Kunden durch frühe und durchgehende Lieferung von wertvoller Software glücklich zu machen
- Liefere funktionierende Software regelmäßig, ~mehrere Wochen bis mehrere Monate → kürzer = besser
- Durchgehende Aufmerksamkeit auf technische Exzellenz und gutes Design verbessert die Agilität
Strongly Iterative Development
Verstärkt durchgehende Kreation von Nutzen für Kunden
Durchgehende Anpassung der Anforderungen an aktuelle Nachfrage
Small and Cross-functional Teams
- Selbst organisiert, divers, T-shaped skills
- klein
- Beispiel Scrum Team:
- 3-9 Developers
- verantwortlich für alle Aspekte der Entwicklung
- 1 Product Owner
- spielt Kunde für die Devs, kreiert und priorisiert Features
- 1 Scrum Master
- Coach, Prozess-Authorität
- 3-9 Developers
Business/Client wird Teil des Teams