Als IT-Berater trage ich viele Hüte, wenn ich ein Projekt in Angriff nehme. Aufgrund der vertraulichen Natur meiner Aufträge ist es oft nicht möglich, darüber zu sprechen, was ich wann für welchen Kunden getan habe. Um ihnen eine Vorstellung davon zu geben, was ich anbieten kann, möchte ich ihnen eine Reihe anonymisierter Fallstudien von realen Projekten vorstellen, die ich erfolgreich abgeschlossen habe.
Organisation und Produktentwicklung
Herausforderung: Langsame und unflexible IT-Abteilung
Lösung
- Due-Diligence-Prüfung und Analyse zusammen mit dem Kunden
- Umstrukturierung der Abteilung in Produktteams
- Betonung von agilen Praktiken wie Scrum, kontinuierliche Lieferung und schlanke Produktentwicklung (Lean Product), Pre- und Post-Mortems, Tech Radar
- Fallstudienbasierter Einstellungsprozess.
- Erstellung gemeinsamer Richtlinien für die Teams (Rest, QA).
Resultat:
Viel schnellere Entwicklung von neuen Funktionen. Weniger Bugs, verbesserte Kundenzufriedenheit und zufriedene Softwareteams.
Herausforderung: Ständig verfehlte Deadlines in B2C-Anwendungen
Lösung
- Änderung der Kultur, damit die Teams ihre Bedenken offen äußern können. Damit konnten die Zeitpläne realistisch angepasst werden. Ehrliche Priorisierung von Funktionen.
- Schlanke Produktentwicklung.
- Iteratives vorgehene und go-live mit einer Teilmenge von Funktionen. Entwicklung von Funktionen zusammen mit dem Kunden am Produkt.
Resultat
Produkt-Roadmap, die von Vertrieb und Markt für Planungszwecke genutzt werden kann. Erfolgreiche Produktentwicklung.
Herausforderung: Entwicklung eines B2B-Softwareprodukts, das zuvor gescheitert war
Lösung
- Design-Sprint mit Kunden, um Ideen zu testen und zu verifizieren.
- Nutzung schlanker Praktiken zur Priorisierung von Funktionen.
- Bewegen des Teams in Richtung Full-Stack mit React und NodeJs.
- Anforderungen kritisch hinterfragen und die Dinge so einfach wie möglich halten.
Resultat
Die Anwendung ging mit einem stabilen Team, das die Funktionen pflegt und implementiert, in Betrieb. Die automatisierten Prozesse setzen Ressourcen frei und sparen sowohl dem Unternehmen als auch den Kunden Zeit.
Tech
Herausforderung: Leistungsstarke Big-Data-Analyse-Pipeline im Krisenmodus
Lösung
- Analyse realer Probleme und Ausarbeitung einer technischen Roadmap, um so schnell wie möglich mit den wichtigsten Funktionen auf den Markt zu kommen.
- Ersetzen des Batch-Ansatzes (Spark, Hadoop) durch In-Memory-Echtzeitberechnung und -aggregation. Das Ergebnis war ein schnelleres Entwicklungstempo und schnellere Fehlerbehebungen.
- Hands-on-Entwicklung mit einem Team des Kunden für die langfristige Wartung.
- Verwendung von Standardkomponenten (PostgreSQL, Kafka, Spring Boot), so dass das System auf AWS, aber auch auf Bare-Metal-Hardware zur Kosteneinsparung oder Leistungssteigerung betrieben werden kann.
Stack
Kafka, Spark, Spring Boot, Java, Scala, PostgreSQL, Gatling, AWS, Datadog, DynamoDb
Herausforderung: Graph-basiertes Tag-Management-System scheitert an zu hoher Last
Lösung
- Analyse des Datenbanksystems und Isolierung von Leistungsproblemen.
- Prototyp mit PostgreSQL und LTree-Datenstruktur zum Speichern und Abrufen von Daten und Behebung von Leistungsproblemen.
- Leistungstests mit Gatling zum Nachweis der Leistung des neuen Systems.
- Migration der Daten und erfolgreicher Rollout bei den Kunden.
Stack
MySQL, PostgreSQL, Java, Php, AWS, RDS, Ltree, Gatling, Spring Boot, Graph data structures, Rest Api
Herausforderung: Der Software-Prototyp des Unternehmens wurde in die Produktion übernommen, hat aber erhebliche Stabilitätsprobleme
Lösung
- Der Prototyp war zu erfolgreich und die Kunden des Kunden lieben ihn. Deie geschriebenen Dienste und die Software waren aber nicht dafür gedacht, skaliert zu werden.
- Eingehende Analyse der Geschäftsanforderungen und der aktuellen Implementierung.
- Priorisierung der Probleme mit den größten Auswirkungen.
- Neugestaltung von Diensten und Neuimplementierung von instabilen Systemen unter Verwendung von Standardkomponenten.
- Migration von Daten von NoSQL zu SQL.
- Migration von Bare-Metal zu AWS.
Stack
ElasticSearch, Php, Java, Javascript, Spring Boot, Tikka, Lucene, RDS, AWS, PostgreSQL, React