MENU

Code quality SAFe

Reply

Code quality SAFe

MetaFactory ondersteunt de Code Quality van SAFe (Scaled Agile Framework)

Stelling

MetaFactory ondersteunt de Enterprise en System Architect bij het verbeteren van Code Quality binnen SAFe. MetaFactory doet dit door de Architectural Runway van SAFe in Patterns op te slaan en over te dragen tussen individuele Agile teams.

SAFe (Scaled Agile Framework)

Agile werkwijzen, zoals Scrum, brengen de IT-ontwikkeling veel goeds. Doelgerichtheid, snelheid van oplevering en flexibiliteit waren hard nodig in de op waterval methoden leunende, bureaucratische wereld die IT geworden was. Bij grotere IT-afdelingen waarbij meerdere Agile teams gelijktijdig aan software ontwikkeling doen ontstaat behoefte aan onderlinge afstemming en vooral samenhang. Dat is onderkend en SAFe (Scaled Agile Framework) is hier een antwoord op, zie http://www.scaledagileframework.com/. De SAFe Big Picture kent zeven aspecten: (1) Levels, (2) People, (3) Backlogs, (4) Cadence, (5) Code Quality, (6) Relentless Improvement en (7) Economic Prioritization.

SAFe Code Quality en Architectural Runway

Code Quality is één van de zeven aspecten van SAFe. Hoe leveren individuele Agile teams goede software van een voorspelbare, consistente en coherente kwaliteit op? Belangrijke rollen zijn hiervoor weggelegd voor de Enterprise en System Architects van een onderneming met een grote IT-afdeling.

De SAFe website zegt hierover: ‘Agile Architecture brings together architectural guidance provided by the Enterprise and System Architects which is then validated by the teams with short feedback loops as they build the Architectural Runway.  Architectural Runway is the code needed to support near-term functionality.

Een interessant artikel over Architectural Runway is te vinden op http://www.scaledagileframework.com/architectural-runway/. In dit artikel wordt een pleidooi gehouden voor het opzetten van een apart Agile team: ‘New technology initiative DBT Team’ met de System Architect als Product Owner. Dit team levert nieuwe architectuur aan Feature Teams, die deze architectuur gebruiken voor de realisatie van nieuwe functionaliteit. Dit artikel eindigt met de stelling dat systeem architectuur fragiel is en een tijdelijk karakter kent, door de snelheid van ontwikkelen, het ongeduld bij eindgebruikers en de voortschrijdende technologische ontwikkelingen.

Onderhoudbare bouwcomponenten onder architectuur

MetaFactory kan niet alleen de drager zijn van de systeem architectuur tussen de architect en de Agile teams, het zorgt middels een terugkoppeling ook voor een blijvende versterking van onderhoudbare bouwcomponenten onder architectuur: de Enterprise Pattern bibliotheek.

Een Agile team met de System Architect als Product Owner levert MetaFactory Patterns aan de Feature Agile teams. Met MetaFactory worden patterns gebruikt om model afhankelijke source code te produceren, zie https://youtu.be/SDyQ6SCTnn4 en de MetaFactory pattern beschrijvingen. MetaFactory Patterns zijn bouwinstructies voor stukjes source code onder architectuur. De Feature teams bouwen functionaliteit met behulp van de MetaFactory Patterns en passen de Patterns naar eigen inzichten aan. De gewijzigde patterns gaan ter beoordeling terug naar de System Architect, waarna de wijzigingen al dan niet opgenomen kunnen worden in de Enterprise Pattern bibliotheek. Ook Agile teams, belast met onderhoud, kunnen gebruik maken van deze patterns en ook zij kunnen de door hen gewijzigde patterns aanbieden aan de System Architect.

MetaFactory Patterns SAFe
Figuur 1 Pattern flow in Enterprise Agile teams

Door de architectuur te vangen in patterns wordt de architectuur eenvoudig overdraagbaar naar Feature en Onderhoud Agile teams, zonder dat deze hun flexibiliteit verliezen. Patterns kunnen namelijk door de afzonderlijke teams gewijzigd worden. Doordat gewijzigde patterns weer terugkomen bij de System Architect en het Pattern Agile team, worden verbeteringen aan de architectuur op een gecontroleerde wijze opgenomen in de Enterprise Pattern bibliotheek. Hierdoor houdt de System Architect tevens op ‘Meta- wijze’ bij of de gebouwde componenten voldoen aan de door hem, of haar gestelde requirements en richtlijnen.

Onderhoud Agile teams krijgen niet alleen source code overgedragen van Feature Agile teams, maar ook de bijbehorende Patterns. Het onderhoud wordt hierdoor eenvoudiger.

Het eindresultaat

Het resultaat van deze werkwijze is dat de Code Quality verbetert doordat MetaFactory Patterns zorgdragen voor de overdracht van standaard bouwcomponenten onder architectuur tussen de System Architect, Feature Agile teams en Onderhoud Agile teams. De terugkeer-loop voorkomt de binnen SAFe genoemde fragiliteit en zorgt voor een blijvende verbetering van de standaard bouwcomponenten onder architectuur. Hiermee wordt de implementatie van continuous improvement een feit.

Kortom: Betere software kwaliteit en coherente code, met behoud van flexibiliteit van de Agile teams.
PS: Het levert nog een productiviteitswinst op ook!

 



Laat een reactie achter