Agile teams zijn structureel anders dan hun tegenhangers in de waterval. Watervalteams volgen de structuur van de organisatie en hebben vaak een topdown-planning, wat betekent dat het management het tempo en de planning bepaalt. Bij agile ontwikkeling is er sprake van zelforganisatie binnen het team. Het team stelt hun eigen schema vast op basis van prioriteiten van de producteigenaar en de beschikbare capaciteit binnen het team.
Scrummasters en ontwikkelingsmanagers overbruggen de organisatorische kloof tussen senior management en individuele ontwikkelingsteams. Ze werken aan het optimaliseren van teams en individuele gebruikers om software van de beste kwaliteit te leveren die toewerken naar de bedrijfsdoelen. De scrummaster en de ontwikkelingsmanager beschermen teams ook tegen afleiding van buitenaf, zoals feature creep, waterval-antipatronen, cross-functionele 'thrash' en nevenprojecten die afleiden van de ware doelen van het team.
Zowel scrummasters als ontwikkelingsmanagers werken doorgaans met meerdere agile teams. Laten we eens kijken hoe ze met elk team werken in grotere agile portfolio's.
Wat is een ontwikkelingsmanager?
Ontwikkelingsmanagers zijn belangrijke deelnemers in agile organisaties en hun rol is substantieel. Zij zijn verantwoordelijk voor de kwaliteit van het product, van de code-architectuur tot de kwaliteit voor de eindgebruiker. Ze voeren codebeoordelingen uit om ervoor te zorgen dat teamleden code bijdragen die voldoet aan de korte- en langetermijndoelen van het programma, en omdat ze zo dicht bij het team staan, hebben ze meestal invloed op de technologische keuzes voor het programma. Gecombineerd stelt deze nabijheid ten opzichte van het proces en het product ontwikkelmanagers in staat om intern context te communiceren voor het team en voor de algehele organisatie.
Geweldige ontwikkelingsmanagers zijn teambouwers en dat begint bij het aannemen van personeel. Ontwikkelingsmanagers sturen het wervingsproces aan en bevinden zich in een goede positie om dit te doen omdat:
- Het aannemen van personeel tijdrovend en afleidend is voor het team
- Het zoeken naar kandidaten afleidt van het bouwen van geweldige producten
- Een ontwikkelingsmanager een deel van de effecten van onboarding kan helpen verminderen wanneer een nieuwe werknemer in het team wordt geïntegreerd
Simpel gezegd is het team vrij om zich op het product te concentreren wanneer de ontwikkelingsmanager de taken van werving en aannemen op zich neemt.
Ontwikkelingsmanagers treden ook op als partners en mentoren omdat ze bedreven zijn in de basisprincipes van management: één-op-één vergaderingen, feedback geven en coachen. Succesvolle ontwikkelingsmanagers begeleiden engineers om grootste dingen naar de tafel te brengen: ideeën, code, tests en cultuur. Soms worstelt het team met beslissingen variërend van architectonisch ontwerp tot de branchingsstrategie. Bekwame ontwikkelingsmanagers weten wanneer ze moeten ingrijpen, of het team moeten laten worstelen zodat ze ervan kunnen leren.
Een van de grote verschillen tussen agile en watervalteams is dat de ontwikkelingsmanager een partner is in het schattingsproces. In een watervalteam zou een gesprek als dit niet opvallen:
- "Hé, hoe lang duurt het om deze functie te leveren?” – manager
- "Het gaat zes weken duren. We moeten A, B, C doen om de functie op de markt te brengen.” – engineer
- "Hmm, dat klinkt logisch, maar je moet een manier vinden om het binnen vier weken voor elkaar te krijgen.” – manager
Een agile ontwikkelingsmanager weet echter geweldige mensen aan te nemen en ze vervolgens te vertrouwen. Een fundamenteel principe van het agile proces is dat degenen die het dichtst bij het werk staan, als beste in staat zijn om vorm te geven en te leveren. Het team stelt de planning op. De ontwikkelingsmanager voegt unieke waarde toe bij het onderzoeken en doorlichten van veronderstellingen die tijdens de schatting zijn gemaakt: samenwerken aan het proces, in plaats van te dicteren.
In agile organisaties zul je nooit "Zoek maar een manier om dit binnen vier weken te doen" horen. (En zo wel, zit daar vaak, uhm ... een bepaalde reden achter, denk je niet?)
Wat is een scrummaster?
Scrummasters zijn projectleiders in een agile team die zich richten op het optimaliseren van prestaties. Ze werken tussen de producteigenaar en het team om consistente, succesvolle sprints te garanderen. Scrummasters hebben ook een eigen coördinatie tussen teams, zodat het kernteam zich kan concentreren op productontwikkeling.
The goal of the scrum master is to keep everyone efficient and on the same page. As a result, the scrum master coordinates most of the inputs and outputs required for an agile program. He or she drives the agile ceremonies of sprint kickoff, daily stand-ups, sprint review, sprint retrospective, and works with the team and development managers to estimate larger items like epics and individual user stories in the backlog. The scrum master may not be as technical as the rest of the team, so the development manager can step in to lend valuable context between the scrum master and the team when a knowledge gap appears. As the team matures in it's application of agile, the scrum master focuses less on estimation and more on optimizing the velocity of delivery.
De scrummaster fungeert ook als een agile coach voor de algehele organisatie en helpt het team agile praktijken toe te passen en eigen te maken gedurende de levenscyclus van het product: schatting van storypoints, sprintplanning en continue levering. Het coachende aspect van het werk van de scrummaster is van groot belang. Als agile experts weten ze waarom agile geschikt is voor het project en het bedrijf, en kunnen ze een pleitbezorger zijn voor agile wanneer een bedrijf de groeipijnen doorstaat die bij agile toepassen horen
Scrummasters en ontwikkelingsmanagers werken samen in agile portfolio's
De meeste watervalteams zijn gericht op de manager. Ze kijken naar managers om prioriteiten te stellen, de voortgang bij te houden en de prestaties te evalueren. Agile teams daarentegen zijn zelforganiserende teams die eigenaar zijn van hun roadmap en levering. Om dit voor grotere organisaties te laten werken, werken scrummasters en ontwikkelingsmanagers samen om een agile cultuur in de hele organisatie op te bouwen en fungeren ze als buffer tussen teams en het management. Omdat beide rollen met meerdere agile teams werken, zijn ze belangrijke leden van het agile portfolio.
De scrummaster moet zich richten op de acceptatie en implementatie van agile door het team, en de ontwikkelingsmanager op het aannemen van de juiste personen, het begeleiden van bestaande teamleden en het zorgen voor een goede ontwikkelingscultuur in elk team. Beide rollen bevorderen goed functionerende agile teams, wanneer ze samenwerken.