Liebe Leserinnen,
Lieber Leser,
herzlich willkommen zu unserem vierten Newsblog von der Lakeshore Operations GmbH.
Wir haben in den vergangenen Jahren viele Softwareprojekte umgesetzt. Ja, dabei haben wir auch Fehler gemacht.
In diesem Blog wollen wir die 7 größten Fehler unserer Softwareprojekte aufführen, die wir besser hätten machen können. Diese Aufzählungen sind sicherlich nicht allgemein gültig. Es beschreibt vielmehr unsere Sicht und soll Sie dabei unterstützen, ähnliche Fehler zu vermeiden.
1. Zuviel Zeit in die Planung der Sofwareprojekte gesteckt
Was ist das für eine Aussage? Zu viel Planung? Was für ein Quatsch?
Nach unserer Auffassung gibt es hier große Irrtümer. Wir haben bei vielen Softwareprojekten intensive Planungen betrieben. Wir haben mit großem Aufwand Lastenhefte geschrieben. Der potentielle Auftraggeber hat dann für viel Geld ein entsprechendes Pflichtenheft erstellt. Das Ergebnis war fast immer gleich.
Das Lastenheft bzw. Pflichtenheft entsprach am Ende nie dem Ergebnis der Software. Während der Umsetzung kamen immer wieder Änderungen bzw. neue Anforderungen hinzu, die die ursprüngliche Planung über den Haufen geworfen haben.
Am Anfang steht eine Idee, wie Prozesse automatisiert bzw. verkürzt werden können. Es ist aber unmöglich aus dieser Idee schon komplett eine Lösung auf Papier zu konzipieren, die funktioniert. Hier muss man verschiedene Lösungen auch mal testen, abwarten wie der Kunde darauf reagiert und dann entsprechende Anpassungen vornehmen. Eine fertige umfassende Planung ist hier eher hinderlich, da diese doch häufig am Endkunden vorbeigeplant wurde.
Wir werden sicherlich in einem weiteren Blog darauf genauer eingehen, wie aus unserer Sicht Software geplant werden sollte und man so schneller in die Umsetzung kommt.
2. Zu geringe Kommunikation mit den Entwicklern
Das ist in unseren Augen eines der Hauptgründe für das Scheitern von Softwareprojekten.
Ich kann mich noch gut an ein Projekt einer Gewerkschaft erinnern, die eine Mitgliederdatenbank aufbauen wollte. Das liegt schon sehr viele Jahre zurück. Die Gewerkschaft hatte ein umfangreiches Lastenheft mit ihren Anforderungen formuliert.
Es gab alle zwei Monate ein Projektmeeting, in dem der Entwickler seine Fortschritte demonstrieren sollte. Nach sechs Monaten warf der Programmierer das Handtuch. Der damalige Entwicklungsstand war nicht zu gebrauchen, so dass hier von vorne angefangen werden musste.
Das Beispiel ist vielleicht sehr kraas. Doch nur, wenn der Entwicklungsstand regelmäßig ausgetauscht und dem Programmierer eine Richtung für die kommende Woche vorgegeben wird, weiß dieser was er tun soll. Nur so kann der zeitliche Fortschritt auch wirklich kontrolliert werden.
3. Fixpreisprojekte
An diesem Punkt streiten sich sicherlich die Geister.
Fixpreisprojekte sind nur möglich, wenn die Anforderungen wirklich im Detail konkret formuliert wurden. Da es kaum möglich ist, ein größeres Softwareprojekt so detailliert zu beschreiben wie es am Ende tatsächlich aussehen soll, werden die Auftragnehmer preislich immer umfangreiche Sicherheitspuffer einbauen. Wenn es dann im Laufe der Umsetzung zu einer Änderung kommt, wird es mit Sicherheit teurer, es sei denn man kann Funktionalitäten gegeneinander austauschen.
Wir bieten Fixpreisprojekte auch immer noch an, da viele unserer Kunden danach fragen. Wir sind inzwischen aber der Auffassung, dass Projekte, die nach tatsächlichem Aufwand abgerechnet werden, mit einem fairen Auftragnehmer in Summe deutlich günstiger sind.
4. Testphase zu kurz geplant
Bei diesem Punkt werden uns sicherlich viele zustimmen. Unserer Schätzung nach dauert die Testphase immer länger als geplant. Bis ein Prototyp dauerhaft in eine produktive Umgebung überführt wird, bedarf es einer ganzen Reihe von Tests. Bei Tests sind aber selten Fehlschläge berücksichtigt. Viele sehen die Tests nur als Formsache an, wo kleine Fehler korrigiert werden.
Häufig werden erst in der Testphase echte Endnutzer mit einbezogen, die dann mit anderen Ideen um die Ecke kommen oder feststellen, dass der neue Prozess so gar nicht funktioniert. Bei so einer größeren Änderung sind dann häufig größere Programmierarbeiten notwendig und das Ganze dauert deutlich länger.
5. Programmierung durch Freelancer
Freelancer sind eine sehr wichtige Komponente zur Entwicklung von Software. Sie sind quasi jederzeit und mittlerweile bequem über das Internet zu engagieren.
Problematisch wird es nur, wenn Freelancer komplett alleine die Software entwickeln. Was passiert, wenn später Änderungen vorgenommen werden oder es Fehler in der Software gibt? Sind die Freelancer dann noch verfügbar? Wir haben des Öfteren erlebt, dass ein Freelancer, der für uns eine Software geschrieben hat, einfach nicht mehr als Programmierer tätig war. Somit war komplett unklar, wie es hier weitergeht.
Der Einsatz von Freelancern ist immer dann sinnvoll, wenn diese in ein bestehendes Softwareteam eingebunden sind und der Support bzw. spätere Weiterentwicklungen nahtlos weitergeführt werden können.
6. Nutzungsrechte sind nicht klar geregelt
Urheberrechte oder die Nutzungsrechte an einer Software sind immer ein heikles Thema. Es sollte deshalb vorher klar geregelt sein, welche Partei hat folgende Rechte an der Software.
Ist das nicht geregelt, haben die Parteien am Ende mit Sicherheit andere Auffassungen. Wir raten deshalb dringend, dass in jedem Softwarevertrag in einem Absatz ganz klar die Rechte der einzelnen Vertragspartner an dieser Software geregelt sind.
7. Fehlende Dokumentation
Dokumentation ist ein leidiges Thema. Auch hier werden uns viele zustimmen.
Ein Softwaresystem wird ständig weiterentwickelt. Die Programmierung wird im Laufe der Zeit durch verschiedene Entwickler weitergeführt. Eine unzureichende Dokumentation des Sourcecodes kann die Weiterentwicklung später zu einem Alptraum werden lassen.
Bei der Qualitätskontrolle sollte ein Kunde auch immer einen Blick in den Sourcecode werfen, auch wenn dieser davon nichts versteht. Entscheidend ist hier, ob der Programmierer seinen eigenen Quelltext hinreichend dokumentiert hat.
Wir werden in zukünftigen Blogs mit Sicherheit noch näher auf diese 7 Punkte eingehen und hoffen, dass Sie ähnliche Fehler in Zukunft weitgehend vermeiden können.
Spannend für Sie!
Die Lakeshore Operations GmbH ist ein Softwarehaus, welches 2016 gegründet wurde, um Firmen bei den Prozessen der Digitalisierung zu unterstützen. Wir können aus einem Erfahrungsschatz von mehr als 20 Jahren zurückgreifen. Mit IT-Experten aus Rostock und Hamburg sowie Programmierer aus Polen hat die Lakeshore Operations GmbH ein schlagkräftiges Team, um großen oder kleinen Unternehmen bei deren IT oder Softwareprojekten zu unterstützen.
Welchen Weg wollen Sie gehen?
Haben Sie sich entschieden, Ihr Unternehmen auf den aktuellen Stand des digitalen Fortschritts zu bringen? Wollen Sie die richtigen Lösungen finden, damit Sie Ihre Arbeitsabläufe verkürzen können? Dann sind Sie hier genau richtig.
Damit schaffen Sie es, Ihre Mitwettbewerber zu überholen und Ihnen einen Platz am Markt zu sichern. Nicht der Große frisst den Kleinen, sondern der Schnelle die Langsamen.
Wir wünschen Ihnen viel Erfolg dabei!
Herzliche Grüße
Jürgen Möller & Gunnar Bock