Transitie in beeld Agile & DevOps - QBResult · naar de klant te brengen. Om zo te toetsen of ze op...
Transcript of Transitie in beeld Agile & DevOps - QBResult · naar de klant te brengen. Om zo te toetsen of ze op...
Transitie in beeldAgile & DevOps
Presentatie voor Project Managers
Agenda
● Aanleiding● Agile versus traditionele project aanpak● De rollen in een Agile team?● Hoe werkt scaled agile?● Wat betekent agile werken voor de rol van Project Manager?
Q&A
Wat nodig om te kunnen starten?
Wat is Agile, Scrum, DevOps?
Hoe bepalen we wat we eerst doen?
Hoe bepalen we de scope?
Aanvullende onderwerpen
Hoe regelen we de afstemming op portfolio niveau?
Hoe organiseren we de aansluiting met bestaande
processen?
Hoe regelen we afhankelijkheden over de teams heen?
Wat komt er eigenlijk allemaal kijken bij een Agile
transitie?
De Business Drivers van Agile werken
● Beter aansluiten bij de wensen van klanten en gebruikers
● Een (veel) kortere Time to Market
Vaker en betrouwbaarder kunnen releasenEen hogere beschikbaarheid van applicaties
● Meer business waarde uit IT investeringen
● Directe communicatie, betere en prettigere samenwerking
De Agile Principles
● Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
● Welcome changing requirements, even late in development. Agile processes harness change for the
customer's competitive advantage. ● Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the shorter timescale.
● Business people and developers must work together daily throughout the project.
● Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
● The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
● Working software is the primary measure of progress.
● Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
● Continuous attention to technical excellence and good design enhances agility.
● Simplicity--the art of maximizing the amount of work not done--is essential.
● The best architectures, requirements, and designs emerge from self-organizing teams.
● At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agile versus traditionele aanpakOude wijn in nieuwe zakken?
Hoe ontstaan
Waarom Agile / Scrum ?
● 35 % van de oorspronkelijke requirements verandert gedurende het project
● Veel van de klassiek ontwikkelde oplossingen wordt in de praktijk niet of slechts zelden gebruikt
● Werkende oplossingen, iedere paar weken
opgeleverd, geven eerder, beter, en een
vollediger beeld op hetgeen uiteindelijk
maximale waarde toevoegt voor de klant
● De flexibiliteit die Agile/Scrum biedt is meer en
meer een vereiste om snel en efficiënt in te
kunnen spelen op snel veranderende
omstandigheden in de markt
● Het terugdringen van (project) kosten en het
beter beheersen van (project) risico’s is
noodzakelijk
Ontwikkelingen gaan steeds sneller
Klassiek ontwikkelen levert veel verspilling
Waterval versus Agile ontwikkelen
Agile versus waterval: business benefits
Agile versus waterval: Project Risico’s
Wat zijn de rollen in een Agile team?
Scrum basics
Team rollen
Product Owner Value maximizer. Verantwoordelijk voor Visie en geprioriteerde product backlog
Scrum Master Proces facilitator. Coaching team op toepassen Scrum proces
Developers Opleveren onderdelen van de Product Backlog. Het team is zelf organiserend en bevat alle disciplines die nodig zijn om onderdelen (User Stories) op te kunnen leveren die voldoen aan de Definition of Done
Agile team rollen, best practices
● Alle developer skills zijn bij voorkeur minimaal dubbel in het team aanwezig. Bijvoorbeeld
informatie analist, designer, front end developer, back end developer, testautomatiseerder,
content manager, functioneel beheer en technisch applicatiebeheer, infrastructuur beheer
(Operations).
● Agile werken leidt tot delen van kennis en vaardigheden (T-shaped teams)
● Het team bestaat naast de Product Owner en Scrum Master rollen uit 3 tot maximaal 9
‘Developers‘.
● Daarnaast zijn er enkele teamoverschrijdende faciliterende rollen. Denk aan bijvoorbeeld de:
domein architecten, security en performance specialisten, compliance etc.
Rollen die gedeeld worden over teams heen(eenvoudig scaled agile)
SolutionArchitect
Security Perfor-mance
DomeinArchitect
In het programma team
Op afroep, ondersteunend
Com-pliance
InfrastructuurArchitect
Hoe organiseren we de afstemming op portfolio niveau?
SAFe light
Kernteam: de Product Owners, domein architect en operationeel management belangrijkste stakeholders vb
klantenservice, marketing, beheerwekelijks
Project Management team: Programma manager en management maketing, verkoop, klantenservice, IT,
Finance2-
wekelijks
Program Board: Hoger management commercie, Operaties en IT, Programma managermaandelijks
Alignen Roadmaps en afhankelijkheden
Accorderen stratenplanen prioriteitskeuzen
Accorderen Strategische keuzen en Porfolio niveau business cases
Coördinatie i.g.v. werken aan gezamenlijke Value Stream Propositions (SAFe Light)
Bij 2 teams: Eén van de 2 PO´s wordt ‘chief PO’
Bij >2 teams: Product Increment PlanSessies(PI planning) en managen afhankelijkheden door een Release Train Engeneer (SAFe)
KTMPMTPB
Scaled Agile, alternatief LESS
Scaled Agile, alternatief Nexus
Het Spotify Modelhttps://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/
Scaled Agile, SAFe
Opbouw van de PI iteratie
Structureel aandacht voor innovatie
Vereisten voor een goede PI plansessie
● De teams werken samen in een gemeenschappelijke waarde stroom / programma met onderlinge afhankelijkheden
● Coachend leiderschap (‘de helpdesk’)● Het gemeenschappelijke doel is duidelijk, vb werken in thema’s
De afhankelijkheden in kaart gebracht
Wat betekent dit voor Project Managers?
Wat betekent Agile werken voor Project Managers?
Iedereen in het Agile team draagt in beginsel als ´Developer´bij aan het op te leveren product: Naast Developers zijn er Product Owners en Scrum Masters. Ieder team wordt zo veel mogelijk in staat gesteld zijn eigen product zo vaak mogelijk naar de klant te brengen. Om zo te toetsen of ze op de goede weg zijn en te leren vanuit de praktijk.
De ideale wereld bestaat echter niet. Er zijn dan in beperkte mate (<10%) ondersteunende rollen (‘oliemannetjes’) nodig echter de basis blijft dat de agile teams zoveel mogelijk zelf bepalen hoe zij het effectiefst kunnen zijn en de meeste business waarde kunnen opleveren. Vaak zien we dat collega’s met een project management achtergrond een rol als integratiemanager invullen, faciliterend aan de teams:
● het managen van de afhankelijkheden tussen de Agile teams. Bijvoorbeeld in de coördinatie van releases of de coördinatie van releases over de teams heen (De Release Train Engineer rol in SAFe)
● het managen van delen die nog niet door een Agile team opgeleverd kunnen worden● het afstemmen met de van delen van de IT organisatie die nog niet DevOps werken
Sommige PM-ers gaan in een agile transitie over naar een rol als Product Owner, Scrum Master of Agile coach.
Q&A
● Wat hebben we nodig om te kunnen starten?
● Wat is Agile, Scrum, Kanban, Lean en DevOps?
● Hoe bepalen we wat we eerst doen?
● Hoe bepalen we de scope?
● Bestaan er nog projecten?
Agile werken, van start van het product tot voortzetting vanuit DevOps: de 4 fasen van een digitale reis
DiscoveryMinimumViableProduct
Production Optimization
real liveprototype
testpanel
production
commerciallive
ContinuousDelivery
DevOps
Hoe organiseren we de aansluiting met bestaande processen en wat verandert er?
Impact Agile werken op bestaande processen
● We gaan van op projectbasis samengestelde teams (met problemen om mensen vrij te spelen,
planningsproblematiek, wachttijden) naar long live teams die op elkaar ingespeeld zijn en de
gelegenheid krijgen om steeds beter te worden
● We brengen het werk naar de mensen in plaats van de mensen naar het werk
● We doen wat het belangrijkst is eerst en na iedere Sprint is er de mogelijkheid om in te spelen op veranderingen
● Funding van op projectbasis naar op basis van in jaarplakken voorgefinancierde ontwikkelstraten.
Uitgangspunt is dat de ontwikkelstraten op jaarbasis voldoende business case bijdragen om de BuCa
op programma niveau te kunnen valideren
● Nieuwe business epics kunnen aan de programma Roadmap worden toegevoegd na akkoord van een
‘BuCa beoordelingscomittee’ waarin business, IT en Financial Control vertegenwoordigd zijn
Het voorkomen van te managen afhankelijkheden tussen teams (!)
● Allereerst is het beter om ervoor te zorgen dat je minder teams nodig hebt zodat je minder afhankelijkheden te managen hebt (!). Alleen…. hoe doe je dat dan?
● Door de complexiteit te reduceren of door de productiviteit te verhogen
Manieren om de complexiteit te reduceren
● Veel organisaties zijn gevangen in hun structuur doordat er een lappendeken aan applicaties in stand gehouden wordt. Door deze lappendeken te vervangen door enkele technologie standaards kunnen teams op termijn worden samengevoegd (complexiteitsreductie door harmonisatie)
● Een nog grotere slag kun je slaan door het hergebruik te vergroten. Bijvoorbeeld door voor dezelfde processen in verschillende kanalen dezelfde api’s te gaan gebruiken (complexiteitsreductie door hergebruik)
● De allergrootste slag kun je maken als het je lukt om de teams naar bedrijfsproces te organiseren (complexiteitsreductie door te organiseren naar value streams). Bijvoorbeeld als 1 team zelfstandig en volledig verantwoordelijk kan zijn voor een bepaald bedrijfsproces (hoe klein ook) zonder afhankelijkheden van andere teams
Manieren om de productiviteit te verhogen
● De productiviteit van teams kan worden verhoogd door te team omvang te verkleinen en meer te werken met all round senior specialisten (T-shaped, senior teams)
● Daarnaast kun je ervoor gaan om de productiviteit per team te vergroten door productiviteitsverhogende tools als low code platforms in te zetten
Wat komt er eigenlijk allemaal kijken bij een Agile transitie?
Focusgebieden Agile transitie
AgileBasis
AgileMindset
Way ofWorking
Automation
Focusgebieden samengevat
Agile Basis Agile Mindset Agile Way of Working Automation
Long Live, Lerende Teams
Sponsoring vanuit hoger management
Gericht toepassen Lean, Kanban, Scrum, DevOps, SAFe
Test Automation
Funding, BuCa sturing op portfolio niveau
Agile portfolio management
Ondersteunende tooling in place
Monitoring
Governance mandaat PO en Team
Gericht zijn op maximale flow creëren
Gemeenschappelijke basis
Continuous Delivery & Deployment
Resourcing en faciliteiten
Toetsen met klantenAB testingAnalytics
Tribes/Squads voor vakontwikkeling
Provisioning
Kortcyclisch werken Van Agile doen naar Agile zijn
Product Owner alignment
PaaS, services architectuur
Release Train management