Worauf man bei der externen Softwareentwicklung achten sollte (meine Top 4)

Photovoltaikanlage und die UmsatzSteuer
Der Photovoltaik Februar 2021
7. März 2021
Photovoltaikanlage und die UmsatzSteuer
Der Photovoltaik März 2021
1. April 2021
Photovoltaikanlage und die UmsatzSteuer
Der Photovoltaik Februar 2021
7. März 2021
Photovoltaikanlage und die UmsatzSteuer
Der Photovoltaik März 2021
1. April 2021

Worauf man bei der externen Softwareentwicklung achten sollte (meine Top 4)

Dieser Post handelt von meinen Erfahrungen i.d. Softwareentwicklung (kein großes Projekt) durch Vergabe an einen externen Dienstleister, also an Leute, die für mich eine Software gegen Entgelt entwickeln sollten. Ich dachte, es hilft vielleicht Frischlingen auf diesem Gebiet, wenn ich diesen Artikel schreibe und meine Erfahrungen grob kommuniziere. Vorab: nein, ich habe keine „kleine Klitsch“ (schön wäre es gewesen!) mit der Umsetzung beauftragt, sondern eine Firma, die mir nach außen hin einen seriösen und gestandenen Eindruck geliefert hat.

Ganz kurz gesprochen, solltest du, meiner Meinung nach, auf die folgenden 4 Dinge unbedingt Acht geben:

  1. Bezahle niemals komplett, bevor die Software nicht komplett fertiggestellt und fehlerfrei ist.
  2. Achte darauf, dass in Deinem Vertrag Fristen zur Fertigstellung festgehalten werden.
  3. Nutze am besten ein Ticketsystem
  4. Dokumentation

Die Bezahlung

Komm am besten gar nicht auf die Idee, die Rechnung aus Motivationsgründen der Entwicklerfirma komplett vorab zu bezahlen. Eine Anzahlung von 50% ist durchaus üblich und in Ordnung, aber ich würde nie mehr die restlichen 50% aus Naivität bezahlen, bevor nicht alles in trockenen Tüchern ist.

Dazu gehört nicht nur, dass die Software deiner Meinung nach fehlerfrei ist, sondern auch, dass Sie freigegeben werden kann. Bedeutet: falls Du eine App im App Store oder ein Plugin für Shopware im Shopware-Store anbieten möchtest, diese Unternehmen Deine Software vor dem Release auch freigeben müssen. Und darin kann eine ganz schön große Hürde liegen, wenn Sich das beauftragte Unternehmen nicht genau a.d. Richtlinien der Plattformbetreiber hält. Auch falls sie zertifiziert sind, das heißt erstmal wenig. Ich spreche aus Erfahrung, wenn ich schreibe, dass ein vom Plattformbetreiber zertifiziertes Unternehmen Probleme damit hatte, die Software so zu coden, dass Sie vom selbigen Betreiber auch aktzeptiert wurde. Das Kostet Zeit, Nerven und sorgt für Frust.

Aber das wichtigste daran: du verlierst sofort den „Hebel„, wenn du die Rechnung komplett bezahlst, bevor die Leistung nicht komplett und fehlerfrei erbracht wurde. Es gibt keinen Grund Geringeres zu akzeptieren, denn dafür hast du auch nicht bezahlt bzw. einen Auftrag vergeben. Achte darauf, dass die Auslieferung nicht an eine Komplettzahlung geknüpft ist, damit du die Chance hast zu prüfen, was man dir liefert. Achja, und dass der Code der Software am Ende nur Dir gehört, ist wohl selbstverständlich.

Auch sollte genau vertraglich festgelegt sein, dass es sich z.B. um einen Festpreis handelt, damit die Kosten auf jeden Fall gedeckelt sind und Folgefehler usw. nicht an dich berechnet werden. Das ist ein sehr wichtiger Punkt! Immerhin das hat bei mir funktioniert 😉

Fristen setzen

Dein Softwareprojekt wurde mit 3-4 Wochen angesetzt? – Coole Sache, in meinem Fall wurden daraus nur leider bis zum Release 9 Monate, weil ich eben (wieder mal aus Naivität und fehlender Erfahrung) keine Frist zur Fertigstellung vertraglich festgehalten habe. Sollte Dein Gegenüber eine Projektdauer bzw. einen Fertigstellungstermin nicht vertraglich festhalten wollen, solltest du Dich mal fragen, warum das so sein könnte.

Noch ein wichtiger Punkt: stell´ Dir mal vor, Dein Projekt läuft so richtig aus den Fugen (Fehler, deren Fix neue Fehler erzeugen, keiner schaut sich Zwischenergebnisse richtig an, Projektmanager (PM) überfordert usw.) und du beschießt Deinen PM regelrecht mit eMails zur Korrektur, Fehlerbehebung usw. und setzt keine Fristen. Dann etablierst du eine Gewohnheit des Aufschiebens ohne Konsequenzen und Fristen. Irgendwann verlierst du vielleicht die Geduld und willst eine Klage starten. Dann erklär´ mal dem Richter, warum du 20 Mal keine Frist gesetzt hast bzw. die Sachlage mehr oder weniger „akzeptiert“ hast und es jetzt beim 21. Mal anders ist. 😉

Gewöhn Dir daher im Geschäftsleben direkt an, Fristen zu setzen, wenn die Gegenseite sich nicht an die Abmachungen hält. Sollte es mal hart auf hart kommen, musst du immer erst eine Frist gesetzt haben. Diese muss natürlich erfüllbar sein, aber vorher kannst du Dir den Gang zum Anwalt vermutlich sparen. Auch eine zu kurz gesetzte Frist hat Wirkung, denn die hält Deinen Dienstleister nicht davon ab, die Sachlage in angemessener Zeit dann doch noch nach Fristablauf zu lösen. Ferner kannst du Aussagen bzgl. der Ablehnung von Fristsetzungen erstmal außen vor lassen, denn so eine Frist läuft, egal ob das Gegenüber sie aktzeptiert oder nicht.

Ich will nicht alles schwarzmalen, aber es sind viele schwarze Schafe unterwegs und diese beiden Punkte (Bezahlung und Fristsetzung) haben mir heftige Schwierigkeiten i.d. Umsetzung meiner ersten Software mangels Erfahrung gebracht. Und beides aus falschen Gründen: schnelles Bezahlen für mehr Motivation – Blödsinn! Folgefehler zu lange ausgehalten bzw. mitgetragen und keine Fristen gesetzt – bringt nichts! Erst als ich angefangen habe, fristen schriftlich zu setzen, hat sich das Gegenüber in seinem Verhalten etwas verändert.

Ticketsystem

Es kann durchaus passieren, dass du Deinen PM mit Deinen Anmerkungen, Kritik, Feedback zu Zwischenständen etc. inhaltlich überforderst, falls du das alles per E-Mail (schriftlich) kundtust. Da kommen durchaus schnell mal 100-200 E-Mails in wenigen Monaten zusammen und man verliert schnell den Überblick. Ich hatte so nach 9-10 Wochen bereits ca. 100 eMails geschrieben.

Besser ist es natürlich, wenn erst gar nicht so viel kommuniziert werden muss. Ein Ticket-System, welches dann i.d. Mitte des Projekts endlich eingesetzt wurde, hatte auf jeden Fall etwas Entzerrung gebracht. So behält man erstens themenweise besser den Überblick, hat zweitens eine bessere Nachweisbarkeit und drittens i.d.R. direkt den zugewiesenen Ansprechpartner/Entwickler. Deine beauftragte Firma bringt sowas im besten Fall direkt mit (z.B. Jira).

Dokumentation

Wichtige ist, dass Du dir eure Abmachungen schriftlich (z.B. per eMail) bestätigen lässt, zur Nachweisbarkeit. Daher sollten nicht nur Absprachen während des Projekts festgehalten werden, sondern, oder um nicht zu sagen, vor allem, das was beauftragt wurde. Und das macht man mit einem Pflichten-/Lastenheft. Dieses sollte vor Auftragsbeginn sauber von dir definiert und mit Deinem Entwickler ausgearbeitet worden sein.

Gut wäre übrigens auch, wenn du zu dem von Dir bezahlten Code eine Dokumentation vertraglich festgelegt hast und so erhalten kannst. Gab´s bei mir natürlich auch nicht. Wenn es einfach läuft, dann läuft es… Die Dokumentation dient z.B. späteren/anderen Entwicklern dazu, sich schneller im Code zurechtzufinden und Deine Weiterentwicklungen voranzutreiben.

Ich hoffe, dass Dir diese Punkte helfen konnten, Dein Softwareprojekt vernünftigt und möglichst effektiv umzusetzen.