Ihre Entwickler arbeiten in unserer Niederlassung in Indien

Warum es wichtig ist eine Software Dokumentation zu schreiben

Warum es wichtig ist eine Software Dokumentation zu schreiben

Viele Software-Projekte werden nicht zu Ende geführt oder können nicht weiterentwickelt werden. Der Grund liegt meistens nicht am Programmier-Code selbst, sondern an der fehlenden Dokumentation der Entwicklung.

In vielen Fällen hat der Entwickler, der die neue Aufgabe übernehmen soll, kein wirkliches Interesse, sich in den Code des Vorgängers einzuarbeiten. Oder das Management hält es für sinnlos, das der Programmierer sich mehrere Monate damit beschäftigt, sich in die Codierung einzuarbeiten.

So fällt dann oftmals die Entscheidung alles von neu auf zu programmieren.

Dieser Aufwand kann mit einer guten Dokumentation vermieden werden.

Im Beitrag einige Informationen, warum eine Dokumentation der Entwicklung so wichtig ist und wie man dies angeht.

Schnell, schnell, schnell

In fast allen Projekten fehlt ein ausreichendes Budget. Dementsprechend versucht man “unnötige” Zeitfresser zu vermeiden.

Meistens wird auf folgende Bereiche verzichtet:

  • Eine sorgfältige Planung der Software Architektur
  • Prüfung der Updatefähigkeit der Anwendung
  • Zukunftsfähigkeit der benutzten Technologie
  • Und vor allem auf die Dokumentation der Programmierung

Durch die Eliminierung dieser Punkte entsteht eine Lösung, die zwar sehr schnell erstellt, jedoch kaum erweiterbar ist.

Oh, der Entwickler ist weg

Mit was viele nicht rechnen ist, dass der Programmierer, der an dem System arbeitet, nicht ewig im Unternehmen bleibt. In der heutigen Zeit bleiben Mitarbeiter in der IT im Schnitt 2 bis 3 Jahre in der Firma.

Sobald der Mitarbeiter das Unternehmen verlässt steht man dann vor einer grossen Herausforderung. Denn zum einen möchte man vermeiden, vorhandene oder neue Softwareentwickler, an bestehenden Projekten zu lange recherchieren zu lassen und zum anderen sollen diese so schnell wie möglich produktiv sein.

Und Produktivität wird oftmals daran gemessen, wieviel Zeilen Code produziert werden… und wenn sich der Entwickler in ein bestehendes System einarbeitet, dann entsteht im Regelfall in den ersten paar Wochen und Monaten erstmal überhaupt keine neue Zeile in der Anwendung.

Der Neue hat Schwierigkeiten sich in die Lösung einzuarbeiten

Der neue Entwickler/ Entwicklerin der mit der Aufgabe betraut wird, hat in den meisten Fällen kein wirkliches Interesse sich in den “Wust” der Programmierung seines Vorgängers einzuarbeiten.

Der Vorschlag des Neuen kommt dann auch gleich, dass man doch alles von neu auf machen sollte. Vorteile wie “bessere und durchdachtere Architektur”, “die Verwendung von neuen und zeitgemässen Technologien”, “eine schnellere und sicherere Anwendung”, und einige weitere werden als Gründe dafür angebracht.

Das Management möchte den Mitarbeiter natürlich nicht vergraulen und lässt sich meistens darauf ein. Und schon hat man die Arbeit des Vorgängers komplett aufgegeben. Oftmals handelt es sich hier um mehrere Monate und manchmal mehrere Jahre an Arbeitsinput.

Die bessere Lösung: sorgfältig dokumentieren

Es lassen sich zwei grobe Typen von Softwareentwicklungs-Aufgaben unterscheiden: 1) Service-basierte Projekte und 2) Produktentwicklung.

In der Produktentwicklung geht es meistens darum, Softwarepakete zu erstellen, welche unterschiedlichen Kunden jeweils in der gleichen Form angeboten werden.

In diesen Produkt-Projekten besteht meistens einiges an Zeit die Software zu entwickeln und zu bearbeiten.

In solchen Projekten sollte man immer auf eine ganz genaue Dokumentation achten und darauf bestehen, dass diese erstellt wird. Auch wenn dies einen Mehraufwand bedeutet.

Folgende Bereiche können Teil dieser Dokumentierung sein:

  • Code Kommentare: In den Programmier-Code eingearbeitete Kommentare
  • Architektur-Beschreibung: Eine Dokumentation wie die Architektur des Systems aussieht
  • API-Beschreibungen: Wie sind Schnittstellen gebaut

Daneben gibt es noch viele weitere Dokumente die sich erstellen lassen. Hier einige davon:

  • Für Benutzer: Wie wird die Anwendung richtig genutzt
  • Für Tester: Welche Testfälle gibt es? Wie wurden bisherige Fehler im System erfolgreich gefunden?, etc.
  • Für Daten: Wie sind die Daten gegliedert? Welche Datentypen gibt es?, etc.
  • Für die Installation: Wie wird das System installiert? Welche Umgebung benötigt es?, etc.

Meistens werden nur ein kleiner Teil dieser Informationen verfasst, denn Zeit ist auch in der Entwicklung von Produkt-Lösungen knapp.

Bei Service-orientierten Projekten, in der es sehr schnell gehen muss, wird oftmals nur die Code-Kommentierung vorgenommen. Auch diese kann bereits zukünftigen Teammitgliedern oder externen Programmierern bei der Weiterentwicklung sehr weiterhelfen.

Ergänzende Informationen

Zu diesen ganzen Dokumentationen kommen meistens noch das Pflichten/ Lastenheft, Emails aus der Kommunikation mit dem Kunden, etc. Diese Informationen runden das Ganze ab und das Team, welches die Entwicklung übernimmt hat es einfacher sich in das System einzuarbeiten.

Fazit

Gefühlt 50 bis 70 Prozent (nicht gestützt auf Statistiken) von Programmierungen werden in einem kurzem Zeitraum von wenigen Jahren obsolet. Der Grund dafür liegt einfach daran, dass es einfach nicht mehr möglich ist, sich für eine neue Person in das Projekt einzuarbeiten.

Erfolgreiche Softwareprojekte basieren daher immer auf einer guten Planung und Beschreibung der Programmierung.

Auch gestandene IT Unternehmern verzichten erstaunlicherweise, meistens aus Zeitdruck, auf jegliche Kommentierungen des Codes. Auch wenn das Fertigstellungsdatum vom Kunden her sehr eng gesteckt sein sollte: Eine Basis-Beschreibung, zum Beispiel in Form einer kurzen Code-Kommentierung, sollte immer eingeplant sein.

Was ist Ihre Erfahrung dazu?

Interessante Beiträge:
Wikipedia-Eintrag zum Thema
Entwicklerdokumentation: Nötig oder unnötig?

Bilder: Flickr.com/ Kat/ Westby


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.

Artikel teilenShare on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone
Kommentar hinterlassen

Adresse

YUHIRO Entwicklungszentrum
Thattil Nadakalan Complex
(Opp. Church) Kuriachira
Thrissur, Kerala - 680008, Indien
Phone: +91 9846861166
Webseite: www.yuhiro.de
Email: info@yuhiro.de

YUHIRO

Wir arbeiten eng mit Ihnen zusammen um Ihre Anforderungen zu verstehen und daraufhin den richtigen Softwareentwickler für Sie zu finden und bereitzustellen.