View
106
Download
2
Category
Preview:
Citation preview
1
10 Gründe für das Fehlschlagen von Softwareprojekten
Thomas Schissler, artiso AG
2
Wer bin ich?
Thomas Schissler Software-Architekt und Projektleiter artiso AG Schwerpunkte sind
Team Foundation Server Entwicklungsprozesse Software-Architektur und Software Design
Leiter der .net Developergroup Ulm (www.dotnet-ulm.de)
Blog : http://www.artiso.com/problog
Thomas Schissler, artiso AG
3
Wer sind Sie?
Was machen Sie?
Produktentwicklung
Auftragsprogrammierung
Interne Entwicklung
Thomas Schissler, artiso AG
4
Wer sind Sie?
Welche Position haben Sie?
Entwickler
Projektleiter
Sonstiges?
Thomas Schissler, artiso AG
5
Wer sind Sie?
Wie definieren Sie ein fehlgeschlagenes Software-Projekt?
Thomas Schissler, artiso AG
6
Wer sind Sie?
Waren Sie schon mal an einem fehlgeschlagenen Software-Projekt beteiligt?
Termin oder Budget um mehr als 50% überschritten
Termin oder Budget um mehr als 100% überschritten
Kunde unzufrieden
Thomas Schissler, artiso AG
7Thomas Schissler, artiso AG
1 Zunehmende Komplexität
8
Komplexität
Thomas Schissler, artiso AG
9Thomas Schissler, artiso AG
2 Unklare
Spezifikation
10
Problemsituationen
Kunde akzeptiert implementierte Lösungen nicht
Fehlende Basis für aufwandsabschätzung
Entwickler hat keine genaue Beschreibung der Funktion für die Implementierung
Tester stellen Spezifikationslücken fest
Ewige Nacharbeiten
Thomas Schissler, artiso AG
11
Textliche Spezifikation
Kunden sollen gelöscht werden können. Der Lösch-Vorgang kann durch das Kontext-Menü, durch ein Icon in der Symbol-Leiste oder durch die Entfernen-Taste auf der Tastatur ausgelöst werden. Beim Löschen eines Kunden soll zunächst geprüft werden, ob der Kunde Aufträge zugeordnet hat. Ist dies nicht der Fall, kann der Kunde sofort gelsöcht werden. Andfernfalls muss geprüft werden, ob alle Aufträge die dem Kunden zugeordnet sind abgeschlossen sind. Hat der Kunde nicht abgeschlossene Aufträge zugeordnet, so kann der Kund zu diesem Zeitpunkt nicht gelöscht werden und dies soll durch eine entsprechende meldung angezeigt werden. Bei ausschließlich abgeschlossenen Aufträgen soll zunächst der Anwender gefragt werden, ob alle Aufträge zum Kunden ebenfalls gelöscht werden sollen. Wird diese mit Ja bestätigt, werden zunächst die Aufträge und anschließend der Kunde gelöscht. Andernfalls wird der Lösch-Vorgang für den Kunden abgebrochen.
Thomas Schissler, artiso AG
12
Workflow Diagramme
Thomas Schissler, artiso AG
Kontext Menu Tree
Icon Symbol-
leiste
Tastatur Entf
Hat Kunde Aufträge?
Kunde löschen
Wollen Sie Aufträge löschen?
Alle Aufträge abgeschlossen
Ja
Kunde löschen
Ja
Löschen nicht möglich
Nein
Löschen? Aufträge löschenJa
Nein
Fertig
Nein
13
Funktionsbaum
Thomas Schissler, artiso AG
14
Test als Spezifikation
Thomas Schissler, artiso AG
15Thomas Schissler, artiso AG
3 Unzureichende
Planung
16
Problemsituationen
Aufwand und Termine werden nur grob geschätzt, der Kunde pocht aber auf die Einhaltung
Der Aufwand um die Planung zu pflegen ist viel zu hoch
Der aktuelle Projektstatus wird aus dem Bauch beurteilt
Thomas Schissler, artiso AG
17
Aufwandsabschätzung
Voraussetzung ist eine detaillierte Spezifikation
Anforderungen werden in Lösungen überführt
Lösungen werden verfeinert und in Aufgaben heruntergebrochen
Aufwand für Aufgaben abschätzen (in Stunden)
Tests wie Aufgaben einplanen
Thomas Schissler, artiso AG
18
Aufwandsabschätzung
Thomas Schissler, artiso AG
DEMO
19
Terminplanung
Thomas Schissler, artiso AG
20Thomas Schissler, artiso AG
4 Fehlendes Projekt-
controlling
21
Problemsituationen
Budget ist fast aufgebraucht, aber es fehlen noch wichtige Funktionen
Zugesagte Termine können nicht eingehalten werden
Die Funktionen sind fertiggestellt aber es bleibt keine Zeit zum Testen
Probleme im Projekt werden zu spät erkannt
Thomas Schissler, artiso AG
22
Projektcontrolling = Plan – Ist - Vergleich
Thomas Schissler, artiso AG
23
Statusaktualisierung
Thomas Schissler, artiso AG
24
Zeit-Controlling
Thomas Schissler, artiso AG
25
Budget-Controlling
Thomas Schissler, artiso AG
DEMO
26Thomas Schissler, artiso AG
5 Entscheidungen
aufschieben
27
Problemsituationen
Längst bekannte Probleme verursachen einen hohen Anpassungsaufwand
Anpassungen und Fehlerbehebungen müssen über Gewährleistung erbracht werden
Architektur- oder Technologieentscheidungen stellen sich als problematisch heraus
Thomas Schissler, artiso AG
28Thomas Schissler, artiso AG
6 Mangelnde
Team-Koordination
29
Problemsituationen
Missverständnisse führen zu Mehraufwand
Keine konsistente Code-Qualität bei mehren Entwicklern
Kommunikation zwischen Tester und Entwickler ist zu aufwändig
Thomas Schissler, artiso AG
30
Contract First Design
Thomas Schissler, artiso AG
31
Kommunikation Tester Entwickler
Thomas Schissler, artiso AG
32Thomas Schissler, artiso AG
7 Qualitäts-probleme
33
Problemsituationen
Die Entwicklung verläuft planmäßig, jedoch das Testen und die Fehlerbehebung dauert wesentlich länger als angenommen.
Der Kunde findet im Test-Betrieb zu viele Fehler
Nach Monaten wird festgestellt, dass Ergabnisse, mit denen gearbeitet wurden, falsch waren.
Thomas Schissler, artiso AG
34
Testplanung
TDD Quick Start
Planung Implementierung Testen
35
Testplanung
TDD Quick Start
Planung Implementierung Testen
36
Testplanung
TDD Quick Start
Planung Implementierung
37
Testplanung
TDD Quick Start
PlanungImplementierung
Testen
38
Testplanung
TDD Quick Start
Iteration
39
Test-Methoden
Thomas Schissler, artiso AG
Integration Tests
Manual Tests
UI-Tests
Unit-Tests
40
Testaufwand
Thomas Schissler, artiso AG
41Thomas Schissler, artiso AG
8 Feature Creep
42
Problemsituationen
Budget und Termin reichen nicht aus, als Begründung werden ungeplante zusätzliche Funktionen angegeben – aber welche waren das nochmals genau?
Die Architektur-Basis passt irgendwann nicht mehr zu den aktuellen Funktionen
Thomas Schissler, artiso AG
43
Puffer-Verwaltung
Thomas Schissler, artiso AG
DEMO
44Thomas Schissler, artiso AG
9 Falsche
Prioritäten
45
Problemsituationen
Punkte die für den Kunden wichtig sind, werden erst erkannt, wenn diese durch den Kunden bemängelt werden.
Probleme werden zu spät im Projekt erkannt und behoben
Entwickler fokusieren sich zu stark auf Technologie-Themen
Thomas Schissler, artiso AG
46
Prioritäten richtig festlegen
Den Kunden fragen, was ihm wichtig ist
Prioritäten regelmäßig reviewen
Prioritäten im Team Kommunizieren
Prioritäten betreffen meist nicht-technische Aspekte
Thomas Schissler, artiso AG
47Thomas Schissler, artiso AG
10 Unterschätzte Technologie-komplexität
48
Problemsituationen
Durch den Einsatz einer modernen Technologie hätte Entwicklungsaufwand eingespart oder Vorteile beim Betrieb der Software realisiert werden können
Beim Einsatz einer neuen Technologie ist die Einarbeitszeit deutlich höher als geplant oder die implementierten Lösungen sind nicht ideal.
Thomas Schissler, artiso AG
49Thomas Schissler, artiso AG
Fazit
50
Fragen ???
Gerne jetzt.
Oder heute und morgen noch hier auf der BASTA.
Oder gerne per Mail an Tschissler@artiso.com
Mein Blog: http:// www.artiso.com/problog
Thomas Schissler, artiso AG
Recommended