pioneering outsourcing 2.0
17  02 2008

Daily Stand Up

Lets start with a quick snapshot of a daily stand up:

  • Who should attend - the team including the scrum master/ agile coach/ process coach
  • Who should not attend - Customers, management or product owners
  • Why should it be standing - This is to help:
    • Keep everyones focus - you are more alert standing than sitting
    • Quick - you can stand comfortably only for a while
    • Able to be conducted right where the team sits
  • How does everyone stand - In a huddle, facing each other
  • Why should I listen to what “A” is working on - You guys are the same team working on same project or team goals, and you would like to know if something A is doing is useful to you or you would be able to help/ provide insight to A. If team members are still not convinced, the process coaches should find out why the team does not have a “shared committment and a vision”.
  • What if customer wants to attend - There are two aspects that you should consider here.
    • Why does the customer wants to know this? Does he/ she not see enough business value being delivered by the team
    • Provide them sprint backlog or a consolidated “team wise” work done. If that wont work, allow them to attend without speaking anything.
  • What if A is not available - Do a tele-call in or have a proxy in place or probably send in an email summary
  • How long should it last - Less than 15 minutes [roughly around 1 minute per person]
  • What time it should take place - Same time, every day of the sprint
  • Who decides what time it takes place - The team, the decision can be facilitated by the Scrum Master
  • What is A and B can’t make it on time - The team has to figure out a way
  • What is the agenda - Basically every person answers 03 questions:
    • What did I do since our last daily stand up?
    • What will I do till our next daily stand up?
    • Is there something that is holding me up?
      • This is all. There are no other aspects discussed like technical details or dependencies etc.
      • To keep the team focusses, its useful that the team talks of things they are doing/ going to do in terms of the sprint backlog
  • When do I discuss the problem holding me up - Raise a hand and ask concerned people to stay back after daily stand up and discuss it then OR come up with an alternative plan that does not disrupt the flow of above agenda and make daily stand up more than 15 minute
  • Who starts first - No rule set. The team can decide. Some creative examples are late comers start first, pass the card, whoever wears yellow/ blue/ red socks etc.
  • How does Daily Standup relate to the Sprint Backlog - After the daily stand up, the team goes to the sprint backlog and updates the same [adds tasks/ edits tasks/ re-assigns tasks/ mentions work remaining etc]Who is the above reported to - Other team members
  • Who is the above not reported to [in Daily Stand Up] - Customer, management, scrum master/ process coach/ agile coach or product owner
  • What if the team looks at scrum master all the time - Daily stand up is a wonderful opportunity for the team to collaborate with each other and self organize. Hence, scrum master should turn around so that the team can talk to each other rather than them.
  • Can Scrum Master question the team during daily Stand Up - No. The ideal place to do the same is “Sprint Review” meeting.
  • What if someone has any questions - These can be taken up after the daily stand up
  • What if team stands there like bozzos - Let them. Help them get out of their bozzo like existence long term rather than short term. Tell them they have 15 minutes to accomplish this as a team and see how they go about it. They would get better with time.

A daily stand up is perhaps the single most important ceremony in an Agile development framework. As discussed above, the purpose of a daily stand up is simple - “Meet for less than 15 minutes a day to inspect and adapt“. The team meets, synchronizes work, finds out how they should collaborate together, who needs help, who can help and are they on track or they need to re-organize to meet a sprint goal. The important thing here is “the team” does all this. The process coaches can help guide the team but not coerce or lead them to a particular way of thinking.

Although, the daily stand up is a wonderful tool for collaboration, it is also useful to highlight a lot of obstacles and things that are stopping the team from reaching excellence. As you can see one of the question team answers is “what is stopping us from doing our work“? Initially, the teams would make some politically nice statements. However, as the teams use of Agile intensifies, they will start revealing obstacles [we have to reach a QA through a project manager and that stops our work and focus, it would have been better to do a prototype first for this, customer is not available for feedback, these requirements are not clear, we do not have the skills to take on this work etc.]. Before you know there is a long list of obstacle backlog items that need to be addressed. This is where a Scrum Master or an Agile Coach or Process Coach comes into picture, whose main role is to “everything in his/ her power” to remove the obstacles and create conditions for the team to do their work in an enjoyable and optimal fashion. In fact one of the things good coaches should do is to get the team to raise as many obstacles as they can and beyond.

Popularity: 32%

15  02 2008

Sprint Planning Meeting

In our posts on Project Backlog, What is a Sprint, Sprint Backlog Introduction, Spirit of Sprint Backlog and Updating the Sprint Backlog, we emphasized a key Scrum [and Agile] ceremony : Sprint Planning Meeting. Agile is an iterative and incremental framework. In Scrum, each iteration is usually called a sprint. This is more than just another name. It signifies that each sprint is not only an iteration but also an increment. A sprint is started with a sprint planning meeting.

Lets say we are in the first sprint. Assuming that there is already a project backlog, picks up “x” number of top priority requirements [remember, the project backlog is in the order of priority]. The “x” requirements are selected through an educated guess that they can complete these requirements. A good project backlog would not only be prioritized but also estimated. The team totals the “relative estimation points” for all these requirements and that becomes the “velocity” of the team for first sprint. After discussing with the product owner, the team finalizes the requirements it would take up in the first sprint and the backlog roughly appears like this:

Project Backlog

As you can see the team has committed to 20 points of work. As this is the first sprint, the team might need to take on more work [finish all requirements too soon] or need to bump off some requirements [if they find they committed to too much work]. The team ask as many questions as possible [acceptance test cases/ test data/ UI designs etc] as they can to the product owner for each requirement and give a final committment before moving to Part II of the sprint planning session. In this session they take each requirement and break them into tasks and the team member voluneteer, discuss and self assign these tasks. A typical sprint backlog after this could look like this:

Sprint Backlog

You can read more about Sprint Backlog in our previous posts:

Hence, a sprint planning meeting is basically communication channel with product owner on what requirements to complete in a given sprint and the team doing some ground work on getting going with the sprint. There are however, some rules of engagement, that the team and product owner need to adhere to:

  • The product owner would not coerce the team into committing to more requirements than they feel comfortable with. After a few sprints, the teams velocity would be evident. However, the product owner is free to discuss his feedback on whether the team has optimal velocity during sprint review.
  • The sprint planning meeting is not the only meeting where product owner needs to be available. The team can request product owner to be available during the sprint at regular interval [if they can sit with the team, nothing like it] to answer any questions or provide feedback or for JAD sessions.
  • The sprint planning meeting should be around 2 hours for each week of sprint - 1 hour for discussion on requirements discussion and 1 hour for task breakdown. This is not a ground rule but anything longer is an overhead that you can do without. Also, the above ratio generally has worked for many teams and output quality - effort input ratio generally decreases for longer meetings. However, the teams might need longer meetings in initial sprints or critical sprints and shorter ones during later sprints.
  • Finally, in Scrum at least and preferably in other flavors of Agile as well, once the team committs to the story - there would be no change: no change in development team, no change in the requirements and no swapping. However, clarifications can be provided. If the team and product owner is divided on whether it is a change or clarification, it is a change. This is done to maintain team focus on what they commit and get a rhythm going after a few sprints.

After the first sprint is over, and the team goes for second sprint planning meeting, they know how many requirements they can commit to. This information becomes even more concrete in later sprints. The project backlog could look like this after sprint 2 sprint planning meeting:

Project Backlog

Sprint planning meeting provides the team and product owner a powerful collaboration tool to plan ahead, plan iteratively and plan with knowledge of immediate past and visibility of immediate future - in essence, allows you to take decisions when they should be - not too early or too late. Combining sprint planning with effective project backlog writing practices [see YAGNI], business value can be delivered sooner in a project.

Popularity: 14%

« Previous PageNext Page »