Transitie in beeld Agile & DevOps - QBResult · naar de klant te brengen. Om zo te toetsen of ze op...

Post on 04-Jun-2020

1 views 0 download

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 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