Aus dem Alltag der Softwareentwicklung: Wie entsteht Individualsoftware?
Heute nutzen wir die Gelegenheit, anhand eines konkreten Projekts den Weg von der Idee einer eigenen Software bis hin zum fertigen Produkt nachzuzeichnen. Dies soll Ihnen einen Einblick in eine der zahlreichen möglichen Vorgehensweisen der Softwareentwicklung ermöglichen und dabei einige häufig verwendete Begriffe aus diesem Bereich erläutern.
Bei dem genannten Projekt handelt es sich um ein digitales Bautagebuch für ein Nürnberger Bauunternehmen, welches es Bauarbeitern vor Ort ermöglichen soll, den Baufortschritt mithilfe eines Tablets oder Smartphones zu dokumentieren.
Der erste Schritt – Die Besprechung der Idee:
Der Kunde kam mit einer konkreten Vorstellung zu uns. Die Bauarbeiter, die bislang ihre Baufortschritte schriftlich zu Papier brachten, sollten künftig in der Lage sein, diese digital, vor allem mithilfe der Spracheingabe festzuhalten. Ein Administrator sollte jederzeit Zugriff auf diese Daten haben und die erstellten Berichte im PDF-Form ausdrucken und bearbeiten können.
In einem ersten Gespräch wurden die grundlegenden Funktionen der Software erarbeitet. So wurde geklärt, mit welchem Tablet-Typ, welchem Betriebssystem und welcher Spracherkennung gearbeitet werden könnte. In diesem Fall konnten wir zu einer progressiven Webanwendung raten, entwickelt mit PHP und Angular.
Vor dem ersten Besprechungstermin hatten wir bereits einen grafischen Dummy erstellt, der es dem Kunden ermöglichte, einen ersten Einblick in das mögliche Layout und die Benutzerführung zu erhalten.
Das Lastenheft:
Das reine Besprechen der Funktionen, des Designs und des Aufbaus ist natürlich nicht genug. Nun lag es am Kunden, ein Lastenheft zu erstellen. In diesem werden schriftlich alle notwendigen Anforderungen festgehalten. Dies ermöglicht dem Kunden nochmals eine Reflektion der gewünschten Funktionen und dient uns als Grundlage für das offizielle Angebot und die Erstellung eines Pflichtenhefts.
Das Pflichtenheft:
Auf Grundlage des Lastenhefts erstellten wir nun das Pflichtenheft. In diesem gaben wir genau an, was wir umsetzen und wie wir dies tun. Auch werden hier die Pflichten von Auftragnehmer und Auftraggeber geklärt. So enthält das Pflichtenheft beispielsweise die Anforderung, welcher Webserver mit welchen Funktionen vom Auftraggeber bereitgestellt werden muss.
Das Pflichtenheft bildet die Grundlage für den Softwareentwicklungsvertrag.
Der rechtliche Teil – Softwareentwicklungsvertrag
Nimmt der Kunde das Angebot an, erhält er den Softwareentwicklungsvertrag. Dieser regelt alle rechtlichen Modalitäten und ist stets an das Pflichtenheft gekoppelt.
Nun kann entwickelt werden
Die Entwickler konnten nun mit Ihrer Arbeit beginnen. Einzelne Projektabschnitte wurden in Milestones unterteilt und eng orientiert am agilen Scrum-Konzept entwickelt. Dabei legen wir stets großen Wert darauf, den Kunden regelmäßig in die aktuelle Entwicklung miteinzubeziehen. Wir erachten das als sehr wichtig, da trotz bester Vorbereitung immer die Gefahr von Missverständnissen gegeben sein kann. Zudem kann es sehr wohl möglich sein, dass auch während der Entwicklung neue Ideen entstehen, die entweder zu einem späteren Zeitpunkt oder während der Entwicklung miteingeflochten werden können.
Die Testphase
Das Projekt wurde kurz vor dem veranschlagten Entwicklungsende fertig und konnte dem Kunden übergeben werden. In einer zweiwöchigen Testphase wurde das Produkt vom Kunden auf Herz und Nieren getestet. Im Laufe dieser Testphase wurden neue Anforderungen definiert, die allesamt zeitnah umsetzbar waren.
Die Abnahme
Nachdem alle Entwicklungen abgeschlossen und das Produkt vom Kunden getestet werden konnte, erfolgte die Abnahme. Der Kunde bestätigt die fehlerfreie und zufriedenstellende Funktionalität der Anwendung und übernimmt diese in seinen laufenden Betrieb.
Es freut uns sehr, dass wir während der Entwicklung mit unseren Impulsen zur Weiterentwicklung der Idee beitragen und am Ende ein effizient und fehlerfrei arbeitendes Produkt abliefern konnten. Dank der sehr angenehmen und unkomplizierten Arbeit zwischen dem Kunden und uns konnten wir den Kunden umfassend zufriedenstellen. Die Anwendung ist heute sehr erfolgreich im Nürnberger Umland im Einsatz und soll künftig weitere Verbreitung in der Branche finden.