Disciplined Agile Delivery

Veel organisaties beginnen hun ‘Agile experience’ met het adopteren van Scrum omdat het een goede strategie beschrijft voor het leiden van Agile software teams. Scrum is echter slechts een deel van wat nodig is om alle stakeholders (niet alleen customers) tevreden te stellen. In de praktijk blijkt dat teams steevast moeten kijken naar andere methoden om de hiaten in het framework (die Scrum opzettelijk negeert) vorm te geven. Wanneer we kijken naar andere methoden is er vaak sprake van conflicterende terminologie, hetgeen erg verwarrend kan zijn voor degenen die gebruik maken van Agile. Als antwoord op bovenstaande problematiek biedt het Disciplined Agile Delivery (DAD) framework een meer samenhangende aanpak met betrekking tot het opleveren van software. DAD is een hybride aanpak waarin sterke aspecten ('best practices') van diverse reeds bestaande agile methoden en frameworks zijn opgenomen waaronder Extreme Programming (XP), Scrum, Unified Process (UP), Kanban, Lean Software Development en Agile Modeling (AM). Je zou kunnen stellen dat DAD het beste verenigt van ‘all worlds’. In deze training leer je best practices waarmee je meteen in de praktijk aan de slag kunt.


DAD: going beyond Scrum

Als antwoord op bovenstaande problematiek biedt het Disciplined Agile Delivery framework een meer samenhangende aanpak met betrekking tot het opleveren van software. De definitie van DAD luidt: “The Disciplined Agile Delivery (DAD) decision process framework is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value delivery lifecycle, is goal-driven, is enterprise aware, and is scalable.”

Waarom DAD?

Olympic heeft DAD opgenomen in het portfolio vanwege drie belangrijke aspecten:
  • Het biedt een breder perspectief op Software-ontwikkeling dan alleen de Construction-fase (zoals Scrum doet). DAD onderscheidt een drietal fasen: Inception-, Construction- en Transitionfase. Olympic erkent het grote belang van een expliciete Inceptiefase (ook wel Initiatiefase genoemd), met name voor business analisten die vaak optreden als Product Owner. Uit de Agile State of the Art enquête van juli 2013 bleek dat agile teams gemiddeld een maand tijd besteden aan projectinitiatie. In veel gevallen wordt daar dan de term 'Sprint 0' of 'Iteratie 0' aan geplakt. Tevens bleek in de Agile State of the Art enquête van november 2010 dat agile teams gemiddeld een maand besteden aan transitie –activiteiten.
  • DAD is enterprise-oriented, hetgeen wil zeggen dat er oplossingen worden opgeleverd, die aansluiten bij de modellen, regels en richtlijnen die afkomstig zijn vanuit de organisatie (enterprise strategie en enterprise architectuur). Om dit te bewerkstelligen dient de alignment met de enterprise een voortdurend aandachtspunt te zijn.
  • DAD onderkent de noodzaak van het vroegtijdig modelleren van requirements. In plaats van alleen te werken met een Product backlog bestaande uit user stories (zoals in Scrum), worden zowel tijdens de iteratieplanning als tijdens een iteratie-uitvoering modellen gebruikt als elicitatietechniek (en indien gewenst als documentietechniek). Daarbij kan gebruikt worden van talloze modelleertechnieken, bijvoorbeeld UML use case diagrammen, activity diagrammen, procesmodellen, dataflow diagrammen. Het gaat er niet om wélke modellen je gebruikt, maar dát je modellen gebruikt om de juiste requirements te vinden op het juiste moment.

Naast de bovenstaande punten biedt DAD een aantal andere grote voordelen, die volgens Olympic door iedere organisatie overwogen zouden moeten worden:
  • DAD is zeer gericht op het in kaart brengen en monitoren van risico’s, hetgeen in veel Agile-aanpakken een beetje op de achtergrond is komen te staan.
  • DAD is scalable en biedt uitstekende handvatten voor grote teams en geografisch verspreide teams.
  • DAD kan geheel worden aangepast aan de gewenste werkwijze van de organisatie. Een team dat heel ervaren is met agile delivery kan zelfs de Lean-variant gaan gebruiken (zie onderstaande figuur). In dit geval is er geen sprake meer van drie fasen, maar van een voortdurende beweging van work items (Pull) door de Team members nadat ze een taak hebben afgerond. De Product owner zorgt er aan de andere kant voor dat de Work items list (Product backlog) continu wordt bewaakt m.b.t. prioritering.


DAD voor Business analisten

DAD biedt zowel voor business analisten in de rol product owner als voor business analisten in de rol team member belangrijke handvatten. De eerste concentreert zich met name op het deelgebied Product analysis, de tweede is voornamelijk betrokken in het deelgebied Iteration analysis. Zie ook de rubriek Business analyse.

Olympic heeft deze training ontwikkeld waarin alle belangrijkste elementen van DAD in 2 dagen de revue passeren. In de training wordt u tevens klaargestoomd voor het DAD Yellow belt examen. Meer info.

Doelstelling

De deelnemer is na deze training:
  • in staat de basics van het Disciplined Agile Delivery framework te doorgronden;
  • bekend met de rollen Product Owner, Team Lead en Development Team;
  • bekend met het Agile 3C-rhythm: Coordinate - Collaborate - Conclude;
  • bekend met de drie fasen van een DAD-project: Inception, Construction en Transition;
  • bekend met de begrippen Release, Iteration en Daily Working Build;
  • bekend met de artefacten Vision, Work Items List en Release plan met fasering en iteraties;
  • in staat een bijdrage te leveren aan de totstandkoming van de Work Items List;
  • in staat user stories uit te werken tot op detailniveau (d.m.v. UML diagrammen, Scenario's, Storyboards en mockups);
  • in staat de principes Initial Envisioning en Iteration Modeling (als best practice van de aanpak Agile Modeling) toe te passen.
Je bent na deze training in staat om deel te nemen als Product Owner, Team Member of Team Lead en kunt daarmee jouw slagkracht verhogen op individueel-, team- én organisatieniveau. En je kunt met de opgedane kennis (plus enige zelfstudie) het Certified Disciplined Agilist examen doen.

Programma

Deze training behandelt alle ins en outs van het DAD-framework, met uiteraard speciale aandacht voor de positie van de business analist in het team.

Agile versus Traditionele aanpakken
Als eerste passeren enkele veel toegepaste agile aanpakken de revue en is er aandacht voor het Agile Manifesto. Je leert waarom Scrum zo populair is geworden en wat de manco's van Scrum zijn. Daarna komen de principes en kenmerken van Disciplined Agile Delivery aan bod.

DAD Framework
Vervolgens is er aandacht voor het DAD Framework. Je leert dat het framework een verzameling is van ‘best practices’ vanuit diverse andere agile frameworks en methodieken (o.a. Scrum, (R)UP, XP, Kanban, Lean en Agile Modeling). Je maakt in dit deel tevens kennis met de karakteristieken en principes die de basis vormen van DAD.

DAD-rollen
DAD kent 5 primaire rollen waarvan er 4 deel uitmaken van het DAD team: Team Lead, Product Owner, Architecture Owner en Team Member. In dit gedeelte leer je de taken, rechten en verantwoordelijkheden van alle rollen kennen. De vijfde primaire rol wordt vervuld door de stakeholder, die in het perspectief van DAD meer is dan alleen de eindklant. Tot de stakeholders behoren namelijk ook eindgebruikers, directieleden en managers, partners , functioneel beheerders, etc.
Daarnaast worden er afhankelijk van de situatie een aantal secundaire rollen onderscheiden, bijvoorbeeld Subject Matter Expert, Technical expert, Independent tester en Integrator. Uiteraard is in dit deel ook ruime aandacht voor de positie van de (business) analist in het DAD-team.

Inception-fase
Een heel belangrijk onderdeel van deze training vormt de Inception-fase. In deze eerste fase (ook wel initiatiefase genoemd) wordt het initiële team samengesteld en komen alle stakeholders tot consensus met betrekking tot het projectresultaat. Dit is primair de verantwoordelijkheid van de Product Owner. Om tot consensus te komen speelt het Vision-document een centrale rol. Je leert wat de Product owner moet doen om tot een beknopt Vision-document (van max. 10 pagina's) te komen met daarin de onderwerpen:
  • de productarchitectuur op hoofdlijnen
  • belanghebbenden plus hun behoeften
  • overzicht van alle productkenmerken
  • overzicht van de productscope
  • projectrisico's
  • overzicht van de tijdsduur plus bijbehorende kosten
Naast het Vision-document wordt in deze fase een initiële Work Items List (Product backlog) opgesteld bestaande uit geprioriteerde work items (user stories, issues, defect reports). Ook een Release Plan maakt onderdeel uit van de opgeleverde artefacten in deze fase.

Belangrijk: In deze training leer je geen Vision-document, Work item list en Release plan op te stellen. Indien dit wel jouw leerdoel is, dan verwijzen we naar onze praktijkgerichte training ‘Informatieanalyse (Productanalyse)’. Deze training is primair bedoeld om DAD als ontwikkelframework helder op het netvlies te krijgen.

Construction-fase

Nadat er consensus is bereikt kan er gebouwd worden. In de construction-fase wordt de IT-solution ontwikkeld, bestaande uit een nieuw of gewijzigd softwareproduct, plus alle door stakeholders benodigde producten zoals procesmodellen, werkinstructies, handleidingen en (beknopte) documentatie.
Je leert dat het zeer belangrijk is om vroeg in de Construction-fase te komen tot een beproefde architectuur en doelgericht om te gaan met wijzigende stakeholder needs. Je leert het 3-C Rhythm (Coordinate – Collaborate – Conclude) toe te passen op Fase-, Iteratie- en Dag-niveau. Hierdoor kan op een planmatige manier worden gewerkt, verloopt samenwerking tussen de teamleden gesmeerd en vindt periodiek evaluatie van product en werkzaamheden plaats.

Modelleren
Een belangrijk onderdeel van de Construction-fase is het effectief opstellen van Just In Time-Just Enough Functional models (JITJEF’s). Hiermee wordt bedoeld dat u precies genoeg modelleert om de volgende stap te kunnen zetten in een project. Bij de opstart van een project (Inception-fase) worden bijvoorbeeld modellen gebruikt die requirements alleen op hoofdlijnen in kaart brengen (bijvoorbeeld een use case diagram of een deployment diagram dat de architectuur op hoofdlijnen weergeeft). Dit wordt in de onderstaande figuur aangeduid met Initial envisioning.

Tijdens de Construction-fase leer je user stories uit te werken in modellen, plaatjes en beschrijvingen die gedetailleerd genoeg zijn om door het Development team opgepakt te kunnen worden (en niet meer dan dat!). Voorbeelden hiervan zijn UML diagrammen (Activity diagram en State chart diagram), Scenario's, Storyboards en Mockups. De modellen kunnen worden opgesteld tijdens een iteratieplanning (coordinate), in de figuur aangeduid met Iteration Modeling. Het kan ook zijn dat een brainstorm-achtige sessie nodig is tijdens een iteratie (collaborate) om meer helderheid te verkrijgen over de functionele details van een gekozen oplossing. Dit wordt in figuur aangeduid met de term JIT model storming.
Naast de bovenstaande ‘modelleer-practices’ passeren ook diverse andere bruikbare ‘practices’ de revue zoals Burndown charts, (Acceptance) Test Driven Development en Continuous deployment, alle belangrijke elementen van DAD.

De rijke verzameling van practices blijken in de praktijk van onschatbare waarde om de juiste requirements op het juiste moment boven water te krijgen. Uiteraard kun je alle practices ook eventueel toepassen in jouw huidige agile-methodiek (waardoor deze uiteraard meer en meer op DAD gaat lijken!)

Transition-fase
Aan het eind van de Construction-fase wordt bepaald of het product voldoende is uitontwikkeld om de stap naar transitie te zetten. In de transition-fase wordt het product opgeleverd en overgedragen aan de afnemer.

Samenvattend is dit een training voor professionals die reeds een stevige basis hebben in Agile systeemontwikkeling. Ze kunnen diverse nieuwe ‘best practices’ opdoen waarmee ze meteen in de praktijk aan de slag kunnen.

Certificering
Gedurende de training word je voorbereid op het behalen van het Certified Disciplined Agilist examen van het Disciplined Agile Consortium. Tijdens deze interactieve training word je klaargestoomd voor het examen; er is dan ook veel aandacht voor lastige examenonderdelen en aan de wijze van vraagstelling. We adviseren dat je in de periode tussen de trainingsdagen enige zelfstudie verricht uit het boek 'Disciplined Agile Delivery'.

Doelgroep

De training is bedoeld voor iedereen die al enige tijd werkzaam is in een agile team en meer wil weten over het DAD-framework.

Werkvorm

De kennisoverdracht vindt plaats door middel van Powerpoint-presentaties (deze zijn Engelstalig vanwege het Engelstalige examen), individuele en groepsopdrachten en discussies. Gedurende de gehele training wordt één casus gebruikt. Daarnaast is er ruime aandacht voor jouw eigen praktijkcasuïstiek.