Funktionale Anforderungen lassen sich mit den Techniken der Grünen Inseln (Wrap Class, Sprouting, Excise Method) parallel zum restlichen Geschehen im Modul direkt auf der Mainline (Trunk/Main/“Master“) umsetzen, ohne dabei bei der Lieferbarkeit Einbußen machen zu müssen. Schwieriger wird es bei nichtfunktionalen Anforderungen: einen Cache um die Persistenzschicht legen, Requests zusätlich mit MQTT annehmen oder eine Komponente polyglott machen?
Muss man hier - trotz ihrer vielen Nachteile - auf Branches im SCM setzen, um die Kollegen nicht zu stören?
Nein! In diesem Talk zeigt euch Georg mit ein wenig Theorie und viel Live Coding, wie man mit Hilfe von Branch by Abstraction sogar nichtfunktionale Änderungen dieses Kalibers parallel zu den funktionalen Änderungen, die der Rest des Teams durchführt, umsetzen kann.
Vorkenntnisse: Eine objektorientierte Programmiersprache lesen können. Die Beispiele werden in Java sein.
Georgs Handwerk und Leidenschaft ist die Programmierung, meistens in JVM-Sprachen wie Java, Groovy, Kotlin oder Clojure. Zum Handwerk gehören für ihn auch Themen wie die Pflege von Legacy Code, Automatisierung von Builds und Deployments oder Agilität im Team. Seit einigen Jahren ist er Co-Organisator der Software-Craftsmanship-Communities im Ruhrgebiet und in Düsseldorf. Wenn er mal nicht programmiert, spielt er Trompete, pflegt seine Bonsai oder praktiziert Aikido.