Qualitätskriterien und Agilitätin der Softwareentwicklung
Rico Fritzsche• Studium M.A. Philosophie und Germanistik• Seit 1996 in IT Branche tätig (Freelancer)• 2006 Gründung VISUAL...
Visual World•   Individuelle, kundenspezifische Softwarelösungen•   Konzeption und Umsetzung von Softwareprojekten•   Tech...
Visual World• Z.B.: Webportale, HR-Systeme…• Datengetriebene 2-Tier/ Multi-Tier Anwendungen• Kunden: Public Sector, Intern...
Agenda•   Voraussetzungen für Projektrealisierung•   Qualitätskriterien•   Was bedeutet „Agil“?•   Das Agile Manifest
ProblemstellungWas ist notwendig, um einSoftwareentwicklungsprojekterfolgreich umzusetzen?
• Fachliche Analyse/ Auseinandersetzung mit  Thematik/ Anforderungen des Kunden• Problematik bzw. Prozesse fachlich verste...
Die MotivationWarum muss man sich über denEntwicklungsprozess, Architekturund die Softwarequalität im VorfeldGedanken mach...
Die Motivation• Beherrschung von Komplexität• Änderungen der Normalfall und nicht die Ausnahme• Fokus auf Wartbarkeit und ...
Qualitätskriterien
Qualitätskriterien• Korrektheit  Erfüllt die Software die in der Spezifikation  beschriebenen Anforderungen?  Zu beachten:...
Qualitätskriterien• Zuverlässigkeit  Fehler sollten nur selten auftreten und nur geringe  Auswirkungen haben.
Qualitätskriterien• Robustheit  Sinnvolle Fehlerbehandlungen;  Reaktion auf Fehler aus der Umgebung  (z.B. Bedienungsfehle...
Qualitätskriterien• Usability (Benutzerfreundlichkeit)  Intuitive Bedienung und leichte Erlernbarkeit.  Verständliche Hinw...
Qualitätskriterien• Wartbarkeit  Standardisierte Entwicklung  (Design Patterns, Richtlinien)  Beherrschung der Komplexität...
Qualitätskriterien• Effizienz (Performance)  Angemessenes Laufzeitverhalten und  Speicherplatzbedarf
Qualitätskriterien• Dokumentation Sowohl für den Benutzer (Handbücher) als auch für den (Weiter-)Entwickler (Dokumentation...
Qualitätskriterien• Portabilität  z.B. Übertragbarkeit der Software auf andere  Rechner.
Wichtigstes Ziel: WartbarkeitZu erreichen durch OOP(Objektorientierte Programmierung) undDDD (Domain Driven Design)
Programmierstile• Prozedurale Programmierung  – Einfaches „runterprogrammieren“ der    Anforderung am Stück  – Dadurch: Ve...
Programmierstile• Objektorientierte Programmierung (OOP)  – Entwicklung auf Basis von OO-Grundsätzen, -    Praktiken und D...
ProgrammierstileVerhältnis Aufwand zu Komplexität nach Martin Fowler
Agilität in der Umsetzung• Agil = lat. agilis “flink, beweglich“• Ziel: Softwareentwicklung schlanker und flexibler zu  ma...
Die Prinzipien des Agilen ManifestsIndividuen und Interaktionen sind wichtiger als Prozesse undWerkzeuge. - Zwar sind wohl...
Die Prinzipien des Agilen ManifestsFunktionierende Programme sind wichtiger als ausführlicheDokumentation. - Gut geschrieb...
Die Prinzipien des Agilen ManifestsDie stetige Abstimmung mit dem Kunden ist wichtiger als dieursprüngliche Leistungsbesch...
Die Prinzipien des Agilen ManifestsDer Mut und die Offenheit für Änderungen stehen über demBefolgen eines festgelegten Pla...
Nächste SlideShare
Wird geladen in …5
×

Agilität und Qualitätskriterien in der Softwareentwicklung

1.368 Aufrufe

Veröffentlicht am

0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.368
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Agilität und Qualitätskriterien in der Softwareentwicklung

  1. 1. Qualitätskriterien und Agilitätin der Softwareentwicklung
  2. 2. Rico Fritzsche• Studium M.A. Philosophie und Germanistik• Seit 1996 in IT Branche tätig (Freelancer)• 2006 Gründung VISUAL WORLD• Tätigkeitsfelder: Software Architektur und Development; Technologie Consulting• Freier Autor und Publizist (z.B. dotnet Magazin, Visual Studio One)
  3. 3. Visual World• Individuelle, kundenspezifische Softwarelösungen• Konzeption und Umsetzung von Softwareprojekten• Technologie Consulting• Schwerpunkt: Entwicklung von verteilten, datengetriebene Anwendungen unter Verwendung von Microsofttechnologien (.NET Framework, WCF, etc.)
  4. 4. Visual World• Z.B.: Webportale, HR-Systeme…• Datengetriebene 2-Tier/ Multi-Tier Anwendungen• Kunden: Public Sector, Internationale (agierende) Organisationen; z.B.: Zentrum für Internationale Friedenseinsätze Berlin, NRC Norwegen, … aber auch Energieversorger, z.B.: EON Thüringen, Thüringer Netkom GmbH
  5. 5. Agenda• Voraussetzungen für Projektrealisierung• Qualitätskriterien• Was bedeutet „Agil“?• Das Agile Manifest
  6. 6. ProblemstellungWas ist notwendig, um einSoftwareentwicklungsprojekterfolgreich umzusetzen?
  7. 7. • Fachliche Analyse/ Auseinandersetzung mit Thematik/ Anforderungen des Kunden• Problematik bzw. Prozesse fachlich verstehen• Geeignete Technologien finden• Implementierungsstrategie erstellen• Softwarearchitektur/ Software-Design• Team zusammenstellen/ Verantwortlichkeiten festlegen• Qualitätssicherung
  8. 8. Die MotivationWarum muss man sich über denEntwicklungsprozess, Architekturund die Softwarequalität im VorfeldGedanken machen?
  9. 9. Die Motivation• Beherrschung von Komplexität• Änderungen der Normalfall und nicht die Ausnahme• Fokus auf Wartbarkeit und Erweiterbarkeit
  10. 10. Qualitätskriterien
  11. 11. Qualitätskriterien• Korrektheit Erfüllt die Software die in der Spezifikation beschriebenen Anforderungen? Zu beachten: Gibt die Spezifikation nicht die Anforderungen korrekt wieder, leistet auch die Software nicht das Gewünschte!
  12. 12. Qualitätskriterien• Zuverlässigkeit Fehler sollten nur selten auftreten und nur geringe Auswirkungen haben.
  13. 13. Qualitätskriterien• Robustheit Sinnvolle Fehlerbehandlungen; Reaktion auf Fehler aus der Umgebung (z.B. Bedienungsfehler, Fehler von verknüpften System etc.).
  14. 14. Qualitätskriterien• Usability (Benutzerfreundlichkeit) Intuitive Bedienung und leichte Erlernbarkeit. Verständliche Hinweise und Fehlermeldungen.
  15. 15. Qualitätskriterien• Wartbarkeit Standardisierte Entwicklung (Design Patterns, Richtlinien) Beherrschung der Komplexität Verständlicher Code, Entkoppelung
  16. 16. Qualitätskriterien• Effizienz (Performance) Angemessenes Laufzeitverhalten und Speicherplatzbedarf
  17. 17. Qualitätskriterien• Dokumentation Sowohl für den Benutzer (Handbücher) als auch für den (Weiter-)Entwickler (Dokumentation der einzelnen Entwicklungsschritte, der Implementierung, von Testplänen, ...).
  18. 18. Qualitätskriterien• Portabilität z.B. Übertragbarkeit der Software auf andere Rechner.
  19. 19. Wichtigstes Ziel: WartbarkeitZu erreichen durch OOP(Objektorientierte Programmierung) undDDD (Domain Driven Design)
  20. 20. Programmierstile• Prozedurale Programmierung – Einfaches „runterprogrammieren“ der Anforderung am Stück – Dadurch: Vermischung Data Access, Business Logic und Presentation – Wiederverwendung ist nicht möglich – Wartbarkeit: schlecht (viel doppelter oder ähnlicher Quellcode an mehreren Stellen)
  21. 21. Programmierstile• Objektorientierte Programmierung (OOP) – Entwicklung auf Basis von OO-Grundsätzen, - Praktiken und Design Patterns – Setzt Design voraus (OOD) – Wiederverwendung und Wartbarkeit
  22. 22. ProgrammierstileVerhältnis Aufwand zu Komplexität nach Martin Fowler
  23. 23. Agilität in der Umsetzung• Agil = lat. agilis “flink, beweglich“• Ziel: Softwareentwicklung schlanker und flexibler zu machen• Fundament für agile Softwareentwicklung: Manifesto for Agile Software Development (2001) (17 Autoren, u.a. Kent Beck, Martin Fowler, Robert C. Martin…)
  24. 24. Die Prinzipien des Agilen ManifestsIndividuen und Interaktionen sind wichtiger als Prozesse undWerkzeuge. - Zwar sind wohldefinierte Entwicklungsprozesseund Entwicklungswerkzeuge wichtig, wesentlicher sind jedochdie Qualifikation der Mitarbeitenden und eine effizienteKommunikation zwischen ihnen.
  25. 25. Die Prinzipien des Agilen ManifestsFunktionierende Programme sind wichtiger als ausführlicheDokumentation. - Gut geschriebene und ausführlicheDokumentation kann zwar hilfreich sein, das eigentliche Ziel derEntwicklung ist jedoch die fertige Software.
  26. 26. Die Prinzipien des Agilen ManifestsDie stetige Abstimmung mit dem Kunden ist wichtiger als dieursprüngliche Leistungsbeschreibung in Verträgen. - Statt sich anursprünglich formulierten und mittlerweile veraltetenLeistungsbeschreibungen in Verträgen festzuhalten, stehtvielmehr die fortwährende konstruktive und vertrauensvolleAbstimmung mit dem Kunden im Mittelpunkt.
  27. 27. Die Prinzipien des Agilen ManifestsDer Mut und die Offenheit für Änderungen stehen über demBefolgen eines festgelegten Plans. - Im Verlauf einesEntwicklungsprojektes ändern sich viele Anforderungen undRandbedingungen ebenso wie das Verständnis desProblemfeldes. Das Team muss darauf schnell reagieren können.

×