5 Basics der Softwareentwicklung!

Ich habe nun Erfahrung mit vielen vielen Softwareprojekten. Es gibt jedoch einige Dinge die immer und immer wieder nicht richtig angegangen werden.

Hier eine Übersicht der 5 Basics, welche man in jeder Softwareentwicklung beachten sollte.

1) Keine Change Requests vor der Kundendemo

Wer kennt es nicht. Am Vortag oder am Tag der Kundendemo fällt dem Team auf, dass irgendeine wichtige Funktionalität nicht funktioniert oder ganz und gar fehlt.

a) Am besten gar keine neuen Funktionalitäten hinzufügen

Wenn eine neue Funktionalität hinzugefügt wird, dann verändern sich die Prozesse in der Software zum Teil so stark, dass man gar nicht weiss, welche Auswirkungen es auf das ganze System hat.

Daher am besten erst gar keine neuen Funktionalitäten hinzufügen!

b) Grosse Bug Fixes vermeiden

Wenn man einen oder ein paar Tage vorher merkt, dass es einen grossen Fehler im System gibt: Besser nicht anfassen.

Der bessere Ansatz ist, sich den Bug zu notieren und bei der Kundendemo darauf einzugehen.

Kurzfazit: Je nach Grösse des Projektes sollte man einige Tage vorher die Entwicklung ruhen lassen und sich nur noch auf das Testing der Lösung konzentrieren. Auch wenn man das Gefühl nicht los wird, dass man seine Zeit nicht effektiv nutzt. Besser: Testen, Testen, Testen.

2) Es braucht immer doppelt so lange und es ist mindestens doppelt so teuer wie initial geplant

Ich habe noch kein IT Projekt gesehen, wo eine Anforderungsliste und eine Zeitplan erstellt und diese genau so ausgeführt wurde.

Die Anforderungen haben sich immer geändert.

Der Zeitplan hat sich immer geändert.

Meistens werden zusätzliche Anforderungen hinzugefügt, welche das Budget steigen und den Zeitrahmen zunehmen lässt.

Kurzfazit: Dementsprechend bei jedem IT Projekt: zusätzliches Budget und Zeit einplanen. Der Agile Ansatz kann hierbei helfen.

3) Missverständnisse zu den Anforderungen sind an der Tagesordnung

Wenn der Kunde ABC sagt, dann kommt in den meisten Fällen XYZ beim Entwicklerteam beim Dienstleister an.

Erst nach der ersten Version wird dann klar, dass in die falsche Richtung entwickelt wurde und der Kunde etwas ganz anderes wollte.

Das ist fast immer so.

Dieser Herausforderung kann man entgegenwirken: Den Liefertermin für die erste Version so früh wie möglich setzen. Somit kann der Kunde dann sein Feedback geben.

4) Die Dokumentation zur Software fehlt fast immer

Man kann machen was man will: In den meisten Fällen wird keine Code Dokumentation oder eine Dokumentation zur Softwareentwicklung erstellt.

Zum einen sieht das der Endkunde ja nicht und der Vorteil ist nicht gleich ersichtlich. Und zudem: Wer bezahlt den Aufwand zur Erstellung einer ausführlichen Dokumentation? Genau. Niemand.

Ein gutes Software Team stellt jedoch sicher, dass diese Dokumentationen erstellt werden. Denn nur so kann die Software auch mehrere Jahre weiterentwickelt und gewartet werden.

5) Der Testingaufwand wird vollkommen unterschätzt

In vielen Teams, welche Softwareprojekte ausführen, wird das Testing meistens zum Ende der Entwicklung am letzten Tag, vor der Auslieferung der Software, durchgeführt.

Zu diesem Zeitpunkt (vor der Auslieferung der Software) wird dann klar, dass es unendlich viele Bugs gibt, welche man beheben muss.

Um gute Software zu entwickeln muss man jedoch parallel zur Entwicklung testen. Und danach, wenn alles fertig programmiert ist, sollte man sich wiederum einiges an Zeit nehmen (in einigen Fällen Tage, manchmal Wochen und vielleicht auch Monate!).

Kurzfazit: Wer denkt, dass man am letzten Tag, für ein paar Stunden testen kann, und dann alles richtig läuft, der wird nicht zufrieden sein mit dem Resultat.

Fazit

Viele viele Projekte laufen mit allen diesen 5 Fehlern, welche in diesem Beitrag beschrieben wurden, auch bei IT Dienstleistern mit mehreren Jahren Erfahrung.

Man sollte sich dieser Punkte bewusst sein, um eine bessere und vor allem – angenehmere (ein anscheinend unbeliebtes Wort in der Softwareentwicklung) – Projektabwicklung zu haben.

Was ist Deine Meinung! Ich freue mich auf Kommentare!


Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

1 Kommentar
  1. Ein ebenfalls unterschätzter Punkt bei größeren bzw. lang laufenden Projekte sind neue Releases bzw. Upates der verwendeten Frameworks und Libraries während der Entwicklung. Deren Pflege muss bei der Planung ebenfalls einbezogen werden.

Schreibe einen Kommentar