code.talks – Agile Programmierung

code.talks commerce special Blogbeitrag 2016
Gepostet von Kevin Nitschmann in Agile Programmierung

Am 20. April hieß es ein weiteres Mal: Popcorn und Programmieren! Das code.talks eCommerce special lud in die Kulturbrauerei der Hauptstadt ein und brachte zahlreiche Präsentationen mit sich. Für die eThinking fiel der Hauptaugenmerk hierbei vor allem auf aktuelle Themen rund um die agile Softwareprogrammierung, die damit im gleichen Atemzug genannte SCRUM Methodik, sowie Continuous Delivery.

Auch wenn für uns als Firma die agile Softwareentwicklung kein “#Neuland” mehr ist, war es doch durchaus spannend zu erfahren, wie andere Firmen mit dem täglichen Geschäft in so einem Modus umzugehen wissen und welche Erweiterungen zu Tage gefördert wurden über das bloße Lehrbuch hinaus. Angefangen von Excel Tabellen an Bürokühlschränken die die Rechte und Pflichten eines jeden Mitarbeiters auflisten bis hin zur Realisierung von täglichen Stand-Up Meetings in Form von Webcamkonferenzen mit Mitarbeitern externer Standorte wurden vielerlei Alltagsherausforderungen angesprochen und durchleuchtet.

Am Ende kristallisierte sich aber vor allem ein Punkt heraus, dem alle Vertreter der anwesenden Firmen beipflichten konnten: Agile Softwareentwicklung bietet dem Kunden, der Firma und jedem einzelnen Mitarbeiter nur einen Vorteil gegenüber softwareorientierter Architektur nach dem (ur-) alten Wasserfallmodell, wenn auch allen Parteien vollständig klar ist, dass sie ein Stimmrecht in der Entwicklung haben und dies wöchentlich – wenn nicht sogar jederzeit – zum Ausdruck bringen können. Wöchentliche Meetings, wie sie SCRUM laut Lehrbuch gerne hätte, sind hierbei nicht nur dafür gedacht, im kleinen Entwicklerkreis festzustellen, wer als nächstes mit Kaffee kochen dran ist. Vielemehr bietet diese hohe Frequenz der Absprachen einen einfachen Einstiegspunkt für externe Quellen, um auf schnellmöchglichen Weg – dem direkten Weg – Änderungswünsche zu kommunizieren und unmittelbar in die Entwicklung eines neuen Produkts einzugreifen.
code.talks commerce special Blogbeitrag 2016
 
Die im Zusammenhang mit SCRUM angesprochene erhöhte Eigenverantwortung ist nicht nur ein Thema für Mitarbeiter und Entwickler. Auch der Kunde sollte sich über seine neuen dazugewonnenen Freiheitsgrade und deren Nutzen im Klaren sein.

Am frühen Nachmittag ging es dann auch gerne einmal lockerer zu bei Vorträgen, die einzig und allein sich als Ziel gesteckt hatten, alle nur erdenklichen Fehler des IT-Alltags zu sammeln und Stolz der Masse vorzustellen. So war es doch durchaus beruhigend und unterhaltsam, wenn Kollegen der gleichen Branche von ihren täglichen Alltagsschwierigkeiten eifrig zu berichten wussten, währenddessen nach außen immer eine ernste Miene gewahrt werden muss. Von schwerwiegenden Problemen auf Livesystemen bis hin zu Kommunikationsfehlern aufgrund von 0% Code Coverage war für jeden etwas dabei, um sich hier und dort an seinen eigenen Arbeitsplatz erinnert zu fühlen. Aber auch das weltweit bekannte Windows Update zur denkbar ungünstigten Zeit kam nicht zu kurz (was die Linux Community natürlich lautstark zu kommentieren wusste).
 
 
Den Abschluss der Konferenz für das Team unserer eThinking bildete der Vortrag von Kellersports über Continuous Delivery. Es wurde ein Einblick gewährt in die Praktiken eines Unternehmens, das mehrere Male täglich in der Lage ist, neue Features für ihren internationalen Sportartikel – Onlineshop live zu stellen. Das größte Geheimnis in einer so hohen Flexibilität liegt hierbei vor allem in der Bereitschaft, auch einmal die Hände still zu halten. Wenngleich der Fokus auf dem schnellen Liefern von Fehlerbehebungen oder neuen Funktionen liegt, hat die Stabilität und Korrektheit eines Systems nach wie vor unverändert voran. Diesbezüglich ist es also durchaus kein Beinbruch, etwas unfertiges dann doch einmal nach hinten zu verschieben und nicht mit der Brechstange seine angestrebten 2 bis 3 Male am Tag den Livebetrieb zu updaten.
 
Wie so oft steckt auccode.talks commerce special Blogbeitrag 2016h hier der Teufel im Detail; denn woher erfährt man denn nun ausführlich, dass etwas bereit ist und dieses unabdingbare Kriterium der Stabilität erfüllt, wenn man diese Entscheidung täglich mehrere Male in geringster Zeit zu treffen hat ?
Die Antwort hierbei liegt im ausgiebigen Testen – vor allem automatisiert. Neue Features werden in die Pipeline gegeben und auf mehr als einem Dev-System intern getestet. Kellersports ging hierbei sogar noch einen Schritt weiter und bereitet für das Ausrollen eines neuen Features einen kompletten Server mit ihrer neusten Version vor. Nach erfolgreichem Testen dieses bisher nicht aktiv benutzten Systems wird mit externen Tools wie etwa Cloudflare die IP-Weiche der Webseite umgestellt und sämtlicher live Traffic umgeleitet. Der vorherige live Server mit der alten Version übernimmt nun die Rolle des Dev – Systems, ist nurnoch intern für Tests der Developer nutzbar und wartet auf die Freischaltung des nächsten Live Features, wenn sich genannter Vorgang umgekehrt abspielt.

Hohe Flexibilität ist also nur durch ausgiebiges Testen möglich. Ein guter Testumfang ist heutzutage manuell kaum noch zu realisieren. Auch nicht außer Acht zu lassen ist hierbei die eher montone Art immer wiederkehrender Vorgänge. Ein Mitarbeiter, der mehrere Male am Tag ein die selben Knöpfe in strikter Reihenfolge zu betätigen hat, ist im Allgemeinen anfälliger für Fehler, da die Konzentration aufgrund von Repitition schlichtweg schwindet. Dieser abschließende Kommentar wurde von allen Anwesenden mit lautstarkem Popcornrascheln zustimmend unterlegt.code.talks commerce special Blogbeitrag 2016
 
 
Rückblickend war das code.talks eCommerce special ein voller Erfolg. Der Tag bot eine einmalige Gelegenheit, sich einen Überblick über die eigene Position auf dem heutigen Markt zu machen. Wir als eThinking sind mit unserer Version der agilen Softwareprogrammierung auf einem guten Weg und sind zukunftsorientiert ausgelegt. Im Gegensatz zu anderen Firmen hat unser Team unschlagbare Vorteile, wenn es um Herausforderungen wie flache Organisationshierarchien und schnelle Kommunikationswege geht. Firmen mit hunderten von Mitarbeitern kommen nicht um einen erhöhten Organisationsaufwand herum, erst Recht wenn es zwischen verschiedenen Standorten einen gewissen Grad von Synchronisation der Geschäftsprozesse geht. Unser 10 köpfiges Team in der Rosenstraße hier in Berlin ist in der Lage, jeden Mitarbeiter in einem täglichen Meeting auf dem aktuellen Stand zu halten, allein der Gang in die Küche hat einzelnen Teams schon die ein oder andere Stunde an Fehlerfindung eingespart.

Selbstverständlich sind wir natürlich weiterhin an Wachstum und neuen Gesichtern interessiert, um auch einmal mehrere SCRUM Teams in der dafür vom Lehrbuch vorgeschriebenen Größe aufzustellen. Wie das zu bewältigen ist, wissen wir spätestens jetzt!
Die passenden Ausführungen gibt es hier in unserem Blog.
 
 
Viele Grüße aus Berlin-Mitte
Kevin Nitschmann

02 Mai 2016

Schlagwörter: , ,