How To Create Your Team’s Definition Of Done

A scrum team’s definition of done is an important tool that helps the team add new functionality while keeping the product in a releasable state. Here is one way of facilitating the creation and evolution of your scrum team’s definition of done.

Identify The Work Needed To Release Something

Have the development team identify all of the work items (often called tasks) needed to release a high quality product backlog item (often called a user story) to production. Each piece of work goes on a sticky note. Be as specific as possible. If a team member says “testing” get specific about what that entails and write specific sticky notes:

  • Each acceptance criteria has an automated regression test
  • Unit test coverage is greater than 80%
  • Manual exploratory testing has been done
  • All the tests are passing

Put all the sticky notes on the wall in an unsorted clump. Keep asking if there is additional work needed to release a product backlog item until the team feels they have captured it all.

Definition Of Done For A Product Backlog Item

Put a label that says “Definition Of Done For A Product Backlog Item” over an empty section of wall. One by one, team members pick a sticky note that they think would be reasonable to add to the team’s definition of done and they propose that this be added. Adding this means the development team can, and will, do that work for each product backlog item before declaring that item done. If the entire team agrees, then the sticky note gets added. If not, it’s returned to the group of unsorted sticky notes.

Eventually the nominations will stop; there are no additional sticky notes that the team is willing to consider for their definition of done. Have the team look at the list and reaffirm that they are willing and able to do each of these pieces of work for each product backlog item before they consider it done. Adjust as needed until there is consensus that this is their definition of done for a product backlog item.

Definition Of Done For A Product Increment

With the remaining unsorted sticky notes repeat the process from above, but this time have the team members select the work that they can do by the end of a sprint in order for the product increment (the collection of completed product backlog items) to be truly releasable. This becomes the team’s definition of done for a product increment.

Warning! Any items that can only be done at the sprint (product increment) level represent technical debt and increase the risk that the increment might not be releasable at the end of the sprint.

Definition Of Done For A Release

One the premises of scrum is that the team produces a releasable product increment at the end of each sprint. So there shouldn’t be any additional work left. In reality, your team may not be there yet. Perhaps there are still some sticky notes in the unsorted category. These remaining items are significant technical debt and greatly increase the risks related to shipping the product. For now, consider these your definition of done for a release.

Evolving The Definition Of Done

The ideal is having one definition of done, which applies at the product backlog item (A.K.A story) level. Each time a product backlog item is done the business has a releasable product increment and we are leaving no undone work behind. This allows the business to capture the value from the work the team has done as quickly as possible.

In pursuit of this goal, the team and perhaps the entire organization will want to do work in order to promote things from the release definition of done to the product increment definition of done and from the product increment definition of done to the product backlog item definition of done.

Another reason that the definition of done evolves over time is that the team will discover weaknesses or gaps in their definition of done over the course of their work. For example:

  • In product backlog refinement, the team might notice that a particular acceptance criteria is almost universal and so they add it to the definition of done.
  • In sprint planning, the team might notice some vital work that isn’t currently captured in the definition of done.
  • In the daily scrum, the team may surface impediments that could be avoided by a stronger definition of done.
  • In sprint review, the team might discover missed stakeholder expectations and decide to add stakeholder signoff or user acceptance testing (UAT) to the definition of done.
  • In retrospective, the team might identify some ways a stronger definition of done might have prevented the introduction of bugs during the sprint.

Do It Early And Often!

If you are working with a new team, facilitating the creation of their definition of done should be one of the first orders of business. Don’t worry about getting it perfect or ideal; it’s more important that it be realistic. Then you begin the journey of evolving and improving the definition of done over time.

Posted in agile | Leave a comment

Customer Interview For Product Discovery

Conducting customer interviews is a great way to validate, or invalidate, your product idea. Interviewing potential customers is almost always a cheaper and faster way to learn what your customers’ needs are, compared to building the product first and then discovering that you built the wrong thing. Even with an existing product, you can discover which new features will be most valuable through customer interviews. Here’s a great video that explains how to do it.

Posted in products, startups, tools, videos | Leave a comment

A Scrum Master Is A Teacher, Mentor, Coach, And Facilitator

A scrum master wears many hats including: teacher, mentor, coach, and facilitator. Part of the art of being an excellent scrum master is being able to flow between these roles fluidly, depending on the situation at hand and the needs of the people involved.

Teacher

This is the act of showing or explaining something to someone so that they acquire new knowledge. The scrum master is an expert in scrum and related agile practices. The scrum master spreads this knowledge throughout the organization, enabling people to engage in their work more effectively.

Mentor

This is a relationship in which a more experienced person helps to guide a less experienced person in the performance of their work. It includes the informal transmission of knowledge, social capital, as well as psychosocial support to enable broad on-going development. As the team is engaged in the daily use of scrum, the scrum master helps them use it more effectively. The goal of mentoring is to help the individuals become self-sufficient, and the team to become self-organizing.

Coach

In this activity the scrum master aims to improve the performance of an individual or team, in pursuit of an objective set by the individual or team. While it may include elements of teaching or mentoring, the focus is helping the individual or team to improve their own performance: in other words, helping them help themselves. One of the big differences between coaching and mentoring is who is setting the direction. When the scrum master is mentoring, it is the scrum master that is choosing the areas to focus on for improvement. In a coaching approach, the scrum master is helping the individual or team improve in an area of their choosing.

Facilitator

This is when the scrum master helps the team navigate a process or reach an agreement or solution without getting directly involved in the content of the process or discussion. Facilitate means to make something easier. The scrum master facilitates decisions, communication, and meetings. This aspect of the scrum master role supports the agile value of “Individuals and interactions over processes and tools.” The scrum master develops deep knowledge and skill in the use of processes and tools in order to support the individuals to have more effective interactions.

Cheers,

Chris

Posted in agile, coaching, scrum, teams | Leave a comment

Cathy Simpson Becomes A Certified Scrum Trainer

The big news from the Dublin Scrum Gathering is that Cathy Simpson has become a certified scrum trainer. This is a monumental accomplishment. She is one of less than 250 people in the world, and less than 30 women, who hold this certification. We have had the privilege of working with Cathy over the past 3+ years and supporting her as she climbed this mountain. It’s been inspiring to see her do all of the work required. We couldn’t be more proud of her.

Congratulations Cathy!

Chris, Betty, and Max

Posted in agile | Leave a comment

Turn The Ship Around – Intent Based Leadership

David Marquet was about to become a submarine commander. He spent a year learning everything about the boat he was going to command. Two weeks before he was to assume command he was given a different sub, and the only thing he knew was that it has the reputation for being the worst in the Navy. He made it the best. Here’s how.

Thanks to Peter Green for sharing this video with me in his Certified Agile Leadership workshop.

Posted in agile | Leave a comment

Don’t Finish Your Epics! Deliver More Value Instead.

Question

Product team is starting to assign business values to epics so we can, along with effort estimates, set correct priorities. However, we also have quarterly goals. Once we reach the end of a quarter, if an epic is not completely done (all stories under it), how do we get partial credit?

Answer

I recommend rolling the value down from the epics into the stories themselves. This way, you can see what you delivered in the quarter. Keep in mind that value estimates, just like effort estimates, are really just a tool to help with planning and decision making. At the end of the quarter, I’d like to see you focusing on the awesome stuff you delivered and what your customers’ reactions were to that new functionality.

I also recommend not trying to complete all of the stories in the epic. That type of ‘completion thinking’ is often a holdover from the old way of thinking: “We must do all of the things that we said we would do.” It’s not usually the best approach. When a big epic is broken into smaller stories, it’s not the case that all of the stories are equally valuable. Some are very valuable, many are fairly valuable, and some are nice to have but not really all that valuable. Deliver the most valuable stuff, and then keep an eye out for when the rate of value delivery is falling off. At that point, there is usually other, more valuable stuff that the team could be working on. So you should have the team stop working on the current epic, and move on to the other more valuable stuff. Free yourselves from ‘completion thinking’ and focus on constantly delivering value at the fastest possible rate.

Cheers,

Chris

Posted in agile | Leave a comment

Smaller User Stories Podcast

I recently had a conversation with Dave, over at the Mastering Business Analysis podcast, about splitting big user stories down into smaller stories. The interview was a lot of fun and it’s available now. You can get it direct from the Mastering Business Analysis website, or point your podcatcher at one of these links:

You can also read about splitting user stories at SmallerStories.com.

Cheers,

Chris Sims

Posted in agile, scrum, software | Leave a comment

What Is The Role Of Project Manager In Scrum?

This question came from a client: What is the project manager’s role in scrum?

In answer to your question about project managers, there is no project manager role in scrum. The duties of a project manager gets split between the product owner, scrum master and the development team.

The product owner has the vision of the product and is the business representative accountable for making sure the business is kept up to date about the product, the schedule, and the budget. The product owner does this in multiple ways including:

  • Grooming and refining the product backlog
  • Understanding the development team’s velocity so he/she has a sense of when backlog items may be ready for release
  • Communicating frequently with the stakeholders
  • In the sprint review meeting, helping the team demonstrate new features and facilitating conversations with the stakeholders on the direction of the product and the product backlog
  • Sharing and maintaining a budget

The scrum master is responsible for coaching the development team, protecting the team from changes during the sprint, training the team in scrum, helping them overcome obstacles, coaching and supporting the product owner, facilitating scrum ceremonies (meetings like the retrospective). The scrum master is truly a servant leader. They also are the agile champion for the whole organization. They would work with executives and other departments to have scrum work. For example – as a scrum master I would work to coordinate the work between scrum teams and non scrum teams if needed.

The development team takes work into a sprint and then they themselves decide who does what and when they do it. They have a daily scrum everyday to update each other on status and plan the day – so there is no need for a project manager to hand out tasks or manage people to make sure they are working.

So what I ask project managers when they are switching to scrum is – Where do you find your passion? Is it in working with business, developing a product vision and getting that product to market, managing the status, deciding which work should be done, spending a lot of time with stakeholders getting their opinions and buy in?

Or do you love spending time with the development team, having them win, solving problems or removing obstacles, helping people work better together, being an agile champion, training and coaching, creating retrospectives, being more in the weeds of how the development team works without being their manager or telling them what to do. Helping the development team to be self organizing.

This usually gives project managers a good direction of which scrum role they would be best suited for. It’s best that people choose where they want to provide value rather than assigning them to one role or another. I always ask project managers – Where do you think you could create the most value? That is everyone’s job in scrum, to create value anywhere they can.

Hope this was helpful.

Warm regards,
Cathy

Posted in agile, project management, scrum | 1 Comment

Creating Scrum Teams – Choosing Who Is On What Team

Question

How should we form scrum teams as our organization adopts scrum?

Answer

Deciding how to form teams, and which people should be on which teams is the work of management. Of course there are many ways management might choose to do this. One of the most effective ways I’ve found to figure out roles in a scrum transition is to let people decide for themselves! This may sound shocking (who let’s employees or even worse contractors decide what role they will fill), but we’ve seen it work very well. The operative word is transformation. The power in scrum comes from its focus on self-organizing teams producing value rather than individuals doing work.

Start with some good training for everyone so people have a shared understanding of what scrum is, what the roles on the team are, and how adopting scrum will help the organization create more value and a happier healthier work environment. I’ll shamelessly recommend Agile Learning Labs’ Certified Scrum Master workshop for this step. :-) .

Next we assure everyone that they will still have a job and their salary. This might seem like not a big deal – but think about it. The roles in scrum aren’t a 1 for 1 match with traditional project structures. Maybe it’s good to say that again. The roles in scrum are not a 1 for 1 match to traditional project structures. That’s the point – if this doesn’t get addressed what often happens is that roles stay the same with new titles and no real transformation takes place.

So after everyone is assured they still have a job and a salary, we can talk about what roles will be needed on the scrum teams. Each team will need a product owner, scrum master, and three to nine development team members.

Product owners are concerned with the product and it’s how it’s doing in the market.

Scrum masters are most concerned about the people and helping the people work together more effectively.

The development team consists of the people who actually create the product. This might include coders, testers, documentation specialists, or people who have whatever skills are needed to create your products. Developers are concerned with what’s getting built – the quality and building the right thing, the technology.

So I ask people what their primary concern is? What get’s them out of bed? Is it guiding the product? Is it guiding people and teams? Or is it building the product? It’s usually fairly obvious to them.

Finally – I ask them to organize themselves into teams of roughly 5-9 that can produce value (potentially shippable product) based on where they see themselves.

I tell them that each one of them has a main job of figuring out where they can produce value and that as a whole group we need to make sure that all the teams can produce value. Then I let them go. It’s a bit chaotic for sure – as people form teams and deal with making adjustments so that each team can produce value. The teams choose or request scrum masters from the folks who have self-selected into that role.

Often teams form in much more organic and productive ways than if management had assigned people to teams. This is management putting its money where their mouth is when they talk about the power of self-organization. It sets the stage for people on the teams being accountable for producing value and being valued by the business for their contribution.

It can be a bit nerve racking to do it this way – maybe like jumping into a cold lake or jumping out of a perfectly good airplane – I think you’ll be happy if you go for it.

Posted in agile, scrum, teams | Leave a comment

When Can We Start Sprint 1?

Screenshot 2016-09-07 13.43.11

Question

How long should we time box the prep time before the first sprint starts – i.e. the time used to decide on a product that has a good chance of meeting the goals, make effort and business value estimates and get the top product backlog items to be sprint ready?

Answer

I would look for the shortest time you can to prep. To get started in a sprint you need a team and a product backlog. You don’t need a complete and perfect product backlog – since more product backlog items will get added as you go along and existing items will be altered and sometimes removed. I would start working and refining the backlog as you go – so you don’t end up with a “design sprint” that takes longer than a sprint itself.

The Scrum Guide outlines that up to about 10% of the development teams capacity will be used in backlog refinement activities. These activities are ongoing and collaborative between the product owner and the development team. The scrum team decides how and when refinement is done. In the initial sprints, that activity might look like several backlog refinement meetings to get the backlog to a state where there are 2-3 weeks of sprint ready product backlog items. After that it may look like one refinement meeting per week and the development team members doing research, prototyping, etc. to get information to refine the product backlog items.

I would start with the vision, have some product backlog items prioritized in the product backlog and do a few product backlog refinement sessions to get them sprint ready. They don’t have to be perfect – smaller is better. The question to ask in the session – is what’s the smallest piece that could be delivered to get feedback that is still a deliverable? For the product backlog items farther down in the backlog – they can be big, with a swag estimate and a general idea. Then as they are moving up – they need to be split, have new acceptance criteria and estimated.

Sprint ready product backlog items are items that can reasonably be “done” in a sprint according to The Scrum Guide. For the best chance of this I find it useful for sprint ready product backlog items to have four components:
1. They are small enough to be completed in a sprint
2. They have agreed upon acceptance criteria
3. They have an estimate
4. They have no outstanding dependencies

Mostly, the idea is to get the shortest feedback cycle possible in a way that works for your teams so the scrum team can begin seeing real product and getting feedback from stakeholders to make sure they are on the right track.

Warm regards,

Cathy

Posted in agile, scrum | Leave a comment