Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | bathilda-ander |
View: | 104 times |
Download: | 0 times |
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
10 Gründe für das Fehlschlagen von
Softwareprojekten
Thomas Schissler, artiso AG
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Wer bin ich?
Thomas SchisslerSoftware-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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Wer sind Sie?
Was machen Sie?
Produktentwicklung
Auftragsprogrammierung
Interne Entwicklung
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Wer sind Sie?
Welche Position haben Sie?
Entwickler
Projektleiter
Sonstiges?
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Wer sind Sie?
Wie definieren Sie ein fehlgeschlagenes Software-Projekt?
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
1 Zunehmende Komplexität
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Problemsituationen
Bewährte Prozesse werden beibehalten obwohl das Umfeld sich verändert hat
Moderne Softwareentwicklung erfordert geänderte Team- und Projektstrukturen die aber wiederum geeignete Prozesse voraussetzen.
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Komplexität beherrschen
Spezialisten vs. Generalisten
Über Prozesse relevante Themen addressieren
Risiken erkennen und vorbeugen
Abstraktion durch Tool-Unterstützung
Komplexität reduzieren
Dokumentation
Architektur
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
2 Unklare Spezifikation
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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.
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Workflow Diagramme
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Test als Spezifikation
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
3 Unzureichende
Planung
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Aufwandsabschätzung
DEMO
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
4 Fehlendes Projekt-
Controlling
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Projektcontrolling = Plan – Ist-Vergleich
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Statusaktualisierung
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Budget-Controlling
DEMO
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
5 Entscheidungen
aufschieben
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Probleme möglichst früh addressieren
Regelmäßige Reviews einführen
Erkannte Probleme dokumentieren und deren Lösung planen, nicht aufschieben
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Problemsituationen
Missverständnisse führen zu Mehraufwand
Keine konsistente Code-Qualität bei mehren Entwicklern
Kommunikation zwischen Tester und Entwickler ist zu aufwändig
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Contract First Design
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Kommunikation Tester Entwickler
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
7 Qualitätsprobleme
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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.
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Testplanung
Planung Implementierung Testen
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Testplanung
Planung Implementierung Testen
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Testplanung
Planung Implementierung
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Testplanung
PlanungImplementierung
Testen
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Testplanung
Iteration
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Test-Methoden
Integration Tests
Manual Tests
UI-Tests
Unit-Tests
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
UI Driven Development
SenderSenderSender
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Puffer-Verwaltung
DEMO
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
9 Falsche Prioritäten
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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
Requirement Management
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
V-Modell
User Requirements
Function Specification
Software Design
Developer Tests
Unit-Tests
Acceptance Tests
Implemen-tation
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Requirements und Features
Feature
Tasks
Risks
Tests
Bugs
Feature
Tasks
Risks
Tests
Bugs
Requirement
Requirement
Requirement
Requirement
Requirement
Requirement
Specification Specification
TasksTasks
RisksRisks
TestsTests
Tasks
Risks
Tests
Tasks
Risks
Tests
Module
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Requirement Decomposition
Requirements aufnehmen
Features und Module
definieren
Spezifikation erstellen
Risiken analysieren
Aufgaben planen
Implementieren und Testen
Business Cases
Vision Use Cases
Nicht funkt. Requirements
Tasks / Testanf.
Code / Tests
Qualitäts-dokumente
URFS
SD RADT
AT
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Agiles vs. Klassisches Prozessmodell
Start ZielZiel
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Agiles vs. Klassisches Prozessmodell
Start ZielZiel
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
10 Unterschätzte Technologie-komplexität
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
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.
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Gutes Risiko-Management, Eskalationsszenarien einplanen
Zeit für Evaluierung neuer Technologien einplanen
Durch Architektur Entkopplung ermöglichen
artiso solutions GmbH | Oberer Wiesenweg 25 | 89134 Blaustein | [email protected]
Fragen ???
Gerne jetzt.
Oder gerne per Mail an [email protected]
Mein Blog: http:// www.artiso.com/problog