Friday, 13 May 2016

Why do we have this Sprint Goal?

The idea of a Sprint Goal is to know why you are doing things. In the previous version of the Scrum Guide, it was about completing the sprint, now it’s about meeting the sprint goal. That’s in a lot of aspects the same thing, but for example, when the Sprint Goal becomes absolete, there is no need to complete the sprint, since the Sprint Goal has no value. Using a Sprint Goal helps the Scrum team to focus on the purpose and value of what they’re doing, instead of just finishing the sprint.

It is not mentioned in the Scrum Guide how to document the Sprint Goal, or even if you should do that at all. I would say that the purpose of a Sprint Goal is met when the Scrum team has the Sprint Goal clear for everybody. Tools to help there would be:
  • Writing it on a big piece of paper and put it on the wall of the team’s location, next to / on the Scrum Board;
  • Share it in a visible way digitally (helpful when not all team members are on the same location);
  • Talk about it (at least in the Daily Scrum)
·       

These are the most important parts in the Scrum Guide (2013) about the Sprint Goal:

Topic One: What can be done this Sprint?


After the Development Team forecasts the Product Backlog items it will deliver in the Sprint, the Scrum Team crafts a Sprint Goal. The Sprint Goal is an objective that will be met within the Sprint through the implementation of the Product Backlog, and it provides guidance to the Development Team on why it is building the Increment.

Sprint Goal

The Sprint Goal is an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.

As the Development Team works, it keeps the Sprint Goal in mind. In order to satisfy the Sprint Goal, it implements the functionality and technology. If the work turns out to be different than the Development Team expected, they collaborate with the Product Owner to negotiate the scope of Sprint Backlog within the Sprint.

Daily Scrum



The Development Team uses the Daily Scrum to inspect progress toward the Sprint Goal and to inspect how progress is trending toward completing the work in the Sprint Backlog. The Daily Scrum optimizes the probability that the Development Team will meet the Sprint Goal. Every day, the Development Team should understand how it intends to work together as a self-organizing team to accomplish the Sprint Goal and create the anticipated Increment by the end of the Sprint. The Development Team or team members often meet immediately after the Daily Scrum for detailed discussions, or to adapt, or replan, the rest of the Sprint’s work.


Thursday, 21 February 2013

Wil ik mijn Product Owner wel in de Retrospective? (NL)


We hebben inmiddels 13 Sprints erop zitten, en eigenlijk is alles in onze Scrum inrichting wel op zijn plaats. In een van de laatste Retrospectives kwam de vraag ter sprake of het handig zou zijn om de Product Owner (PO) deel te laten nemen in die Retrospectives?
Allereerst kun je kijken wat Scrum daar zelf over zegt. Volgens scrumalliance.org (1) moet de PO hier niet aan deelnemen. Ze zeggen dat het een meeting is tussen het Team en de Scrum Master.
SM PO Team 300x180 Wil ik mijn Product Owner wel in de Retrospective? 
Voors en tegens
Scrum Master Jack Mulunsky pleit op blog.agilebuddy.com (2) ervoor om de PO wél te laten deelnemen. Hij vindt het belangrijk dat deze betrokken is gedurende de gehele development life cycle en daarmee ook invloed heeft op het succes van het team. Hij vindt het belangrijk dat het team “leert leven” met de PO. Dit is voor mij een argument wat ook zwaar meetelt, onze PO geeft uit die motivatie onze demo’s met het team.
Scrum Master Bartek Kobilecki vraagt op pm.stackexchange.com (3) of de PO bij álle Retrospectives aanwezig moet zijn. Zijn PO staat daar zelfs op. De Scrum Master vreest dat door de aanwezigheid van de PO mensen bevooroordeeld of op zijn minst met een voorbehoud zich zullen gedragen in de Retrospective. Dat punt zie ik ook wel, op zijn minst vanuit het onderbewustzijn, aangezien de PO toch de organisatie van de opdrachtgever vertegenwoordigt en daarmee een gevoel van een hiërarchische verhouding ontstaat. Daarentegen vind ik transparantie een groot goed, en zou je moeten werken aan het wegnemen van het genoemde voorbehoud door altijd open en eerlijk te communiceren. Opmerkelijk is wel dat Kobilecki de PO “de baas van de teamleden” noemt. Ik denk dat hij zich daarmee wat beter in Scrum moet verdiepen.
Radu Davidescu reageert op de vraag van Kobilecki dat het belangrijk is dat, wanneer de PO aan de Retrospective deelneemt, er de kans bestaat dat deze een groot deel van de meeting aan het woord is (en dat het team gaat zitten luisteren, red.). Hij vindt dat de PO dan ook alleen op uitnodiging van het team aan de Retrospective mag deelnemen.
Het team
Goed, meerdere argumenten dus. Overigens ook veel discussie over of de PO deel uitmaakt van het team. Ik snap de verwarring wel, maar als je kijkt naar de 3 rollen die Scrum kent: PO, Scrum Master en Teamlid, dan zou je kunnen stellen dat vanuit de rollen dat niet zo is. Vanuit de groep mensen die bezig zijn met het product en proces, zou je kunnen zeggen dat deze 3 rollen het team vormen.
Conclusie
Mijn benadering is eigenlijk heel eenvoudig, en helemaal Agile: we gaan het proberen en kijken of het werkt. Dan komen we te weten of de voordelen opwegen tegen de nadelen. En hier raken we dan ook wel de kern: de daadwerkelijke implementatie van Scrum is altijd anders dan de droge theorie, omdat alle organisaties en mensen anders zijn en denken. Zaak is dat je trouw blijft aan het principe van Inspect and Adapt en dat je het proces continue verbetert.
Referenties

Monday, 10 December 2012

De zwijgende SCRUM master (NL)

Een bekend dillema, vooral voor SCRUM masters die een technische achtergrond hebben (bijvoorbeeld als ontwikkelaar): het team staat voor een uitdaging, en jij hebt ideeen over de oplossing...

Een lastige. Ik ken het gevoel. Maar als SCRUM master is je doel om je team te ondersteunen en stimuleren vele malen belangrijker. Wanneer je meegaat in de materie, verlaat je het proces. En ik ben van mening dat je daar altijd 100% bovenop moet zitten. Het kan wel zijn dat je een inhoudelijke bijdrage kán leveren, maar wanneer het team niet meer functioneert als team, verlies je veel meer. Een opmerking als "hoe zouden we dit kunnen aanpakken?" heeft zoveel meer waarde. Je team wordt dan gestimuleert om ideeen te spuien, te delen en als team na te denken, binnen de context die zij het beste kennen.

De manier en de oplossingen waar het team mee komt, bepaalt ook de kwaliteit en uiteindelijk de velocity van dat team. Als je daar, afhankelijk van jouw incidentele kennis, input aan levert en dit tevens ten koste gaat van het proces, gaat dit ten koste van de glorie van het team.

Wanneer je als SCRUM master en coach het proces zo optimaal mogelijk weet te krijgen, investeer je daarmee in de komende 100 sprints. En als je je overal mee wilt bemoeien, had je projectmanager moeten worden...

Tuesday, 27 March 2012

Frequent Agile Questions #1: Kan ik Agile zijn als de rest van mijn organisatie dat niet is? (NL)


Ik ben enthousiast geworden over Agile nu ik er over gelezen heb. Collega's die ik spreek zijn onverdeeld enthousiast. Ik heb de knoop doorgehakt en werk nu Agile en dat willen mijn klanten ook. Waarom werkt het nou toch niet?

Wanneer je besluit om Agile te gaan werken, begin je niet alleen aan een nieuwe manier van werken, maar ook aan een nieuwe manier van denken. De redenen waarom je de dingen doet die je doet, veranderen. Je verandert vaak van efficient gedreven werken naar effectief werken. Het is goed om er meteen mee te beginnen, maar tegelijkertijd gaat je organisatie een transitie in.

Van Waterfall via WAgile naar Agile

Je zult veel energie moeten steken in het promoten van de "Agile mindset" bij iedereen waar je mee te maken krijgt. Je hebt bij je development process te maken met Business stakeholders, grafische vormgevers, testers, functioneel ontwerpers, projectleiders (!), developers voor front- en back-end, etc. Hoe meer partijen de Agile mindset delen, des te beter werkt het. Sterker nog, in je eigen clubje kun je maar beperkt successen boeken. Want na enige tijd loop je tegen deze problemen aan:
  • De business maakt zich druk over het feit dat je ze niet kan vertellen wat een project gaat kosten;
  • De projectleider wil toch eigenlijk wel graag de scope vastgelegd zien, en graag in het begin van het project. Hij wil meer informatie vooraf, er moet tenslotte een PID gemaakt worden;
  • De grafische vormgevers vragen zich van tevoren af wat ze allemaal moeten ontwerpen en achteraf waarom men zich niet aan hun design gehouden heeft;
  • Developers zullen constant geneigd zijn om iets "helemaal af" te maken en passeren het incrementele principe.
Dat zijn dan enkele voorbeelden, ik denk dat ik er nog vele kan noemen. Maar als je aan de wieg hebt gestaan van het Agile werken in je bedrijf, zul je mijn voorbeelden zeker herkennen. 

Investeer dus tijd en moeite om dergelijke problemen te addresseren, en blijf iedereen vertellen waarom je het allemaal doet: stick to your principles. Ook en misschien juist bij tegenslagen. Vier je successen en deel ze met de anderen. Werk aan het besef dat je het allemaal doet om waarde aan de onderneming toe te voegen en niet om wilde ideeen te laat, met een overrun en verspilde energie uit te voeren.

Do the right things and do things right...

Wednesday, 7 March 2012

Implementing Agile: Quite a transition

A few days ago I talked to a (dear) colleague about his experience while implementing and starting up an Agile way of working at a large company. Yesterday again, I spoke to a dear colleague, and we basically all came to the same conclusion: implementing Agile certainly has quite a transition phase.

In my experience, people get very enthusiastic about Agile and they start working Agile. Then the frustration comes: Why don't the other guys understand that Agile is the perfect way of working? This is often the case when a small group starts adapting Agile, and they still have to do with "the other guys"... For example: the Business. The Business heard that Agile is fantastic and that you really should be Agile and that it will create value for them. Only; why won't anybody tell me how much things cost? Where is my estimation? When will it be ready? What's this thing about flexible scope?

In my opinion, this illustrates how important it is to guide a company when implementing Agile. Not only it gives the developers a chance to do the right things and get used to it (get velocity) but it makes clear to the business it's not just some methodology, but a mindset, the Agile Mindset. And it will save both parties, and others from quite some frustration.

Tuesday, 31 January 2012

The Agile process: A fast running train?

Came up with this title during a meeting I had today with some colleagues. It was a meeting which I dialed in remote, so I had a disadvantage from the beginning, but that's not my point.

If you put a lot of people into a room, all of them will probably have something to say about 80% of the issues you're talking about. That's what we're experiencing in our Agile process, and a lot of that is good. Everyone knows what it's all about and everyone can have his say, so no-one is left behind or in the dark.

The problem is, that meetings like these are usually more of a brain storm session. We are doing Agile with SCRUM, so you need to take care of the fact that the actual work should be done in the Sprint itself. In that Sprint you should do people in what they are best.

In my case, I'm looking from a Usability perspective to a project and the team is really brainstorming on a lot. And making decisions while pokering. In Agile, that usually is not a big problem, if you have ideas on improvement, make a new story and if that delivers business value, develop it. But in a lot of cases, certainly in ours, we've experienced that those improvements are not often developed because the project has no budget. So if I want to make Usability improvements I need to fight for that and try to get my point through in the discussion. Well, that's life for a Usability Analyst, I know.

How would we improve that and be more (mature) Agile?

  • Recognize the right disciplines in your Agile team, like Usability, Testing, Front End Development, Back End Development, Content Design, Business Process Analysis, etc.;
  • Don't design too much in the poker sessions, make sure that the idea of the required functionality is clear so the team is able to poker it;
  • Recognize that design (not only visual but also functional, navigational and content design) is part of the development process;
  • Choose some form to be clear and unambiguous about function, form and interaction. I prefer making a clickable wire frame or prototype, with detail in those areas where needed;
  • From a budget perspective, be clear that your entire budget shouldn't be gone when the stories are finished. That's more like a form of waterfall where you just use the budget and then development is ready. Maybe there's is Business Value in there, but in Agile you should be both iterative and incremental. Do do this properly, you need releasable versions you can make improvements on;
If you do this, you will deliver more Business Value. If you don't do increments, you are still trying to do everything in one shot; and that's not Agile. For the same reasons I make wire frames to let my stakeholders see what the effect of decisions is and what value it delivers, you should do that with the releasable product as well. 

I've been experiencing the implementation of Agile / SCRUM in a large company for quite some time now, and I realized quite awhile ago that the change from Waterfall to Agile is not only learning a new methodology. It's not only changing your mindset, but also recognizing that the current situation is not Utopia, but it should be the road to it. You should always think about these things:
  1. How are we going to do things best in our current environment and situation?
  2. What is the ideal way of doing things?
  3. Who do we want to be and what do we want to achieve?
  4. How do we get there?
There's no mistake: going to be Agile needs change management. In the spirit of SCRUM: use retrospectives  to consider how we've done and what we need to do, because doing that is often forgotten in the delusion of the current day.

Wednesday, 16 November 2011

The importance of time boxing in SCRUM

In an Agile environment, in my experience people get enthusiastic. I think that is one of the good things of an Agile way of working. In my work experience I've seen that starting with an Agile way of working, in this case SCRUM, especially developers get happy.

This has several reasons, but the main things is: they can do their work. And the method respects the dynamics of IT development.

But every methodology has some anchor points, which should guide you in the right direction. Important in SCRUM are these meetings:

  • The daily SCRUM (stand up)
  • The SCRUM of SCRUMs
  • The Sprint Planning
  • The Sprint Demo or Review
  • The Retrospective

There are several variants of the SCRUM implementation in an organization. Probably the company will not start entirely Agile, but start a transition from Waterfall methodology onto pure Agile. Each company has to handle the touch points with other parts of the organization which still practices Waterfall methodology and how to translate that to the part that is Agile.

It is important to keep evaluating things and see how they can be improved. 

I think an important thing is to look at how much time you need for those meetings, and time box them properly. This takes care of the fact that meetings are going to take to much time, and that the meetings will be used for what they're are meant for. Sometimes people tend to use those meetings to talk about a lot of things, maybe also about how to improve the process.

A good moment to look at how you do things, would be the retrospective. But keep in mind that that meeting is time boxed too. Although I do think that during the process of making your organisation more Agile, you might need some more time for the retrospective. On a different level, this goes for the SCRUM of SCRUMS as well.

The positive effect of sticking to this, that is a) time boxing and b) stay to the purpose of the meetings -although it sounds a bit bureaucratic- is that you will have a clear view on how much time it takes to do those meetings and how much time there''s left to do the actual development during sprint. I still believe there's enough dynamics outside these time boxes to keep the process lean - and mean.