Home » Blog

Scrum 101 – taking it from theory to practice

I’m talking at the Agile Professionals Network in Auckland tonight about Scrum.  It’s an introductory session for people who haven’t had a chance to experience Scrum yet, so I’m taking a very simple approach to it, going through all the important facets of the roles and the process, and making it more real by using examples from some projects I’ve done recently.  (If you’d like to come, and it’s still 12 May, you can register at the APN website).

And the first thing I’m going to say in the session is that the title of the talk contains a kind of lie:  Scrum’s not a “theory” any more than riding a bike is a “theory”.  You can’t prove mathematically that it works, and you can’t learn either one just by reading a book (or listening to a talk).  You have to do it to learn it: they’re empirical skills.  They’re crafts, rather than sciences or arts.

I’m going to update this post after the presentation tonight, with a bit more detail about what I said (can’t give the game away now!) and notes on what sort of questions people asked.  But for now: what sort of questions do you have, if you haven’t done Scrum at all?  and if you have experienced Scrum, what’s the main thing you would tell people who were new to it?

… to be updated tomorrow …

It’s tomorrow now, so here is the slide deck on Slideshare.net:

I’ve also added a link on our APN website, and details about the next APN event.  Sign up now, it should be a good one!

I had some great questions during and after the talk.  Inbal asked some in a comment below, so I’ll answer those in a follow-up comment.  But someone else asked a particularly good one:

What do you do about deployment, especially if it takes a long time? do you do those in a Sprint?

Ideally, deployment would be a one-click process (as Rowan Simpson said here a while ago).  But lots of platforms (including two we use a lot at Fronde: Salesforce.com and MOSS) can’t do that easily because of the way they’re architected.

If you can do deployment in one step, or even in a few minutes, you could deploy at the end of an ordinary Sprint in which you delivered stuff (and schedule time to do it, either as a single specific Sprint Backlog item, or by reducing the time-available within the Sprint and formally putting the deployment between sprints .

If you can’t do deployment in one step, you’re going to have to schedule time to do the deployment within (one or more) Sprints. Make a Product Backlog item, put it in the Sprint, and Bob’s your uncle.

And either way, there’s usually pre-deployment stuff to do: this is where the “Sprint N” concept comes in.  It’s commonly called the Hardening Sprint, and it’s where you polish and prepare your working software for the full release. It might include final data conversion, last rounds of training, refactoring and retesting, end to end process testing, serious load testing… things like that.

This is NOT an excuse to leave all the testing until Sprint N.  That would just turn the project back into a waterfall.  Every Product Backlog item needs to be tested, documented, UATed, etc (to make it Done) during the Sprint it’s built in.  The Sprint N is to do the overall polish and reduce some of the Design Debt.

There are lots of very good articles on this and other topics on the Scrum Alliance website.


Comments (7)

  • Inbal says:

    Your talk was excellent and interesting, with a lot to take home. Well done!
    A few questions from a newbe:
    1. What do you do with the notes of completed stories / tasks after the sprint is over. Do you throw them to the rubbish? Or keep them for something?
    2. (also asked in the evening): say we estimated a story in 8 days and now we break it down to tasks and it’s actually looking more like 20 days. I think this scenario should be quite common… What do we do? What did you do in your project that was fixed price fixed time? fixed scope?
    3. As the project progresses the backlog can grow with tasks we haven’t thought about and with bugs we discovered after a sprint was over. So we get ‘heavier’ and heavier. Do you prepare ‘buffers’ for that?

    Many thanks,
    Inbal.

  • Inbal says:

    Oh, and the last one (for now) – where will you publish the notes from the talk?

  • Carolyn Sanders says:

    Hi Inbal,

    Thank you!

    1. What do you do with the notes of completed stories / tasks after the sprint is over. Do you throw them to the rubbish? Or keep them for something?

    We keep them – we need them for the Retrospective. Once the project and Retrospective is over, I usually hang on to them for a while for sentimental reasons :-) and then throw them out. We use MOSS sites to keep all our project documents and backlog lists, and those stick around.

    2. (also asked in the evening): say we estimated a story in 8 days and now we break it down to tasks and it’s actually looking more like 20 days. I think this scenario should be quite common… What do we do? What did you do in your project that was fixed price fixed time? fixed scope?

    First, our project was not fixed scope. The client had a fixed budget and therefore pretty fixed schedule, and they wanted high quality, so we agreed that if push came to shove, we’d trade off scope to meet those other constraints. (That’s not part of Scrum, it’s part of Agile Project Management from Rob Thomsett).

    But Scrum is pretty clear in this situation: when a task blows out when you take a closer look at it, first the Team need to look at it together and come up with some options – eg drop some other tasks, or defer this whole task to another Sprint, or don’t do it at all. Then the Team needs to work with the Product Owner to make a decision, by helping them understand all the consequences.

    One or two tasks blowing out will happen on every project. If it happens on a lot of tasks, it might be something to discuss in the Retrospective.

    3. As the project progresses the backlog can grow with tasks we haven’t thought about and with bugs we discovered after a sprint was over. So we get ‘heavier’ and heavier. Do you prepare ‘buffers’ for that?

    Again it’s about tradeoffs. If the project has a fixed budget or deadline, and you add new items to the product backlog, the product owner needs to decide whether they should displace existing items, or go in a later project (and not in this one). Otherwise, maybe you need more sprints – and again the team should re-estimate the product backlog, re-estimate how many sprints are now required, and work out a decision with the product owner. The key is that you don’t change what’s in a sprint while you’re doing it, but the product owner has the mandate to change what’s in future sprints at any time.

  • Carolyn Sanders says:

    See above :-)

  • Tony Sargent says:

    Hi Carolyn, I enjoyed your presentation – it was interesting and refreshing, and gave me some ideas to try in the future. I was particularly taken with your suggestion for how to arrive at estimates for items in the product backlog viz. the Fibonacci series or Planning Poker cards. Using this technique sounds like a good way of short-circuiting something that can otherwise take weeks. One small point, I think there’s a ‘bugette’ in the Fibonacci series shown in the slide – the number after 8 should be 13, with the values following that adjusted in synch. :-)

    Cheers

    Tony Sargent

  • Carolyn Sanders says:

    Hi Tony,

    Aieee! Thank you for that. I’ll fix the numbers before I dare use that slide again.

    Cheers!

  • [...] @ Fronde. Also on the blogs agile methodologies continue to create interest and a little heat. In Scrum 101 – taking it from theory to practice and The “Agile landscape” presentation, and how it went down at PMI Carolyn Sanders gives us an [...]


  • Add your comment