Toen ik weer eens een agile kwartaalplanning op het werk had, realiseerde ik me dat ook ik aan een langetermijnproject werk. Ik ben namelijk een huis aan het bouwen. Het bouwen van software en het bouwen van een huis verschillen niet zoveel van elkaar. Het zijn allebei langetermijnprojecten waarbij meerdere teams met elkaar moeten coördineren, en elke huiseigenaar zal kunnen beamen dat het project nooit klaar is. Er zijn altijd verbeteringen mogelijk, er gaat altijd iets mis en markttrends veranderen altijd. Zonder plan loop je risico op blockers of een verhuisdatum die altijd over twee maanden is.
Waar softwareontwikkeling in verschilt, en het bouwen van een woning zeker van zou kunnen profiteren, is het gebruik van agile methodologie. Met agile kunnen meerdere teams snel op veranderingen inspelen. Dus hoe kan agile, een methode die gebaseerd is op frequente, continue levering, worden gebruikt met langetermijnplanning voor het totaalplaatje? Is het mogelijk om gedurende een lange periode een realistische prognose te geven, wetende dat de enige constante verandering is?
Hoe langetermijnplanning en agile samenwerken
Waar je je ook bevindt in je reis op weg naar agile, of je nu kanban toepast, of scrum, of net begint te werken met agile op schaal, het is nog steeds nodig om mensen, werk en tijd te beheren bij het plannen van je strategische langetermijnvisie. In software is het moeilijk om een visie te schetsen met losgekoppelde tools, zoals Gantt-grafieken, spreadsheets en aangepaste mixen van tools voor projectportfoliobeheer (PPM). Of in het geval van mijn onderaannemer is zijn mix van spreadsheets, e-mails en sms-berichten vanaf het begin onpraktisch.
Voordat we het gaan hebben over oplossingen voor dynamische voorspelling, bespreken we de stappen die nodig zijn om een agile plan voor de lange termijn te bouwen. We doen dit aan de hand van de metafoor van het bouwen van een huis:
Stap 1. Begin met het grote geheel.
Of het nu gaat om een huis of een product, je moet de visie definiëren en de strategische thema's schetsen. Beschouw thema's als aandachtsgebieden voor de hele organisatie. Waar wil je je op concentreren in het volgende kwartaal, 6 maanden, jaar? Waar wil je tijd en middelen aan besteden? Prestaties, gebruikerservaring, beveiliging, nieuwe competitieve functies (toch maar een hot tub?), of een combinatie van dit alles?
Natuurlijk wilde ik alles, maar dan zijn er altijd nog die twee vervelende realiteiten: tijd en geld. Door thema's met hoge prioriteit te definiëren, kun je je tijd en energie focussen om een paar dingen heel goed te doen.
Stap 2. Identificeer de grote investeringen.
Om het beveiligingsthema te ondersteunen, moeten we bijvoorbeeld een nieuwe fundering bouwen met steunmuren, massieve deuren en ramen met dubbel glas.
Stap 3. Splits het op.
Maar wat voor werk gaat er nou precies zitten in het plaatsen van nieuwe, veilige ramen? Splits het werk voor het grotere initiatief op in handzamerere stukken, zoals epics, die je kunnen helpen met agile kwartaalplanning. Hierdoor krijg je een gedetailleerd overzicht van alle stappen die nodig zijn om je initiatief te realiseren.
Je moet bijvoorbeeld de oude ramen verwijderen, nieuwe ramen kopen, deze plaatsen en iets als gordijnen ophangen. Deze verschillende taken zouden je backlog vormen.
Dit helpt je bij de volgende, belangrijkste stap in dit planningsproces: een schatting of prognose opstellen.
Stap 4. Stel prognoses op.
Nadat het werk is opgesplitst in hapklare brokken, heb je een ruwe tijdsinschatting nodig om een roadmap te maken. Een productroadmap is een plan van aanpak voor hoe een product of oplossing in de loop van de tijd zal evolueren. Je hebt hem nodig om te begrijpen wanneer er grote dingen staan te gebeuren en in welke volgorde.
Hier is de expertise van je aannemer (of product- en ontwikkelmanagers) echt van belang. Door naar vergelijkbare inspanningen in het verleden te kijken, kun je een goed beeld krijgen van wat er nodig is om een epic te voltooien.
Omdat voor schattingen kennis vereist is van eerdere inspanningen voor vergelijkbare epics, is het nog belangrijker om je gegevens op één plek op te slaan. Daardoor kun je veel gemakkelijker dingen opzoeken en nauwkeuriger schatten. Mijn aannemer vertrouwt op zijn ervaring, maar wat gebeurt er als hij iets vergeet of als een andere aannemer een andere ervaring heeft?
Op een later tijdstip neem je de definitieve roadmap mee naar het team (ontwikkelaars, glaszetters etc.), zodat zij de scope nog nauwkeuriger kunnen uitwerken.
Stap 5. Maak slimme releases.
Bij het gebruik van agile ontwikkeling leveren teams over het algemeen een werkend stuk software aan het einde van elke sprint, in de vorm van een release (of versie). Als je echter een langetermijnplanning hanteert en daarvoor een roadmap wilt maken, moet je enkele globale releasepunten in je roadmap opnemen, zodat je releasedatums voor het volgende kwartaal kunt inschatten met een agile kwartaalplanning. Zoals 'Aan de buitenkant alles klaar', dat het initiatief van nieuwe, veilige ramen combineert met afhangen van deuren, schilderen, isoleren, etc.
Voeg de werkitems toe aan de backlog met functies die vergelijkbaar zijn, die het beste bij elkaar passen of die waarde als geheel bieden aan klanten. En vergeet niet dat releases volledig worden aangestuurd door de scope in plaats van strikte einddatums.
Stap 6. Genereer de roadmap.
Nu beschik je over een geschatte backlog, releases en teams met een snelheid. De traditionele planningsdriehoek laat zien dat een plan drie variabelen heeft: scope (wat je wilt doen), tijd (hoe lang het duurt om dat te doen) en middelen (wie kan het doen). Je hebt alles wat je nodig hebt om een realistische roadmap te maken. De aannemer kan nu een indicatie geven van wanneer je echt in je nieuwe huis kunt!
Pro-tip: Hier komt een tool als Tijdlijnen in Jira zeer van pas om een realistische roadmap te maken voor je teams, datagestuurde beslissingen te nemen en belanghebbenden op de hoogte te houden van hoe je teams het werk bijhouden.
Stap 7. Deel met het team en valideer.
Laat je nieuwe, coole roadmap zien aan je team en neem hem samen door. Laat het team de epics opsplitsen in story's en vraag hun beste schattingen voor hoe lang het werk zal duren. De dakdekkers hebben mogelijk wat planningsconflicten, of het bouwbedrijf heeft geen beton meer, en het duurt zes weken om dit te bestellen. Gebruik deze externe factoren om je aannames te valideren en de schattingen, en de stappen die nodig zijn om de epics te voltooien, nauwkeuriger te maken. Je moet de roadmap ook bespreken met belangrijke stakeholders, vooral als hun goedkeuring nodig is om aan de slag te kunnen met bepaalde stappen.
Stap 8. Blijf verbeteren.
Voor eigenaren van agile projecten en huiseigenaren is een project nooit klaar. Waarde blijven leveren door incrementele verbeteringen is wat innovatie en een geweldige woning stimuleert. Gebruik je roadmap als basis voor toekomstige roadmaps en om bestaande roadmaps te optimaliseren. Vraag feedback van klanten of van je gezin en blijf regelmatig en vaak testen en verbeteren.
Wil je een roadmap maken om je langetermijnvisie vorm te geven? Plannen van Jira Software en Jira Align biedt roadmapping-mogelijkheden om je hierbij te helpen. Ontdek de verschillen en bepaal welke oplossing het beste voor jouw bedrijf is.