All About Agile | Agile Development Made Easy


Step 1: Get Your Backlog In Order!

So you want to implement Scrum?

And you like the idea of making it easy?

Then listen up. This is step 1 in my series: How to implement Scrum in 10 easy steps.

This is not only the 1st step. It’s the most important step.

Unless you can take this step, go no further. Do not skip it. I promise you’ll regret it if you do. Even if you get no further, this step is likely to benefit you, your team and your organisation.

So here it is…

First of all, where should you start?

Align with Business

Firstly, before you do anything else, you must align your development team with the business.

If you’re part of a business unit, that might be natural and straightforward. If you’re a central development organisation serving multiple business units, developing multiple products, it might be harder. Initially, make sure you have at least 1 person dedicated to a product, application or product range where you will start implementing Scrum.

You can share a team split across multiple products. But it’s a little harder and therefore is a slightly more advanced technique. If possible, it would be ideal to avoid this situation in your first implementation of Scrum, if you can.

Start with BAU

Secondly, although you can use Scrum on projects to good effect, I would suggest you start with BAU (business-as-usual) rather than on big projects. This will keep things simple while you and the team get used to the basics.

So you’ve decided on a product where you will start using Scrum. You have at least 1 person who will be dedicated to that product (or product range). To keep things simple at first, you have selected a product that is in the BAU cycle of bug fixing and enhancements.

Find a Willing Product Owner

The next key step is to nominate a Product Owner. You must find 1 Product Owner. 1 person who will be responsible for prioritising work on the product. 1 person who knows what is required of the product. 1 person that is a good communicator and able to convey requirements. 1 person who is committed to the success of the product, such that they are willing and able to dedicated a reasonable amount of time to its development.

If, for whatever reasons, this step is a problem for you, DO NOT PASS GO.

If you can’t complete this step, your product development is likely to be fraught with issues. Whether or not you implement Scrum. Unless you can take the above steps, it’s quite possible you will be faced with a barrage of requests, no clear view of priorities, a lack of clarity about requirements, lots of noise and complaints, and being pulled from pillar to post. The consequences? You don’t deliver and/or fail to meet expectations. Everyone is miserable. And somehow it’s all your fault! Unfortunately, this is all too common a situation for development teams everywhere. This must be solved before you proceed. This is a critical success factor for your team.

Act as ScrumMaster

So now you are organised. You’re aligned. You have 1 product, application or product range. You have at least 1 person dedicated to the product (Scrum Team). You have 1 Product Owner. And you, by virtue of the fact that you’re reading this information about implementing Scrum, I will assume are probably the ScrumMaster.

As ScrumMaster, you are responsible for supporting the Scrum Team, coaching and guiding them through this process, and removing any impediments blocking their progress.

Create the Product Backlog

Now you must create the Product Backlog.

As you’re reading this, and I’m talking about nominating a (willing) Product Owner, you will probably need to create or facilitate the creation of the Product Backlog. Strictly speaking it should be owned by the Product Owner. But you can get the ball rolling.

The Product Backlog, in its simplest form, is a list of things that people want to be done to the product, in priority order.

Anyone can add anything to the Product Backlog. Anyone. The Scrum process, and agile development principles generally, are collaborative and inclusive. There is no longer any need to say no.

But… very importantly – only the Product Owner can prioritise the Product Backlog.

The Product Backlog can contain anything. Anything relating to the product that is. Bugs. Enhancements. Whole projects. Issues. Risks. Anything.

Having said that, items on the Product Backlog should ideally be expressed in business terms that are of some value to the user (or customer, or business). Not as technical tasks.

Functional requirements should be expressed as features. Non-functional requirements can be put on the Backlog too, for instance ‘the product needs to be faster’, ‘we need to ensure the product is secure’, ‘we need to get off the old platform’, ‘there’s a high risk of downtime due to a single point of failure’. These might not be features, as such, but they are completely justified as items on the Product Backlog.

Prioritise the Backlog

The Product Owner prioritises the Product Backlog. They don’t categorise the priorities 1, 2, 3 or anything like that. The priority is determined simply by the order of the list. The Product Owner puts the Product Backlog in priority order.

Things at the bottom of the list may be way off and may or may not ever get done. Things down the bottom are likely to be fuzzy and ill-defined. Don’t waste time defining things you may never get to, or not get to for some time. If something is a bad idea, the Product Owner should explain to whoever requested it why they are removing it from the Backlog. However, if something’s not such a bad idea, although never likely to be done, just put it in its rightfully low place on the Backlog and explain to the requester where it fits with priorities.

Actually this is just like queueing. Or standing in a line. We’re all used to that. People will generally accept it. Providing the authority of the Product Owner has been communicated and has management support, people will take their place in the queue.

All too often in development teams, there is no clear visibility of the queue. People don’t know how long the queue is. And they don’t know how many are in front of them. This generally leads to impatience and complaints, because it’s the only way to push in and get further up the line.

Visibility of the Product Backlog can solve this problem.

Furthermore…

The above steps can have a profound and powerful effect…

Prioritisation is now a business problem. The trade-off between adding cost and doing more, or waiting patiently in the queue, is now a commercial decision. A grown-up conversation about the cost versus benefit. It’s no longer a delivery problem. It’s a choice. Shouting loudest is no longer the system for prioritisation. So there is no point shouting.

And think about a technical issue or risk that causes you to lose sleep but you never get given the time to address. Put it on the Backlog. The Product Owner may decide that other, more visible features should take priority. But if the risk bites you, it was an informed business decision to carry the risk. Ownership of the risk is successfully transferred.

Things towards the top of the Product Backlog may be done in the foreseeable future. Therefore they are likely to be better understood. And they need to be well enough defined that the team could work on them. These features (or Backlog items) should be defined individually, so they can stand alone as discrete, deliverable pieces of work. Not part of a big network of inter-dependencies. And not part of a big specification document. Defined, yes. But defined in small, individual pieces.  Clear definition of Backlog items just needs to stay one step ahead of the team. No further.

So there you have it. You now have a Scrum team. A ScrumMaster. A Product Owner. And a Product Backlog. You’ve aligned your team with the business. You’ve created clear product ownership. You’ve got your team’s work prioritised. And you have a system, a mechanism, a queueing system, for prioritising on an ongoing basis.

If you do no more, you will be better off for taking this step. But, until you can take this step, you should go no further.

Kelly.

Next in the series: Step #2 – How to estimate your product backlog

See also:
How to implement Scrum in 10 easy steps:
Step #1: Get your backlog in order!
Step #2: How to estimate your product backlog
Step #3: Sprint Planning/clarify requirements
Step #4: Sprint Planning/estimate tasks
Step #5: Create a collaborative workspace
Step #6: Sprint!
Step #7: Stand up and be counted!
Step #8: Track progress with a daily burndown chart
Step #9: Finish when you said you would
Step #10: Review, reflect, repeat…

‘Implementing Scrum’ PowerPoint Presentation

10 Key Principles of Agile Software Development

Home



21 Responses to “Step 1: Get Your Backlog In Order!”

  1. Artem Marchenko says:

    It is indeed very useful to have a committed product owner and a team dedicated to one and only one product/project.

    However, lately I personally came to a conclusion that general commitment to do Scrum and eagerness to Plan-Do-Study-Act is more important. Especially, when it is for historical reasons uneasy to dedicate the whole team to the project.

    I think of it as of a retrospective-driven transition. If you got poor feedback loop, the best first steps can move you only a bit in the right direction. If you got good and short feedback loop, retrospectives can quickly correct the wrong steps take. For example, some of my teams at the moment do move from multi-project development to a couple-of-projects development, exactly because it was one of the highest impediments identified by the team. Later I expect them to move further to a single product development. Plus some internal improvements.

  2. Offshore Software Development says:

    I liked your blog very much, it sound you worked hard to make it so worthful. Please post more items and images as well. I also have a blog relating to offshore software development, to discuss the topic about risk related to offshore outsourcing i.e.http://www.hanusoftware.com/blog/ Offshore.html
    Software Development Company

  3. Offshore Software Development Company says:

    Nice information on scrum development…you have deep knowledge about this area… I would appreciate if you could post more articles on scrum development

  4. t6t,three6t,three6tdegree says:

    If I am not yet able to find a willing Product Owner coz customers want to avoid responsibility, what should i do, Be myself or what?

  5. Ian Bell says:

    the comments about the product backlog are fine, however on a large project with many hundreds of backlog items it becomes rather hard to manage. We’ve ended up with the backlog being used to track iterations (story writing, dev, qa, etc) and also to prioritise upcoming iterations. Our iterations are 2 weeks long, so we can end up with a lot of tracking information in the backlog, which doesn’t feel right. I’ve yet to come across a satisfactory way of managing a big complex backlog.

  6. JObermark says:

    To Ian Bell:

    Note the emphasis on “Clear definition of Backlog items just needs to stay one step ahead of the team. No further.”

    We did scrum for about a year on a project with thousands of backlog items. Our Product Owner devised a huge, complex, politics-management structure for making his priority decisions without offending all of his sources of information.

    But none of that is part of Scrum. All we need as developers is clarity when the rubber meets the road. Being more than one step ahead just pushes influence from development out into customer relations, marketing, etc., where we don’t belong.

    Let those groups learn what the effects of their actions are in the environment as it is defined. If they don’t like the effects that their manipulations of the Product Owner have, they will learn to interact with him more productively, or he will learn to manipulate them back.

    E.g. We often went through long periods of thrash, as the PO was overpowered first by one set of external interests and then another, but THAT WAS NOT OUR PROBLEM: They got the best work possible out of us, far better than when those influences intruded into our lives directly.

    The point is, being at the helm of a storm-tossed ship is hard. But we are the SHIP, not the Captain. The Backlog is the wheel, not the chartering service. Scrum runs development, not the business goals.

    The PO lives in two worlds, the fact that his other existence is Hell, does not mean that his role as PO for your group should get fire and brimstone all over it.

  7. Anonymous says:

    Great Post! Thank you.
    I have a stupid question though. Can you be more specific with “Align with Business”, for some reason I am not sure what you mean exactly.

    Secondly, we are web dev shop and we work on many projects simultaneously.We are a team of about 10 mix of dev/designers and a PM (Me) and my assistant. Will Scrum work for us?

    Thanks
    Ervin

  8. Tim Bowler says:

    @Ervin.

    I can say yes, scrum will work for you. I faced the same problem: Creative design agency, 16 members of staff. Half the dev team based in Poland and lots of smaller projects etc.

    I wrote an article on it:
    http://timothybowler.com/2008/11/20/scrum-in-a-small-agency/

  9. Betclick foot says:

    Thanks

  10. Offshore Outsourcing says:

    Thanks so much this informative post with us….good

  11. Unibet poker says:

    Great Post! Thank you.

  12. parier internet says:

    It’very good post, i think you have reason , thanks

  13. Betclic says:

    Interesting, thanks !

  14. Anonymous says:

    Good post. I have a question on "… These features (or Backlog items) should be defined individually, so they can stand alone as discrete, deliverable pieces of work…"

    Our product backlog has quite a few "epic" stories. We have asked to have them broken down, however the issue is that if we were to do so, they don't add value individually. However, if we leave them as is, they are far too large and could never get done in a Sprint (or even two or three possibly).

    Next, if we could get past this, if they were to be broken down, does it make sense to remove the original epic story? I would think so, as it has now been broken down, however in doing so you lose the full picture.

  15. Kelly Waters says:

    Hi Anonymous – please email me an example of one of your epics broken down into individual user stories and I will try to help you out. My email address is allaboutagile@gmail.com

    Kelly.

  16. Marcelo Ruiz says:

    I have never used scrum for a project, but my understanding was that the product backlog included mostly user stores and you say it can include anything. Can you clarify? Wher should I put tasks like project management time or graphic design?

    Thanks,

  17. Kelly Waters says:

    Hi Marcelo

    Thanks for your comment. I was a bit ambiguous. When I said anything can go on the product backlog, I meant anything that is a feature of the product, rather than tasks.

    Project management is something you have to do with all of the features on the product backlog, so it shouldn't be on there because you won't ever be done with project management and it won't ever be part of the end product as such.

    Graphic design is similar. Although users will eventually see the graphic design, on its own it is not a feature of the product, as a graphic design without the development is of no value to the user.

    Instead you express the features of the product on the product backlog and tasks like project management, graphic design, development, testing, etc are all tasks that do not need to be listed for every feature.

    When you come to Sprint Planning (read the next steps in the series), you will eventually break the user stories or features down into tasks, and the "Sprint Backlog" will contain all the tasks for the section of the Product Backlog that will be delivered in the next sprint.

    Hope that all makes sense!

    Kelly.

  18. Iflexion says:

    Thanks for your detailed step-by-step tutorial. We are working with Agile just recently and have found your Scrum implementation post quite useful. Also it would be interesting to read about FDD.

  19. Iflexion says:

    Thanks for your detailed step-by-step tutorial. We are working with Agile just recently and we've found your Scrum implementation post quite useful. Also it would be great if you write about FDD.

  20. David Frankk says:

    Very helpful post. Appreciate it !

  21. pankaj says:

    can scrum be used for a existing project ? i have mostly read that they can be used for a project which are to be developed from scratch,but many projects are in enhancement/maintenance phase. thanks in advance

Leave a Reply

What is 2 + 1 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)