Commentaar bij de Scrum Guide, versie november 2017

Kijk hier voor de vorige blogpost. Na de inleiding, de theorie en de Values kijken we nu naar wie het werk eigenlijk uitvoeren in Scrum.

Scrum Guide

The Scrum Team

The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity. The Scrum Team has proven itself to be increasingly effective for all the earlier stated uses, and any complex work.

Scrum Teams deliver products iteratively and incrementally, maximizing opportunities for feedback. Incremental deliveries of “Done” product ensure a potentially useful version of working product is always available.

Commentaar

Na alle inleidende teksten komen we dan nu aan bij de kern van Scrum: het Scrum team.

Eerst maar even de definitie: er is een Scrum Team en er is een Development team. Zeker als je het examen wilt halen is het handig die begrippen goed te kennen. In het Scrum Team zitten de Product Owner, de Scrum Master en het Development Team.

De Product Owner staat niet buiten het team. De PO wordt nog wel eens gezien als de klant van het Scrum Team maar dat is dus niet juist. De PO is echt een volwaardig lid van het team en hoort dus ook altijd bij de Retrospective te zijn. Teams die de PO als klant zien hebben nog wel eens de neiging de PO daar buiten te houden. No way!

Een Scrum team is self-organising. Ze bepalen zelf hoe ze zich intern organiseren, hoe ze het werk aanpakken, welke processen ze volgen, etc. De aanpak die ik van ING hoor, dat alle teams zich moeten houden aan een vastgelegde one-agile-way-of-working lijkt me hiermee in tegenspraak. Elk team moet continu zelf kunnen experimenteren met de aanpak en zo, in haar eigen context, de juiste aanpak vinden.

Een Scrum team is ook cross-functional. Ook hier kom je vaak misverstanden tegen. Men denkt dan dat elk teamlid cross-functional moet zijn, en dus alles moet kunnen: UX, programmeren, testen, etc. Als er geniën zijn die alles kunnen dan is dat natuurlijk geweldig, maar de meeste mensen zijn toch vooral goed op een vakgebied. En dat is prima, zolang het team als geheel maar cross-functional is.

Een mooie tussenvorm is dat teamleden streven naar een T-profiel. Dat ze heel goed zijn op een vakgebied (programmeren, testen, design) – de staander van de T, maar op niveau mee kunnen praten, en eenvoudige taken kunnen uitvoeren op andere vakgebieden.

The Product Owner

The Product Owner is responsible for maximizing the value of the product resulting from work of the Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.

The Product Owner is the sole person responsible for managing the Product Backlog. Product Backlog management includes:

  • Clearly expressing Product Backlog items;
  • Ordering the items in the Product Backlog to best achieve goals and missions;
  • Optimizing the value of the work the Development Team performs;
  • Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Scrum Team will work on next; and,
  • Ensuring the Development Team understands items in the Product Backlog to the level needed.

The Product Owner may do the above work, or have the Development Team do it. However, the Product Owner remains accountable.

The Product Owner is one person, not a committee. The Product Owner may represent the desires of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s priority must address the Product Owner.

For the Product Owner to succeed, the entire organization must respect his or her decisions. The Product Owner’s decisions are visible in the content and ordering of the Product Backlog. No one can force the Development Team to work from a different set of requirements.

De Product Owner

De tekst is duidelijk, daar hoef ik weinig aan toe te voegen.

Wat ik wel mis is tekst over de lange termijn visie van de PO. Het gaat heel erg over losse Product Backlog Items. Een PO die al die losse brokjes kan samenbrengen in een overkoepelende visie is wat mij betreft wel erg gewenst. Voor mij is de Product Owner een ondernemer. Vanuit de organisatie ontvangt de PO een budget waarmee hij een team (of teams) kan formeren die een product bouwen. De PO moet zorgen dat de baten, de business value, hoger zijn dan de lasten.

De Product Owner is de owner van een Product. Niet de werkverschaffer van een Team. Constructies met Team Owners kom ik veel te veel tegen. Het is niet nodig dat elk team haar eigen PO heeft. Het is goed mogelijk dat 1 PO diverse teams heeft.

Een PO is de owner van een Product. Een Product is iets dat de klant herkent als Product. Met die definitie (uit LeSS) krijg je in de regel maar heel weinig producten in een organisatie, en dus ook heel weinig product owners.

Veel organisaties hebben ook PO’s die eigenlijk alleen maar een zetbaas zijn. De niveaus erboven bepalen wat er gebouwd moet worden. De PO mag dat dan vertalen naar een team. Dat is echt strijdig met de geest van Scrum.

Ik heb dan ook echt moeite met SAFe en alle lagen die bovenop het Scrum team gelegd worden.

The Development Team

The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. A “Done” increment is required at the Sprint Review. Only members of the Development Team create the Increment.

Development Teams are structured and empowered by the organization to organize and manage their own work. The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.

Development Teams have the following characteristics:

  • They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality;
  • Development Teams are cross-functional, with all the skills as a team necessary to create a product Increment;
  • Scrum recognizes no titles for Development Team members, regardless of the work being performed by the person;
  • Scrum recognizes no sub-teams in the Development Team, regardless of domains that need to be addressed like testing, architecture, operations, or business analysis; and,
  • Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.

Development team

Het meest opvallende hier is dat er geen rollen benoemd worden, en het lijkt er toch zelfs op dat er geen rollen benoemd mogen worden.

Het is niet zo dat ieder lid van het team automatisch de rol ‘developer’ krijgt. Dat beeld had ik eigenlijk wel. Misschien stond dat nog zo in oudere versies van de Scrum Guide. Het wordt gewoon open gelaten. Het Development Team bestaat uit professionals.

Mooi!

Helaas is de praktijk vrijwel overal anders. Sommige leden van het team zijn de developers, anderen de testers. In betere teams zijn er wel T-profielen, en zijn sommigen ‘vooral developer’ of ‘vooral tester’.

De laatste klant waar ik voor werkte had nog een ouderwets HR systeem, waar medewerkers echt strict in rollen werden ingedeeld: analist, developer, tester. Met, in deze volgorde, dalende salarissen. In die context is het echt heel lastig om mensen cross-functional te laten samenwerken. Als een developer testtaken oppakt, dan doet hij een lager soort werk, in de ogen van die organisatie.

Het echt goed invoeren van Scrum betekent daar dus dat ook HR mee moet veranderen (te beginnen overigens bij de naam van de afdeling, mensen zijn geen resources!).

Development Team Size

Optimal Development Team size is small enough to remain nimble and large enough to complete significant work within a Sprint. Fewer than three Development Team members decrease interaction and results in smaller productivity gains. Smaller Development Teams may encounter skill constraints during the Sprint, causing the Development Team to be unable to deliver a potentially releasable Increment. Having more than nine members requires too much coordination. Large Development Teams generate too much complexity for an empirical process to be useful. The Product Owner and Scrum Master roles are not included in this count unless they are also executing the work of the Sprint Backlog.

Development Team Size

De grenzen van drie en negen personen worden benoemd. Maar uit een discussie in een officiële PSM II training begrijp ik dat dit wel als richtlijn en niet als harde grenzen moet worden gezien.

Als een team stap voor stap groeit, en over de grens van negen personen heen gaat moet je niet direct het team gaan splitsen. Ga eerst maar eens observeren (inspect) of de problemen die voorspeld worden (too much coordination) echt gaan optreden. En stuur dan bij (adapt) als dat echt nodig is.

The Scrum Master

The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.

The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

Scrum Master Service to the Product Owner

The Scrum Master serves the Product Owner in several ways, including:

  • Ensuring that goals, scope, and product domain are understood by everyone on the Scrum Team as well as possible;
  • Finding techniques for effective Product Backlog management;
  • Helping the Scrum Team understand the need for clear and concise Product Backlog items;
  • Understanding product planning in an empirical environment;
  • Ensuring the Product Owner knows how to arrange the Product Backlog to maximize value;
  • Understanding and practicing agility; and,
  • Facilitating Scrum events as requested or needed.

Scrum Master Service to the Development Team

The Scrum Master serves the Development Team in several ways, including:

  • Coaching the Development Team in self-organization and cross-functionality;
  • Helping the Development Team to create high-value products;
  • Removing impediments to the Development Team’s progress;
  • Facilitating Scrum events as requested or needed; and,
  • Coaching the Development Team in organizational environments in which Scrum is not yet fully adopted and understood.

Scrum Master Service to the Organization

The Scrum Master serves the organization in several ways, including:

  • Leading and coaching the organization in its Scrum adoption;
  • Planning Scrum implementations within the organization;
  • Helping employees and stakeholders understand and enact Scrum and empirical product development;
  • Causing change that increases the productivity of the Scrum Team; and,
  • Working with other Scrum Masters to increase the effectiveness of the application of Scrum in the organization.

De Scrum Master

Dé taak van de Scrum Master is het promoten van Scrum. Op allerlei lagen: PO, Team, Organisatie.

De Scrum Master is een dienend leider. Bij een van mijn klanten hoorde ik eens een PO verzuchten: ‘ze zijn hier wel erg dienend, maar bepaald geen leider’.

Het dienen zie je terug in de Scrum Guide in termen als: supporting, helping, understand.

Maar het leiden wordt ook benoemd: ‘helps everyone change these interactions’.

De Scrum Master zorgt er (door te helpen) voor dat dingen veranderen. Hij/zij is dus zeker geen watje die alleen wat lieve suggesties doet en het er dan verder bij laat zitten als niemand luistert.

Concreet ondersteunt de Scrum Master dan drie groepen: de PO, het Development Team en de Organisatie.

Ook hier in de omschrijvingen zie je een mix van zachte/lieve taken: helping, coaching, en van meer leiderschap: ensuring.

De omschrijving van het coachen van de Organisatie doet erg denken aan de rol die meestal beschreven wordt als Agile Coach. Die rol komt in Scrum niet voor en hoort echt als taak bij de Scrum Master.