10 gr nde f r das fehlschlagen von softwareprojekten l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 67

10 Gründe für das Fehlschlagen von Softwareprojekten PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on
  • Presentation posted in: General

10 Gründe für das Fehlschlagen von Softwareprojekten . Wer bin ich?. Thomas Schissler Software-Architekt und Projektleiter artiso AG Schwerpunkte sind Team Foundation Server Entwicklungsprozesse Software-Architektur und Software Design

Download Presentation

10 Gründe für das Fehlschlagen von Softwareprojekten

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


10 gr nde f r das fehlschlagen von softwareprojekten l.jpg

Thomas Schissler, artiso AG

10 Gründe für das Fehlschlagen von Softwareprojekten


Wer bin ich l.jpg

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


Wer sind sie l.jpg

Wer sind Sie?

Was machen Sie?

  • Produktentwicklung

  • Auftragsprogrammierung

  • Interne Entwicklung


Wer sind sie4 l.jpg

Wer sind Sie?

Welche Position haben Sie?

  • Entwickler

  • Projektleiter

  • Sonstiges?


Wer sind sie5 l.jpg

Wer sind Sie?

Wie definieren Sie ein fehlgeschlagenes Software-Projekt?


Wer sind sie6 l.jpg

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


Slide7 l.jpg

1

Zunehmende Komplexität


Problemsituationen l.jpg

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.


Komplexit t l.jpg

Komplexität


Komplexit t beherrschen l.jpg

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


Slide11 l.jpg

2

Unklare Spezifikation


Problemsituationen12 l.jpg

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


Textliche spezifikation l.jpg

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.


Workflow diagramme l.jpg

Workflow Diagramme


Funktionsbaum l.jpg

Funktionsbaum


Test als spezifikation l.jpg

Test als Spezifikation


Slide17 l.jpg

3

Unzureichende Planung


Problemsituationen18 l.jpg

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


Aufwandsabsch tzung l.jpg

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


Aufwandsabsch tzung20 l.jpg

Aufwandsabschätzung

DEMO


Terminplanung l.jpg

Terminplanung


Slide22 l.jpg

4

Fehlendes Projekt-Controlling


Problemsituationen23 l.jpg

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


Projektcontrolling plan ist vergleich l.jpg

Projektcontrolling = Plan – Ist-Vergleich


Statusaktualisierung l.jpg

Statusaktualisierung


Zeit controlling l.jpg

Zeit-Controlling


Budget controlling l.jpg

Budget-Controlling

DEMO


Slide28 l.jpg

5

Entscheidungen aufschieben


Problemsituationen29 l.jpg

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


Slide30 l.jpg

  • Probleme möglichst früh addressieren

  • Regelmäßige Reviews einführen

  • Erkannte Probleme dokumentieren und deren Lösung planen, nicht aufschieben


Slide31 l.jpg

6

Kommunikation


Problemsituationen32 l.jpg

Problemsituationen

  • Missverständnisse führen zu Mehraufwand

  • Keine konsistente Code-Qualität bei mehren Entwicklern

  • Kommunikation zwischen Tester und Entwickler ist zu aufwändig


Contract first design l.jpg

Contract First Design


Kommunikation tester entwickler l.jpg

Kommunikation Tester  Entwickler


Slide36 l.jpg

7

Qualitätsprobleme


Problemsituationen37 l.jpg

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.


Testplanung l.jpg

Testplanung

Planung

Implementierung

Testen


Testplanung39 l.jpg

Testplanung

Planung

Implementierung

Testen


Testplanung40 l.jpg

Testplanung

Planung

Implementierung


Testplanung41 l.jpg

Testplanung

Planung

Implementierung

Testen


Testplanung42 l.jpg

Testplanung

Iteration


Test methoden l.jpg

Test-Methoden


Testaufwand l.jpg

Testaufwand


Slide45 l.jpg

8

Feature Creep


Problemsituationen46 l.jpg

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


Ui driven development l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development48 l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development49 l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development50 l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development51 l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development52 l.jpg

Sender

Sender

Sender

UI Driven Development


Ui driven development53 l.jpg

Sender

Sender

Sender

UI Driven Development


Puffer verwaltung l.jpg

Puffer-Verwaltung

DEMO


Slide55 l.jpg

9

Falsche Prioritäten


Problemsituationen56 l.jpg

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


Priorit ten richtig festlegen l.jpg

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


V modell l.jpg

V-Modell

User Requirements

Acceptance Tests

Function Specification

Developer Tests

Software Design

Unit-Tests

Implemen-tation


Requirements und features l.jpg

Requirementsund Features

Requirement

Requirement

Module

Specification

Feature

Feature

Specification

Requirement

Requirement

Tasks

Tasks

Tasks

Tasks

Tasks

Tasks

Risks

Risks

Risks

Risks

Risks

Risks

Tests

Tests

Tests

Tests

Tests

Tests

Requirement

Requirement

Bugs

Bugs


Requirement decomposition l.jpg

Requirement Decomposition

UR

FS

Vision

Business Cases

Use Cases

DT

SD

RA

Nicht funkt. Requirements

Tasks / Testanf.

Code / Tests

AT

Qualitäts-dokumente


Agiles vs klassisches prozessmodell l.jpg

Agiles vs. Klassisches Prozessmodell

Start

Ziel

Ziel


Agiles vs klassisches prozessmodell62 l.jpg

Agiles vs. Klassisches Prozessmodell

Start

Ziel

Ziel


Slide63 l.jpg

10

Unterschätzte Technologie-komplexität


Problemsituationen64 l.jpg

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.


Slide65 l.jpg

  • Gutes Risiko-Management, Eskalationsszenarien einplanen

  • Zeit für Evaluierung neuer Technologien einplanen

  • Durch Architektur Entkopplung ermöglichen


Slide66 l.jpg

Fazit


Fragen l.jpg

Fragen ???

  • Gerne jetzt.

  • Oder gerne per Mail an [email protected]

  • Mein Blog: http:// www.artiso.com/problog


  • Login