Agile Software­entwicklung

Enter­prise Platform Solutions

Effizient, zielge­richtet, zuver­lässig

Wir übertreiben nicht, wenn wir sagen, dass wir hervor­ra­gende Software lieben. Software, die Probleme löst und einen Mehrwert schafft.
In den vergan­genen Jahren haben wir eine Vielzahl an Projekten erfolg­reich abgeschlossen. Wir haben jede Menge gelernt und unsere Methodik weiter optimiert. Mit der richtigen Balance aus effizi­enter agiler Software­entwicklung, zielge­rich­tetem Projekt­ma­nagement und zuver­läs­sigem Betrieb schaffen wir Software, die unsere Kunden ebenso lieben wie wir. Nicht zuletzt, weil unsere Lösungen den Arbeits­alltag von Unter­nehmen deutlich verändern: sie arbeiten effek­tiver, komfor­tabler und erzielen höhere Umsätze.

 

Der Unter­schied

Besser anders

Was uns von anderen abhebt? Die Art, die Dinge anzugehen. Wir machen es nicht nur anders, wir machen es besser. Denn agile Software­entwicklung besteht nicht nur aus Software­entwicklung. Sie ist ein mehrstu­figer Prozess, den wir klar struk­tu­riert steuern. Wir inves­tieren Zeit und Arbeit in ein vernünf­tiges, tragfä­higes Konzept – das Fundament für alle weiteren Schritte. Unsere Projekte befinden sich jederzeit in einem definierten Status; Zwischen­schritte lassen sich stets kontrol­lieren. Konzept, Entwicklung und Projekt­ma­nagement kommen aus einer Hand – unserer. Der Vorteil: A weiß, was B macht und umgekehrt. Sicherheit auf der ganzen Linie.

Starten Sie ihr Entwick­lungs­projekt mit WTL

Aller Anfang ist leicht

R&D-Phase und Techni­sches Grobkonzept

Mit Klick­dummy, fachlichem und techni­schen Grobkonzept erarbeiten wir das Wissen, das es Ihnen als Kunde und uns als Digital­beratung ermög­licht, fundierte Entschei­dungen zu grund­le­genden Projekt­pa­ra­metern zu treffen. 

Die Details …

Entwick­lungs­pro­jekte durch­laufen bei uns einen standar­di­sierten Onboarding-Prozess. Nach Erstellung des fachlichen Grobkon­zepts und eines Klick­dummys wird das Entwick­lungsteam mit der Durch­führung der R&D-Phase (Research & Development) beauf­tragt. Alle Entwickler und insbe­sondere der Entwick­lungs­leiter erhalten ein inten­sives Onboarding in das Projekt. Um wirklich tief ins Thema eintauchen zu können, betrachten wir hierbei die Gesamt­si­tuation des Kunden.

Aufgaben in der R&D-Phase

  • Zusam­men­tragen von Infor­ma­tionen zu extern zu integrie­renden Systemen
  • Kontakt­auf­nahme zu allen Projekt­be­tei­ligten
  • Identi­fi­zieren von techni­schen Risiken und Zwangs­punkten
  • Erstes Abschätzen von Komple­xi­täten
  • Grund­sätz­liches Feststellen der Machbarkeit
  • Bewerten des Mengen­ge­rüsts
  • Skizzieren einer ersten techni­schen Archi­tektur
  • Heraus­ar­beiten techni­scher Meilen­steine und konzep­tio­neller Handlungs­emp­feh­lungen

Typischer­weise wird die R&D-Phase von unserem späteren Project-CTO durch­ge­führt bzw. geleitet.

Feinkonzept und Angebot

Beim Feinkonzept erstellen Projekt­ma­nagement und Entwick­lungsteam den Plan für die Imple­men­tierung des Projekts. Auf dieser Basis können wir Ihnen ein konkretes Angebot für die erste Projekt­phase unter­breiten.

Die Details …

Da wir notwendige Änderungen jederzeit willkommen heißen, bevor­zugen wir ein agiles Vorgehen. Das heißt, nur der erste Meilen­stein (MVP) wird detail­liert geplant; die Zahlen der folgenden Meilen­steine sind zu diesem Zeitpunkt weitaus ungenauer und werden zu Beginn der jewei­ligen Projekt­phase anhand aktueller Erkennt­nisse geschätzt. Dies reduziert den Anfangs­aufwand erheblich und ermög­licht eine präzisere Planung im laufenden Projekt.

Aufgaben während des Feinkon­zepts

  • Übersetzen der Geschäfts­vor­fälle aus dem fachlichen Grobkonzept in technische Entwick­lungs­auf­gaben (»User Stories«)
  • Schätzen und Dokumen­tieren der zu erwar­tenden Aufwände
  • Struk­tu­rieren des Gesamt­pro­jekts in Meilen­steine
  • Zusam­men­stellen der Sprints für die erste Projekt­phase
  • Aufstellen einer belast­baren Zeitachse für den ersten Meilen­stein und einer gröberen Zeitleiste für alle weiteren Meilen­steine

So Geht es Weiter

Geschäfts­vorfall, User Story und Use Case

Durch User Story und Use Cases werden die Cases, also die eigent­lichen Geschäfts­vor­fälle, trans­pa­renter und messbarer – sie bilden die Basis für eine optimale Nutzer­er­fahrung, auch User Experience genannt.

Die Details …

In einer User Story beschreiben wir das Verhalten der zu entwi­ckelnden Software und wie sich ihr Nutzen für den Anwender maximieren lässt. Dabei berück­sich­tigen wir alle relevanten Facetten an Funktio­na­li­täten und Inter­ak­ti­ons­mög­lich­keiten zwischen Anwender und Software. Um im späteren Entwick­lungs­prozess die Software schritt­weise produ­zieren zu können, bilden wir sogenannte »Slices«, also Funkti­ons­gruppen, die für sich betrachtet einen Mehrwert für den Anwender darstellen und nachein­ander imple­men­tiert werden können.

Aus dieser Spezi­fi­kation erstellen wir die Use Cases, die einzelne Funkti­ons­bau­steine der Software aus Sicht des Anwenders beschreiben: »Wer« macht »was« mit der Software und »warum«. Da wir eng mit dem fachlich verant­wort­lichen »Product Owner« (der Kunde bzw. sein Stell­ver­treter bei uns im Unter­nehmen) zusam­men­ar­beiten, können wir dabei auch wesent­liche Akzep­tanz­kri­terien und Kontext­in­for­ma­tionen einbe­ziehen. Die Use Cases bilden eine Art Puzzle, dessen Summe den kompletten Geschäfts­vorfall in einer Software abbildet.

sCrum

Die Produktion steuern wir mit dem Projekt­ma­nagement-Framework Scrum, das auf agile Entwicklung spezia­li­siert ist. Das bedeutet, dass wir während des Projektes sehr kurzfristig auf Verän­de­rungen reagieren können.

Die Details …

Bei Scrum, einem Vorge­hens­modell für agile Software­entwicklung, wird in zweiwö­chigen Inter­vallen (»Sprints«) entwi­ckelt. Vor Beginn eines jeden Sprints benennt und priori­siert der Product Owner, also der Kunde bzw. der Projekt­ma­nager, als sein Stell­ver­treter bei uns im Unter­nehmen, die zur Entwicklung anste­henden Aufgaben (»User Stories«), die dann von allen Entwicklern genauer geplant werden.
Da der Product Owner für gewöhnlich weder mit Scrum noch mit der Technik vertraut ist, assis­tiert sein Stell­ver­treter im Tages­ge­schäft. Bei der Schätzung der User Stories ist die Anwesenheit des Kunden jedoch wesentlich.
Als agiles und flexibles Vorgehen gerät Scrum in einen gewissen Konflikt mit einem linearen, wasser­fall­ar­tigen Modell in Form von Grob- und Feinkon­zepten. Mit Blick auf Kalku­lation und Angebot stehen wir hierbei in der kaufmän­ni­schen Sorgfalts­pflicht. Deshalb leben wir die Sprints als personell-zeitlichen und quali­tativ-quanti­ta­tiven Rahmen; die mögliche Richtungs­än­derung, wie sie das »Agile Manifest« vorsieht, stellen wir bei uns in den Hinter­grund.

Aufgaben während der Entwicklung

  • Zerlegen der User Stories in Tickets in der Reihen­folge, die das Konzept vorsieht
  • Schätzen der konkreten Aufwände für die Bearbeitung der einzelnen Tickets
  • Erstellung, Bespre­chung und Vertei­digung techni­scher Konzepte
  • Entwicklung, Review, QA der Tickets
  • Vorstellung der Sprint-Ergeb­nisse an den Kunden
  • Dokumen­tation der Arbeits­er­geb­nisse

 

konkrete Entwick­lungs­arbeit

Platt­form­ent­wicklung

Bei der Entwicklung von Software behalten wir stets das Ziel des Kunden im Auge, Geschäfts­pro­zesse innerhalb eines definierten Geschäfts­mo­dells abzubilden. Als Schalt­zen­trale für die Prozess­steuerung ist die Plattform mit dem techni­schen Ökosystem verknüpft. Sie stellt die Schnitt­stellen für die Bedienung der Geschäfts­pro­zesse bereit, die wiederum von Weban­wen­dungen, Mobile Apps oder Geräten (»Internet of Things«) genutzt werden.

Mit dieser modularen System­ar­chi­tektur geben wir Ihrem digitalen Geschäfts­modell ein robustes Fundament. So sind wir in der Lage, neue Geschäfts­pro­zesse zügig aufzu­setzen, zu überwachen und natürlich auch anzupassen.

Mobile Apps

Mit Blick auf den selbst­ver­ständ­lichen Einsatz von Smart­phones im Business entwi­ckeln wir Mobile Apps zur Abbildung Ihrer Geschäfts­pro­zesse auf Smart­phones und Tablets. Unsere UI/UX-Experten stimmen die Anwen­dungs­ober­flächen optimal auf das jeweilige Gerät ab und ermög­lichen den Anwendern eine schnelle und effektive Nutzung der App. Neben den klassi­schen mobilen Endge­räten sind auch Spezi­al­geräte wie mobile POS-Systeme, Public Displays oder Displays im Fabrik­einsatz als Zielgeräte einsetzbar. Bei der Wahl steht immer die bestmög­liche Unter­stützung des Anwenders und des Geschäfts­vor­falls im Vorder­grund.
Wir entwi­ckeln nativ mit Swift für iOS und Java für Android. Im Bereich der Hybrid­tech­no­logie setzen wir auf React Native.

genauso wichtig

Projekt­ma­nagement und Controlling

Grund­vor­aus­setzung für ein gut struk­tu­riertes und erfolg­reiches Projekt? Ein profes­sio­nelles Projekt­ma­nagement, das so früh wie möglich mit an Bord kommt und Ihnen mit einem persön­lichen Ansprech­partner zur Seite steht.

Die Details …

Unsere Projekt­ma­na­ge­rInnen sind dafür verant­wortlich, Ihr Projekt standar­di­siert in allen techni­schen Systemen aufzu­setzen, im Verlauf zu steuern, gegebe­nen­falls zu eskalieren und fortwährend zu dokumen­tieren. Dabei gibt das projekt­spe­zi­fisch ausge­wählte Projekt­ma­nagement-Framework die Art und Weise vor, wie Ablauf und Steuerung erfolgen und welche Artefakte zum Einsatz gebracht werden. Im Fall von Scrum sind das typischer­weise Daily Standup, Backlog-Grooming, Sprint Planning, Sprint Review sowie Retro­spektive.
Zudem setzen wir ein Projekt­con­trolling ein. Dabei fokus­sieren wir schwer­punkt­mäßig die Prüfung von Soll/Ist relevanter Kennzahlen wie Fortschritt und Budget sowie ungelöste Heraus­for­de­rungen im Projekt­verlauf.

Aufgaben beim Projekt­ma­nagement und Controlling

  • Steuerung des agilen Software­ent­wick­lungs­pro­zesses mit Scrum
  • Ansprech­partner für den Kunden im Tages­ge­schäft
  • Koordi­nieren aller Projekt­be­tei­ligten
  • Kontrolle des Entwick­lungs­fort­schritts und der dafür benötigten Zeit

Quali­täts­si­cherung

Bei allen Phasen des Entwick­lungs­pro­zesses ist Qualität das Fundament unserer Arbeit. Nur so sind wir in der Lage, Ihre Projekte nachhaltig aufzu­setzen. Dafür nutzen wir Methoden, Metriken und mensch­liche Expertise.

Die Details …

Um Qualität sicher­zu­stellen, braucht es eine konti­nu­ier­liche Messung. Mit etablierten Metriken können wir die Qualität des Quell­codes jederzeit objektiv bestimmen und schnell auf Verän­de­rungen reagieren.
Bei Geschäfts­logik und anderen wichtigen Funktio­na­li­täten sind wir in der Lage, automa­ti­sierte Unit-Tests zu erstellen und auszu­führen. Durch sie lassen sich die Funkti­ons­fä­higkeit und Korrektheit des Produkts prüfen.
In jedem Scrum-Team gibt es einen Mitar­beiter, der auf Quali­täts­si­cherung spezia­li­siert ist. Er kontrol­liert die entwi­ckelte Software funktional und optisch anhand der definierten Akzep­tanz­kri­terien sowie die Einhaltung der verein­barten Code Styles und die Auswertung der Metriken.

Aufgaben der Quali­täts­si­cherung

  • Prüfung jedes Tickets gegen die Definition of Done
  • Sicher­stellen der Testab­de­ckung und Schreiben von automa­ti­sierten Tests
  • Definition und Ausführen von Test-Suites
  • Definition, Entwicklung und Ausführung automa­ti­sierter End-2-End-Tests
  • Definition und Abarbeiten manueller Testpläne

Starten Sie ihr Projekt mit WTL.

Mit fundiertem Know-how und einer Extra­portion techno­lo­gi­scher Neugier machen wir uns für unsere Kunden auf den Weg. Wir freuen uns, Sie kennen­zu­lernen.

 

WTL Softwareentwicklung Ansprechpartner Jan Bager

Ihr Ansprech­partner

Jan Bager
+49 341 393 781 30
hallo@wtl.de

Wir beraten Sie gern