As it turns out, I don’t really know what Scrum is either.
This is a good thing.
No, I am not on crack. Let me say more.
Putting my foot in my mouth in public
I made the unfortunate choice of selecting this post for submission through the Scrum Alliance: 5 Ways Scrum Creates Safety: Why One CSC Uses Scrum and XP Together to Avoid XP Risks. I have gotten more flak over this than a years worth of blog posts.
For sure, there are some inaccuracies (more on this below)
Also, some people have interpreted it as saying XP bad, Scrum good.
In hindsight, I can see how people may interpret the post this way.
I am truly sorry for offending anyone. This was not my intent.
Scrum and XP are evolving targets
My big learning is that Scrum and XP are evolving and imprecise concepts.
Let’s take and example from Scrum. Retrospectives were not originally part of Scrum. I checked out Ken’s original book and it’s not there. Neither is definition of done. Of course, they were part of CSM as taught by Ken in 2004 when I learned Scrum. Scrum at least has a Scrum Guide (hosted at scrum.org!) to define what Scrum is today.
Let’s consider XP. I have heard the statement that Retrospectives are part of XP and have been since 2001. OK, how would I verify that? Well, how about checking the revised edition of Extreme Programming Explained (2005)? Interestingly, it does not mention retrospectives. Jim Shore’s book does but it’s the Art of Agile, not the Art of XP. AFAIK, there is no definitive source for XP the way there is for Scrum. This makes it really hard to have a conversation about what XP actually is. Based on this, I think it is fair to say that I don’t know what XP is and I probably never did. I’m not even sure how I would find out if I wanted to. (If you know, please let tell me).
This demonstrates how CSM and standardized training has done more to grow the Agile community than anything else. It helps to have a standard language and a common core. So, kudos to Ken Schwaber for this.
Practices vs. Brand
I agree with the comment that what is most important is not the Brand, it is the practices. I totally agree. The practices are more important than what we call them.
On the other hand, the brand is relevant too. It defines where we start with clients, the language we use, and the community we grow with. So for me, brand does matter. And the Scrum brand (for all it’s odour).
Many thanks to Lowell Lindstrom and Adam Sroka for commenting on my article and helping me learn something from this experience.
Just had my first article posted to Scrum Alliance website.
Here is the abstract:
Scrum contains a set of practices distinct from XP that are intended to enhance project safety. The Scrum framework is simple and intentionally incomplete. Scrum expects that teams will add in practices that are relevant to their specific context. For example, there is wide recognition within the Scrum community that XP engineering practices need to be added to Scrum to create sustainable software projects. So, Scrum and XP together is a good starting point.
Here are the slides and reference links for the session Gino Marckx and I are giving at Agile 2010 in August
Selecting and delivering the most important work is a critical success factor in Agile projects. But how do you know what is important? Unless you are psychic, some help would come in handy. Consider the diagram below to help make sense of the wide variety of strategies and tools.
We explain three different perspectives: Company, Customer, Team.
The product backlog needs to be structured so that it informs the team of the vision and the work. Whenever the company or the customer priorities are not clear, the team will need to rely on general information and it’s common sense.
Theme Scoring & Screening – Relative or numerical weighting based on criteria (Mike Cohn)
Story Map – structure the work in a grid that reflects actual product usage (Jeff Patton)
- Jeff Patton’s blog
Software By Numbers – prioritize work by Net Present Value of Minimum Marketable Feature
The product backlog prioritization is done from the customer’s perspective, from the perspective of whoever is paying for the product in the first place, whether this customer is internal or external to the company doesn’t really matter. What is most valuable to the customer will be on top. Techniques focussing of this view require strong product domain knowledge, and a good understanding of the impact of specific features on the business.
Kano Analysis – Structured Questionnaire to determine feature relevance: Mandatory, Linear, Exciter
- See materials of Mike Cohn from Team Perspective: Theme Scoring & Screening
Innovation Games® – 12 Games to better understand your product and what’s important (Luke Hohmann)
Companies need to find a balance in distributing the effort over multiple customers and/or products. But they also need to take the company and product strategies into account, deprioritizing features that might be very valuable for customers but aren’t in line with the company’s vision. As well, this takes into account stakeholders other than customers and sales – support, professional services, etc.
Company and Stakeholder Strategy
Business Value Game – Simulation to illustrate how organizations can define their own business value model.
- Game instructions
Allocation Model – helpful to balance priorities with divergent or competing interests
- See example by Alisson Vale: Slides 40-49
Where to go from here?
The most common questions we have gotten after presenting these techniques are “How do I decide where to start?” and “How do these work together?”
These are complementary techniques and are used to solve related problems. Our recommendation is to start with the area that is the biggest challenge for your project. Maybe this means talking to stakeholders you normally don’t talk to. Maybe it means putting a Story Map up on the wall. It depends.
Alternate title: Most Scrum teams need a Kanban board
I am a big fan of Scrum, however, the notion that there are no interruptions during a sprint is simply not realistic in many environments – especially teams adopting Scrum.
Let’s dream of perfection
A key concept from Lean is to dream of perfection. In this case, perfection is “no interruptions”. This is good as a goal but not as a starting point.
Let’s face it, there is a lot of business value in keeping a production environment up and running. Almost universally, this is more important than getting that new feature out. Unfortunately, this value is usually a form of waste since there may have been things that we could have done to avoid production issues in the first place. It even has a name: failure demand. When we dream of perfection, we dream of zero production issues.
Oops. We live in a world where there are external events. Yep. It’s true. Even Scrum teams. Maybe it’s more useful to drop a story or shallow out some functionality when some important external interrupt happens rather than abort the entire Sprint.
Ken Schwaber told the story of getting kicked out of a client close to home for attempting to veto the company picnic in favour of focus on the Sprint commitment. I keep telling the teams that they are part of a bigger picture and they need to be in tune with that.
I follow the rule of letting Product Owners swap out unstarted stories for new ones if the team agrees. This comes from XP. Darn, broke another Scrum rule in order to maximize business value.
A separate support team is an anti-pattern
I keep getting asked – hey, can’t we have a separate support team? Then there won’t be any interruptions. NO! Funny thing is that most technical folks don’t want to be on the support team. But the main reason is that it is very useful to have people developing software fix their own bugs and appreciate what it takes to get something working in production. Otherwise defect rates will climb steadily and that’s the wrong direction to go. We want zero defects, not more.
Most Scrum teams need a Kanban board
For as long as I can remember most teams I have worked with have had a support board where we track the actual hours spent on support. Why actual hours? This gives us history and the ability to predict support workload – very handy information during a Sprint Planning Meeting.
More recently I have used a Kanban board for managing support issues. See sample photo below.
So now, my thinking is that most new Scrum teams probably need a Support Kanban. How about at your company?
Clinton Keith gave an insightful session around designing and configuration a Kanban system for leveled video game production.
Clinton described Scrum and Kanban coexisting peacefully. They used cross-functional Scrum teams to drive collaborative creative work at the outset of the project where team members would swarm stories. Aside from creating the game concept and playability, one of the outputs was to design and implement a Kanban system for producing game levels.
Game level construction requires different highly-specialized skill sets cannot help each other out – the audio engineer doesn’t know anything about graphic design. So Kanban is perfect. A system with fixed takt time was constructed and staffed appropriately to have a steady creation of game levels. Even the levels were broken up into zones to reduce batch size and improve flow.
Some team members continued to run 2 week sprints on solving challenging problems that came up during level construction and playability. For this environment it seems like Scrum and Kanban are both appropriate. This is a huge take-away for me – a better understanding of where Scrum makes sense and where Kanban makes sense.
Another interesting story was to Time Box Art to balance customer value with cost/time when developing artwork (see graph below). Artwork can go on very a very long time and it is difficult to define done. One solution to this is to create a timebox to focus work at the point of diminishing returns. Another benefit is that a timebox can drive creative energy. The example given was that for a high-speed car chase through Paris, you don’t need high-resolution buildings.
Part of my standard training for Product Owners is to help them understand how they relate to everyone else in an Agile/Scrum world. Hence the drawing below.
Project Community Diagram
The Product Owner is not part of the team since their role is to ask for more to keep productive tension in the system. I like the way Ron Jeffries narrates about the Product Owner Role without ever using the term. This is a good story. So is the follow-up one.
I like the XP notion of the customer team to reflect the group representing the customers interests. (If anyone can suggest a good link/definition, I’ll add it.)
Why is the ScrumMaster outside? Their primary role is to act outside of the system to help it function and grow. Why is the ScrumMaster cheering on top? Ooops. That’s a bug. If I had time to re-draw, I’d put them underneath holding up the whole system as a servant leader.
So what do you do, if you don’t like the way I have parsed the world? Please help me understand your perspective – draw a picture to show me the world through your eyes.
There was a really good session at the Scrum Gathering’s Open Space on some of the challenges around the CST application process.
What I want to share here is some general thoughts on what is required to be a Certified Scrum Trainer that I noted during the open space session. This is only an excerpt on how to succeed.
(Part 4 of 5 blogs on the Scrum Gathering in Orlando)
Caveat: There is a Scrum Alliance Improvement Committee working out the new process so this is an informal look at some considerations.
See mindmap below.
It is important to get connected so that people know who you are. If you are considering co-training, find people you like. (N.B. There was some discussion of dropping Co-training requirements so you’ll have to stay tuned on this.)
What you teach when you are CST is your business, however, the evaluation process is based on you wearing your scrum hat. Not your Agile hat. Not your XP hat. Not your PMI hat. Does this mean I need to show a flock of self-organizing geese? Is it OK to share the Agile manifesto? I still don’t know the answer to these questions.
As a CST you will need to develop a curriculum with learning objectives, exercises, etc. There is no official training material that you can use as a baseline – every CST is expected to author training material.
It is important that you contribute to the Scrum Community. This can take the form of organizing a local user group, a conference. Public speaking and publishing articles and blogs is relevant as well.
The big thing I got out of this session is that no one is going to hand you the CST designation because you know Scrum and have run training sessions. Becoming a CST requires excellence and hard work.
See also my post on becoming a CSC.
I started filling out my CSC (Certified Scrum Coach) application almost a year ago and then I stopped due to fear, uncertainty, and doubt. I had been using Scrum for quite a while and successfully transitioned a number of teams, but didn’t understand the process and have any context around it to understand how to be successful and even if I should bother.
(Part 4 of 5 blogs on the Scrum Gathering in Orlando)
I signed up for help in the Dialog Room’s Scrum Clinic (thanks Gerry Kirk and Michael de la Maza) the Scrum Gathering. Roger Brown was kind enough to sit outside by the pool with me and fill in the missing meta-data around the CSC application process. The mind-map below is my effort to capture his perspective on this topic.
The big take aways for me were:
- Now that I know the process, criteria, expectations and outcomes, I feel comfortable proceeding.
- A submission needs to be business professional and may take 10-30+ hours to prepare.
- Three reviewers will score each section to arrive at an overall score (like an exam). No minimum for any section.
- Agile work is OK, but Scrum is preferred and will score higher.
- I need to publish an article on the Scrum Alliance website.
Thanks also to Bob Hartman for reviewing and offering his time to help.
Caveat: this is not official Scrum Alliance policy – this is just my understanding of a discussion on this topic.
At the Scrum Gathering Open Space, there was a great session on this with even more details on the CSC program; please check it out.
Yesterday, Gerry Kirk and I kicked off a 4 day Agile Assessment with a presentation aimed at taking some of the uncertainty out of Agile and providing context for the transition/assessment. See slides below.
The values and agile project life cycle slides were not show; instead, Gerry did a live diagram construction (see photo below). This approach worked well and we got lot’s of great questions.
One of the questions was about Agile contracting. There is a good presentation I commented on in a recent post.
I was really excited to see the presentations from the Munich Scrum Gathering posted on the ScrumAlliance site since I was not able to attend due to a date conflict with Agile Tour Toronto. It took some time to go through all of them so I thought I would post some of the ones I found interesting here to encourage you to check them out and maybe some others. A big thank-you to the Scrum Alliance and authors for posting them.
Ideas from Other Fields
Making Change Happen – Peter Stevens
Peter Stevens has a visually pleasing presentation – Making Change Happen – that summarizes organizational adoption challenges and includes key ideas from one of my favourite books – Fearless Change. The diagram at the left illustrates that there are often factions in an organization pulling in different directions with different agendas – not just your favourite (Scrum or Agile). Check this out if you are involved in organizational change.
Social Objects in Software Development – Dave Harvey
Scrum talks about self-organizing teams. How do you get there? One idea is that we need to think about social networks. These form around social objects, so this is a good place to start. Social objects reinforce our identity and sustain our tribal identity. Consider the photo showing other dimensions of people’s lives. Not only can networks form around this, but it also primes our behaviour to think about others as … people. The presentation is done in zen style and I would totally love to hear Dave in person.
Self-Organizing & Subtle Control: Friends or Enemies? – Mike Cohn
Self-Organizing & Subtle Control:
Friends or Enemies?
Mike talked about self-organization not happening in a vacuum. It is management’s responsibility to guide the evolution of behaviours (rather than specify what how everyone needs work). He then went on to talk about Containers, Differences and Exchanges as a way of making indirect changes to a team. There is also a discussion of Philip Anderson’s 7 levers for influencing team evolution. Worth checking out if you are interested in coaching teams.
Stories from Scrum in Practice
Agile at Telefonica R&D Gemma_Hornos & Monica Izquierd
Although the presentation is about large scale enterprise adoption of Scrum, there are lots of interesting bits of information that apply in general. One example is image is about styles of growth of Scrum within an organization – I really like the viral/mosquito! Lot’s of other great visuals as well.
Practical Roadmap to Great Scrum – Jeff Sutherland
Jeff shares some of his key understandings of doing Scrum well. Want to double productivity? –> Focus on DONE. Want to double again? –> Focus on READY. Self-organization is identified as the 3rd way to double performance. The presentation also talks about large scale adoption and CMMI. Lot’s of good bits of info packed in here.
10 Contract Forms For Your Next Agile Project – Peter Stevens
Peter has a great analysis of the advantages and disadvantages of different types of contracts from both the vendor and the supplier perspectives. Phased development (see photo at left) is one that balances the interests of bother parties and encourages cooperative behaviours. If you need to set up a contract, check out this presentation.
Kicking Scrumbut – Rowan Bunning
Rowan takes a fun and informative look at some common failure modes that organization exhibit when adopting partial Scrum (AKA Scrumbut). Of course all the failure modes are matched with advice on what to do to resolve the problem. Even if you are an experienced coach or Scrum practitioner, you will be sure enjoy and learn from a different perspective.
Below are the slides from my first presentation at AgileTourToronto. It is based on ideas from Alistair Cockburn (among others) and has been a work-in-progress since I started sharing Agile ideas in 2002.
There are a lot of choices and alternatives for getting started with Agile. It can be confusing. This talk will give you a brief guided tour of Agile methodologies so that you have some understanding of how they are similar and how they differ. We’ll cover some of the history of iterative development and waterfall as well as the Agile Manifesto to provide context. At the end of this, you will have an understanding of key principles and the Agile landscape.