Wie wir arbeiten

Agile Entwicklung & MVP Konzeption

Wie wir arbeiten

Noch bevor die Corona Pandemie viele Unternehmen zum Umdenken bewogen hat, haben wir die coderei GmbH vollständig digital organisiert. Dadurch konnten wir unsere internen Prozesse zur Softwareentwicklung nicht nur effizienter gestalten, sondern ermöglichen unseren Kunden dadurch einen transparenten Einblick und einen gezielten Informationsaustausch.
In der Softwareentwicklung ist das Erfassen und Aufbereiten der Informationen des Auftraggebers fast genauso wichtig, wie das Knowhow des Entwicklers. Erst wenn klar und eindeutig verstanden wurde, was mit einer Anwendung bezweckt und wie sie aufgebaut werden soll, können diese Informationen für einen Entwickler nachvollziehbar übersetzt werden. Im folgenden Abschnitt zeigen wir auf, welche Tools wir hierfür nutzen und wie unser agiler Entwicklungsprozess strukturiert ist.

Das Konzept

Wir starten jedes Projekt mit einem detaillierten Konzept, das wir im Regelfall in mehreren Sitzungen mit dem Kunden gemeinsam erarbeiten. Dabei dauert eine Sitzung zwischen 1-2 Stunden, in der wir jede Funktion und so viele Details wie möglich festhalten. Hierzu verwenden wir bekannte Tools zur Videokommunikation wie MS Teams oder Zoom. Neben dem persönlichen (jedoch virtuellen) Kennenlernen, können alle Teilnehmer bei Bedarf auf einen Bildschirm schauen, um an einem digitalen Whiteboard zu zeichnen oder vergleichbare Anwendungen zu erläutern. Dadurch entsteht nach und nach ein klares Bild des Projekts.

MVP

Anschließend diskutieren wir mit dem Kunden, was die kleinste, jedoch sinnvolle Version seiner Software an Funktionen enthalten muss. Wir kreieren einen „MVP“ (minimum viable product), um aus dem „Kleinen ins Große“ zu entwickeln. Das hat den Vorteil, dass der Kunde bereits sehr früh eine erste Teilauslieferung seiner Anwendung erhält und abhängig von seinem Restbudget einen größeren Wert auf bestimmte Funktionen legen kann, die somit noch besser ausgearbeitet werden können.

Die Übersetzung der Informationen in Userstories

Nachdem ein MVP in der Theorie konzipiert wurde, werden die Details in Form von Userstories in unserem Projektmanagementtool MS DevOps eingepflegt. Diese Übersetzung ermöglicht es den Entwicklern quasi eine todo-Liste abzuarbeiten ohne Rückfragen stellen zu müssen und somit ohne Unterbrechungen arbeiten zu können.

Userstory (Schema)

Als [Nutzer] möchte ich [Funktion], damit / um / weil [Wert].

Userstory (Beispiel)

Als Administrator möchte ich meine Produkte in Form von Excellisten importieren können, damit ich nicht jedes Produkt einzeln einpflegen muss.

 

Darüber hinaus müssen Akzeptanzkriterien festgehalten werden, die erfüllt sein müssen, um eine Userstory abzuschließen.

Akzeptanzkriterien

  • Klickt ein Administrator im Adminbereich auf den Link „Produktlisten importieren“, öffnet sich ein Formular mit dem Feld „Datei auswählen“.
  • Anschließend wählt der Administrator die gewünschte Datei aus
  • Nachdem er auf „importieren“ klickt, werden die Produkte eingelesen
  • Sollten in der Excelliste Produkte enthalten sein, die bereits gespeichert wurden, soll ein Warnhinweis „Produkt konnte nicht importiert werden, weil es bereits vorhanden ist“ ausgegeben werden

Agile Entwicklung

Agile Softwareentwicklung ist in aller Munde. Darunter versteht man einen Ansatz, der es ermöglicht Software schneller in der Praxis einzusetzen und auf Änderungswünsche des Kunden noch schneller und während des eigentlichen Entwicklungsprozesses reagieren zu können. Hierfür ist eine transparente Vorgehensweise und eine intensive Einbeziehung des Kunden unabdingbar, was wir mit MS DevOps gewährleisten. Über dieses Tool kann der Kunde dem Entwicklerteam quasi live über die Schulter schauen.

Wir verwenden eine schlanke agile Methode, angelehnt an das Framework Scrum. Die einzelnen Entwicklungsschritte werden in sogenannte Sprints unterteilt, die im Regelfall 2 Wochen dauern.

Wir beginnen mit dem „Refinement“ – ein internes Meeting, in dem das Entwicklerteam alle Userstories sichtet und offene Fragen zum Klären an den Kunden zurückspielt. Darüber hinaus werden in diesem Meeting alle Akzeptanzkriterien festgelegt und somit alle wichtigen Funktionen so vorbereitet, dass nur noch die Entwicklung erfolgen muss.

Anschließend erfolgt die eigentliche Sprintplanung, in der festgelegt wird, welche Userstories in den nächsten zwei Wochen entwickelt werden. Hier spielt der enge Austausch mit dem Kunden eine besonders große Rolle. Denn er legt fest, welche Funktionen er als nächstes gerne hätte. Am Ende eines Sprints erfolgt das Meeting „Sprint Closure“, in dem kontrolliert wird, ob alle Funktionen entsprechend ihrer Userstories und Akzeptanzkriterien entwickelt wurden. Sollten bestimmte Funktionen nicht fertig oder fehlerhaft sein, werden sie im darauffolgenden Sprint umgesetzt.

Kontakt

Sie haben Interesse an einer Zusammenarbeit?