Agile-Softwareentwicklung in Aktion
Erfolgsgeschichte: Nutzung der Agile-Methodik bei der Entwicklung komplexer Backend-Services
Einbettung des Projekts
2009 hat Infopulse die Softwareentwicklung zu Enterprise Service Bus (ESB) gestartet, die 2010 ein Teil der großen Produktsuite für Anwendungs- und Datenintegration geworden ist. Seitdem haben wir unser Hauptaugenmerk auf die Cloud-Integrationsplattform für Anbieter gerichtet.
Parallel dazu hat Infopulse IDE-Lösungen und Komponenten von Backend-Systemen für mehrere andere Kundenprodukte entwickelt und somit die Prinzipien von Cloud Computing und Big Data in einer einzigen Plattform zusammengebracht.
Zur Cloud-Integrationsplattform des Kunden
Die Cloud-Integrationsplattform-as-a-Service (iPaaS), so wie sie von unserem Kunden vermarktet wird, ist eine einzigartige Lösung, die die einfache und sichere Möglichkeit bietet, die Cloud und die On-Premise-Daten und -Anwendungen zu integrieren. Die Lösung steigert deutlich die Produktivität eines Unternehmens und seine Agilität durch den beschleunigten Einsatz von Big Data und die Option der Echtzeit-Analysen in der Cloud.
Für dieses Projekt hat der Kunde sehr strenge Fristen und komplexe Anforderungen bestimmt. Unser Kunde musste eine notwendige zuverlässige Unternehmensplattform für die Cloud-zu-Cloud-Integration mit einer dynamischen Web-IDE-Schnittstelle bauen. Im Allgemeinen ging es um über 800 Anschlüsse und Integrationslösungen, die von PaaS kontrolliert werden sollten.
Aus technischer Sicht war es ein ziemlich komplexes System, das die native Code-Generierung im Hadoop-Framework verwendet und die Kunden mit allen Vorteilen der parallelen Verarbeitung versorgt. Die Verkürzung der Reaktionszeit und die Optimierung der Ressourcennutzung, also verschiedener Big Data-Systeme – z.B. Amazon Redshift und Amazon EMR – waren in die Plattform integriert.
Agile im Softwareentwicklungsprozess
Wir haben uns dafür entschieden, unsere Prozesse nach den Agile-Prinzipien aufzubauen. Unsere praktische Erfahrung erlaubt uns, die Vorteile der Agile-Softwareentwicklung zu nutzen und diese rasch für die Lösung der Geschäftsherausforderungen des Kunden umzusetzen. Im Folgenden seien einige der angewandten Praktiken genannt:
- Paarprogrammierung. Um einen effizienten Wissensaustausch zu gewährleisten, haben wir die Praxis der Paarprogrammierung genutzt, die den Mitarbeitern das Teamswitching während der Sprints erlaubt und ihre Tätigkeitsbereiche verlagert. Somit hatten alle Teammitglieder die Möglichkeit, sich an allen Phasen des Entwicklungsprozesses zu beteiligen. Dank einer viel tieferen Involviertheit aller Teammitglieder konnten sie die Verantwortungsgebiete ihrer Kollegen besser verstehen und waren in der Lage, diese in der Zukunft zu übernehmen. Diese Technik wurde zu unserer primären Methode für den konstanten Wissensaustausch, mit der wir Wissensengpässe effektiv umgehen können.
- Blitz-Konferenzen waren großartig für den Informationsaustausch und, um das Teambewusstsein auf beiden Seiten zu sensibilisieren. Infopulse hat diese Ziele erreicht, indem verschiedene Experten aus unseren Kompetenzzentren herangezogen wurden, so dass der Kunde und unsere Entwickler die eingeladenen Experten zu jeder auftretenden und fragwürdig erscheinenden technischen Angelegenheit konsultieren konnten. In diesem Fall haben wir die Kollegen aus den Teams DevOps und Web involviert, um unser Teamwissen um diese spezifischen Bereiche zu erweitern.
- Bingo-Berichte. Diese Praxis erlaubt es den Entwicklern, ihre Mini-Berichte während der “Untersuchungszeit“ zu teilen und folglich die Ideen und die Strategie schnell und effektiv zu aktualisieren.
Vorteile von Agile für unser Team und den Kunden
- Dank der Implementierung von Agile war unser fächerübergreifendes Team in der Lage, komplizierte Aufgaben innerhalb kurzer Zeiträume ohne Verzögerungen zu lösen. Der Kunde hat sein ganzes Potenzial bei unserer Arbeit erlebt: Die Teamgeschwindigkeit und die Burndown-Charts konnten einfach verfolgt und analysiert werden, weshalb wir von Anfang an den Umfang des Projekts verstehen und richtig einschätzen konnten.
- Während der Arbeit mit Sprint Backlog war es möglich, das Team neu zu fokussieren, um zunächst die dringendsten und hochpriorisierten Aufgaben zu erledigen.
- Durch die richtige Planung konnten wir mit komplexen Aufgaben arbeiten, indem alle möglichen Engpässe prognostiziert wurden, sowie einen effizienten Workflow und rechtzeitige Produkt-Releases gewährleisten.
Agile hat sich sowohl für unseren Kunden als auch für uns als äußerst vorteilhaft erwiesen!
Trotz bestehender Skepsis in der Wahrnehmung, Agile sei ineffizient bei komplexen Projekten, zeigt unsere Erfahrung, dass diese Methodik sogar bei technisch anspruchsvollsten Lieferungen wirksam ist.
Wir glauben, dass es sehr wichtig für alle Branchen ist, die Stärken der Agile-Ansätze zu verstehen, da die Beteiligung des Kunden die Durchführung der Methodik und ihre Prinzipien direkt beeinflusst.
Nach vielen Jahren erfolgreicher Arbeit mit Agile haben wir sein Hauptmerkmal herauskristallisieren können, das für uns von besonderer Bedeutung ist: Kontinuierliche Verbesserung. Wir wollen systematisch Chancen ergreifen, die unsere Arbeit perfektionieren, um die Effizienz und die Qualität unserer Produkte, Dienstleistungen oder Prozesse zu verbessern – all das, um den Mehrwert für unsere Kunden zu generieren.
Möchten Sie mehr darüber erfahren, wie Infopulse Agile-Softwareentwicklung praktiziert? Bleiben Sie dran und lesen Sie in unserem nächsten Artikel über die Umsetzung der Scrum-Methodik in einem Festpreisprojekt!