My Personal Agile: The End-Of-Sprint Retrospective

(This column is posted at www.StevenSavage.com and Steve’s Tumblr)

So your sprint is done. Congrats. Now it’s time for the Retrospective!

The Retrospective is a big part of Scrum, and there are variants of it in a variety of Agile practices. It’s simply sitting down and asking yourself “how did it go,” finding things to improve, and improving them.

It sounds simple, and it is. That’s the point. It’s an obvious, common sense thing to do is regularly review and improve. It’s just not common enough in practice.

Think of it this way, it’s great to stop now and then and decide how to get better. You just gotta make room to review and improve, and Scrum – and my personal-life implementation of it – make it explicit.

So here’s what you do.

The Retrospective

First, set aside time for the Retrospective.  It should always be timeboxed, and I use an hour.  If it doesn’t take an hour, fine – if it does, well you stop anyway.

Here’s how I review in a Retrospective:

  • First, ask yourself what worked. What kept you moving forward, getting things done, and what did you do right? It’s good to focus on the positive here, because if you do enough stuff right you’ll do less wrong.
  • Secondly, ask yourself what went wrong. Focus on specific things that went wrong that are improvable. There will be stuff, trust me.
  • Third, ask yourself what work you couldn’t get done and why. Note that’s not necessarily a wrong – maybe something wasn’t needed. But it let’s you figure out specifics.
  • Fourth, ask yourself what work you discovered you had to do that you didn’t realize. Always good to keep yourself aware of surprises.

You probably have a lot of stuff. But now you gotta make it actionable. What I usually do is list down all the items above, prioritize them, and work in addressing what I learned (good and bad) in actionable items.  Don’t just “not” do something, focus on doing better.  Take a good thing and find ways to repeat it.

As you come up with actionable items, there’s a few ways to record them so they get done:

  • New tasks in the Regular Tasks list. Often undiscovered work in my Personal Agile is something that reguarly occupies time at specific intervals.
  • New things in your backlog or incubator – say if you want to edit better, set aside a few hours to read up on it.
  • Habits you need to improve. I keep a list of what to improve and review it every few days.

Sounds overwhelming? It can be. So focus on the important things that you know you can address.  Don’t overload yourself.

You’ll catch it next time.

Velocity

Velocity is a measure of how much work you got done in a Sprint.  As you examine Velocity over time, you learn how much work you can take – maybe.  There’s a few arguments about how to apply Velocity in Agile, so I’m going to give you my opinions.

Here’s how to get and use Velocity:

  • Measure how much work you got done in that sprint. As noted I use hours of work.
  • Keep a record of these hours per sprint (month). I keep a list in the same spreadsheet as my tracking lists. This lets me compare month to month and make notes.
  • This gives you a rough idea over time of how much work you can get done at a given time.
  • * As you plan sprints, look at your past Velocities to help you decide how much work you can do. This keeps you from overloading – or underloading – yourself.
  • It helps you keep a reasonable amount of work, creating smooth, regular productivity.  Note that’s helps because . . .

Here’s the thing, you can’t be sure the numbers are always perfect.  Velocity is a guide, but each month is different, from holidays to illness to vacation.  Each task is different, and sometimes things that take the same time can be mentally taxing or better done in different situations.

So I use Velocity as a a check, a suggestion, and a way to catch me overloading myself.  But each sprint I also do a gut-check if I can really handle the workload I want to do, for those given tasks.  Velocity is just one tool – but a good one.

What’s Next?

What’s next? Your retrospective is done. Time to end the sprint and start a new one!

– Steve

 

My Personal Agile: Visualization

(This column is posted at www.StevenSavage.com and Steve’s Tumblr)

So you’ve just started your own sprint.  You’ve got a nice big spreadsheet.  You may like that (I do) but if you’ve done any agile research you may ask:

“Why the heck are we doing this in a Spreadsheet?”

There are a lot of tools for organization and time management: Trello, Smartsheets, and my beloved Rally.  Why aren’t I using them here?

A few reasons – none admittedly all that noble.

  1. I am deliberately avoiding more sophisticated tools right NOW because I want to perfect my process.
  2. Spreadsheets give me a lot of control and I can read them with multiple kinds of software.
  3. There’s a lot of choices for tools, but none quite my style – or that I want to pay for.
  4. I track things down to very fine levels – these tools might overdo my breakdowns or it’d take more work to use them.
  5. I am used to operating out of spreadsheets.
  6. I compensate for the limitation with some other methods, some of which I list below.

But some of us don’t work out of spreadsheets.  Why?  We need visuals.  I’ll present you some ideas, but a note:

In “professional” practice of Scrum, I use the big visible boards either automated or printed out, and track to the task level on most teams, the story level on teams of specialists.  What works here may work for you and not work for a team or vice versa.

For instance, one tool may work for a team and not you.  My spreadsheet method would be a disaster for a team in most cases.

Anyway, let’s talk about ways to visualize your work if, like most people, you don’t love spreadsheets like I do:

Solution #1: Use One Of the Tools I mentioned

Trello, Rally, and so on.  Really requires you to learn and adapt to one of them.  It could work, but you’d have to learn a new tool.

The plus side is it may work and you learn a tool to use elsewhere.

Solution #2: Pivot Tables

Since all my work is in a spreadsheet, I use pivot tables and quick calculations to see where I am story wise, figure how much work is done, etc.  After doing this for nearly a year I had pretty good instinctive sense of where things are.

As a note, I do create a rough “guess” every week as to what I can, will, and have to do and look at that separately.

Solution #3: Print Out Your Sprint Backlog

This is a cheesy but surprisingly effective way to track work – Print the backlog out.  Tape it on a wall or something.  As work moves, fill in the spreadsheet cells, using them to track progress.  If you use it well, you might not even need to update the original spreadsheet (though I do as I like to run a lot of statistics)

I did this for awhile, by the way.  It helped, but really as I was always in the Spreadsheet I didn’t need it eventually.

Solution #4: The Big Visible Board

A lot of Agile methods – especially Scrum and Kanban, use a Big Visible Board.  You take some board, divide it into columns for the different categories (Backlog, Defining, Developing, Review, Done), and then stick notes or cards up for each task or story, and move those around.  Yeah, it’s nothing more than cards or sticky notes on a board that you move around.  But it’s fast, easy, and in-your face so you’re aware of what’s going on.  It also helps teams coordinate because they get to see what’s up at a glance.

Now you’re not a team, but these Big Visible Boards help you stay focused – you see it all the time, you’re aware of it.  If you find operating out of a spreadsheet doesn’t work I recommend trying this method.

However, my guess is that if you look at your Sprint Backlog there’s a lot there.  A few Projects, a good amount of Stories, and a lot of Tasks.  Wouldn’t the board get overwhelming?

Well first, if it’s overwhelming maybe you’re overloaded.  But if you’re not, here’s a few recommendations:

  1. Only have Defining, Developing, Review, And Done on the board.  Put your print-out Sprint Backlog on the left.  As you take tasks, make sticky notes for them on the board and see them through.  Sure you get a pile of sticky notes at the end, but that gives you a sense of progress.  By the way, you probably won’t need to update the original spreadsheet much if you do this.
  2. Track by stories.  This is a bit more challenging, but if you’re REAL focused on doing each story all the way through before you take on another, then you can just track on the story level.  Put the tasks on the story and check them off as you do them.  By the way, if you have good story/task breakdown you may have to combine it with method #1.
  3. Two-board solution. On the top are the stories in progress.  On the board below, active tasks.  Might get confusing, but it could help you get “both” levels.

Again, see what works for you.  but that’s the point – what works for you.

– Steve

 

My Personal Agile: Work

(This column is posted at www.StevenSavage.com and Steve’s Tumblr)

Now let’s get on to the next step of my Personal Agile – doing actual work! You’ve got your Sprint Backlog, which is everything you plan to do this sprint (a month) so let’s go.

How Do I Start?

Every day I look at my Sprint Backlog and figure what I should do and want to do. Then I do it. In time you get into a rhythm where you unconsciously know what you want to get done – usually.

Yeah, that’s it. A daily review – maybe more than once a day – and doing stuff. Sounds simple? Of course it is – because you’ve thought this over and taken a manageable chunk of stuff to do. One of the great parts of Agile methods is that you get enough mindwork done up front and break stuff into manageable chunks that it’s easy to focus.

Well, What Do I Do First?

That’s pretty much up to you. In general, you should tackle highest priority work first and work your way down.

In practice, it’s often not as clear cut:

  • There are time constraints on when some things have to get done. You may not list cleaning that grungy guest room sink as your highest priority, but mom’s visiting.
  • Some work may need approval, materials, etc. Those art supplies you needed are late.
  • Some work you can’t stand doing for an extended time period. Maybe you start mowing the lawn this evening but finish tomorrow (but hey, maybe your mowing should be two tasks or even two separate stories).
  • When you start things you quickly realize your priorities are off. You really don’t need those new clothes.

Priority order is a good guide, but the only one.  Do what works.

Sticking With Things

To make sure you progress and stay focused, you want to stick with work.  Here’s a look at what I do:

  • If you take a task, make sure it’s one you can complete in one sitting or one that you’ll get done without anything else interrupting. For instance if you want to write up an essay but don’t finish it before bed, then the next day that’s your top priority.
  • Once you start tasks in a story, that story should (more or less) be your top priority. This lets you focus on delivering value. It also helps get the Story out of your mind. Remember, good breakdown means more stories with less tasks, and that makes this easier.
  • In all cases, try to focus on something being done and complete. Deliver value – or parts of value.

Sticking with something helps you stay focused and keeps you from the mental waste of switching gears over and over.  In a lot of cases it’s better to finish something and start the next thing unless you really have to.

How Do I Track Work?

You want to track the work you’re doing and to know what you’re up to and what you’ve done.  Here’s what I do:

When you start a task, move the “hours” estimate into the appropriate column, and keep moving it. This way you’re tracking work done:

  • Define – You’re fleshing it out and getting ready.
  • Developing – You’re doing it.
  • Review – You (or someone else) are confirming it’s done.
  • Done – Well, duh. Done. Congrats.

This is why I keep totals at on my spreadsheet so, at a glance, I know how many “hours” of work are done where. I’ll go into this more later.

One thing you’ll note is that I track the state of every Task (some methods only do stories). I find if you track and validate Tasks, the stories usually take care of themselves – a truly well made Task may not complete the story but is verifiable. It also lets me follow my progress in miniature as I’m pretty focused on this.

You may only need to check your progress story-level. You can use a pivot table for this, or other forms of visualization I’ll cover next.

How Do I Avoid Being Overloaded?

OK, here’s where we get a new concept: Work In Progress.  This is important.

Work In Progress, aka WIP, comes from Kanban, and has been adopted into many Agile practices, including, of course, some variants of Scrum. The core idea is to limit what you’re working on so you focus – and so you find blockages to completion.

It’s simple – you set a limit on how much work can be in each column (Define, Developing, etc.).  This is usually only one item.  I usually limit it to one task, but sometimes it’s limited to one story.  Nothing can move ahead until there’s “space.”

This idea of moving ahead only when there’s space is called “Pull.”  You don’t push items forward – you pull them when available.  I find this comfort is very comforting, it changes your focus on work.

But what if you’ve got a task in Developing, it’s done, but you have another task in Review waiting on approval? You don’t move that Developing task. It sits. You can either go Define a task and do some research, or try to get the task in Review, well, reviewed.

If all three are filled up? If your Defined thing is Defined, your Developed task is all developed, and you in-review task is in review? You should focus on the in-review task, but if everything is blocked, it may be time to take a break.

Now of course work may have to move forward, but you should acknowledge how you got blocked and fix it in the future. When things get jammed up that’s the sign of a flaw – and a sign you should change your approach so it doesn’t happen again.

Think this is tough? Some folks like to keep it down to one item being worked on period, no matter what the state. In fact, I’m an advocate, on the individual level, for doing this method. Sometimes I even succeed.

So what does all this stuff with Work In Progress Do?

  1. It forces you to avoid multitasking. Multitasking really distracts you, and the more you pile up half-done, the more you’re distracted.
  2. It rethinks work. The idea of “pull” of moving forward only when there’s space helps you see work in a more relaxed, appropriate manner.
  3. It reveals blockages and obstacles. Think of your workflow as a pipe system. If you restrict the amount that goes through it, when a jam up occurs you learn a lot. This is an enormous amount of Kanban – to the point where I’ve heard people say Kanban isn’t a management tool but just a way to find and remove blockages.
  4. It works better with good work breakdowns, so helps validate them.

Now because life gets complicated, I practice what I call WIP 1+1. That means the usual limit applies, BUT I allow myself to work on something else as long as I can get it finished in one go. This means if, say, something is sitting at my editors, I can go do some cooking or clean the bathroom. But I wouldn’t start something that may need another editor’s attention.

As noted, I do this on the task level.  You might find it works on the story level.

What If Something Takes Longer Than I Estimated?

That’s fine, that’s OK. It’s something to note for review at the end of the sprint.

If this requires you to cut work, fine. Figure what the least priority items are and don’t do them unless you suddenly have time. You’ll review this.

One thing I do is change my estimate to fit my new findings.

What If I Get Everything Done Earlier?

Well you could take a break. Otherwise, just bring the topmost items in from the Backlog into the Sprint Backlog, one at a time. Finish those items before taking something else off the backlog.

So This Is Just Taking A List Of Stuff And Trying To Do It Without Multitasking In A Given Timeframe?

Well, yes. Welcome to Agile, where we cut through the bullshit or break the bullshit into manageable pieces.

Next Up?

This may seem easy, but we’ll talk tools and visualization.

– Steve