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

 

My Personal Agile: Work Breakdown

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

And back again with my attempt to describe my “Personal Agile” productivity methods.

One of the challenges of getting things done is to figure out how to get it done. What do you have to do? What order? How do things work together?

To figure this out part of most any Agile practice is breaking down work to find out what to do, how to do it – and maybe if it even needs to be done (by finding the value as mentioned earlier).

So here’s how I break down work – this is the last stop before we get on to the real hands-on work.

Please note, these are my own definitions, tweaked for personal productivity. They may not fit various other Agile methods or ideas.

Projects

At the top of this all are Projects.  Projects are major, often large, initiatives. These are usally the big things you want to do like cleaning the garage, launching a new website, or writing a book. It may even be a thing you do regularly like cooking twice a week.

How do you define a Project? Here’s a quick guide to what a Project is in my book:

  • Distinct. Projects stand on their own and have their own identity that is (mostly) not dependent on anything else.
  • Has one of two lifespans:
    • It is distinct and will complete and be done, such as finishing a book or a program. Note that something like a software program may then spawn new projects like “maintenance.”
    • It is a distinct effort that is continuing, like a software maintenance program or an exercise routine. I call these Regular or BAU (Business As Usual) Projects. The effort is distinct enough that you could decide to end this Project in the future as a discreet act
  • Usually large. Most Projects will be of some size. However I argue that the Distinction and the Lifespan together define a Project more than size. And since this is my method, I’ sticking with it.

Project Value:
How do you determine if a Project is worth doing – in short, it’s value? There’s formal methods used in business, but on Personal Agile I find that there’s two ways to express – and measure – it’s value.

  • The binary. “I want X so y.” It could be as simple as taking a vacation so you relax or getting a certification as it’s standard career progression.  This is a lot like a User Story (below) just jacked up a level.
  • The measure. This is when you can tie the value to a measure and thus by measuring, determine if something was done and worth it. If you got a certification to try and get a raise then you can measure if that goal was reached – and it can fail as you may get the certification but not the raise. If you want to make X amount of profit with a book in a year, you can evaluate it – after a year.

Because Project success can be defined in many ways, I always look for “congruence,” that gut-level feel that the Project and any measures connect to my life goals. If that gut-level feel isn’t there, you might be wasting your time – or doing this under duress.

By the way if neither work, you can try describing it like a Story.  In fact, those are next.

Stories

Projects consist of Stories. Stories are where we get down to real work and hands-on value. Stories are also where a lot of work and breakdown and arguing goes on. So get ready for some opinionated stuff that might get me into a fight with other Agile practitioners.

A Story is the smallest unit of work you can do in a Project that still delivers value and helps complete the Project. It may be of limited value. It may be to a limited audience. It may not be that helpful without other Stories. But it has value that wouldn’t exist if you took it apart any further.

Ideally a Story should, when completed, be valuable if all other work stopped. It might not be much, but it’s something. Note this is an ideal but it doesn’t always happen.

The best way to get to breaking down Stories is to try it.  So let’s try . .  .

EXERCISE: Look at a Project you want to do.  Now write down everything you’d need to do for it to get done.  Don’t get over-detailed, just give yourself about five minutes.  We’ll talk how to make good Stories in a moment, but I want you thinking breakdown.

Interesting isn’t it?  Determining stories is definitely an art.  I also bet that the Story breakdown you have just brainstorming isn’t quite clear or satisfying.

So if you’re thinking “These Stories seem both really defined and kind of fuzzy” you’re right. Agile is both knowing what to do but not overdoing and overanalyzing. Fortunately there’s a tool to clear them up – and it’s a core part of Agile and one of it’s big contributions to management thought period.

Story Value
Stories in Agile are sometimes called User Stories (the terms get thrown around interchangeably). This is because they are, bluntly, focused on delivering something (value) to someone (a user) – and that forms a Story. The formula is a key to quickly determining what a Story is and what it delivers is to title the Story thus:

As (person) I want (thing) because (reason)

Sound simple, right? But this tells you three things – why you’re doing something for whom. If you can’t figure out any of these three parts, you either need to break it down more, do research – or realize it has no value.

When you define your Stories this way, you get:

  • The Person- Tells you who you do it for, who to ask for questions, and who approves of the result. Vital for good feedback, communications. Though in Personal Agile this is probably you a lot.
  • The Thing – Tells you what to do. The better defined it is the better idea you have what to do but don’t overdo it.
  • The Reason – Tells you why. Why is a great guidance for evaluating what you do, determining if you’re delivering, and motivating you. Reason is also one of the major places where you discover “hey, this is kinda worthless.”

If you’ve ever done something and wondered “why am I doing this?” imagine how knowing these three things would have helped.

As you can see, the Story method is pretty powerful. Sure you might need more details, you may have to find them, but this is a great way to know enough to get doing things. It also helps prevent over-designing things.

By the way, if you need more details, let me refer you to the classic Kipling poem’s opening line:

“I KEEP six honest serving-men
(They taught me all I knew);
Their names are What and Why and When
And How and Where and Who.”

You got Who, What, Why. If you need more details see if any of their friends should go in: When, How, and Where.

By the way, when in doubt, yu can use this formula everywhere. To evaluate an action, to quantify a Project. So be it the biggest Project or the simplest task, when confused, ask “why an I doing this thing and for who?”

A few notes:

  • In Personal Agile you may not need to do formally described stories, but it does help. When in doubt, use them – they’re wonderfully clarifying, even if later you go back to more simple terms. If you’re new to this, definitely use them.
  • Some Projects are so big that they have “big stories” or “bundles” of stories called Features, Epics, Legends, etc. These let you organize stories into groups.  I don’t use them in my Personal Agile.

Tasks

Tasks are the final part of good Agile planning and breaking down work. This is when you figure out what you do hands on.

Remember how you broke down Projects into Stories, the smallest bits of value?  Tasks are when you break down a Story to figure what you have to do to get that value.  Every Story has at least one Task, and each Task contributes to completion of that Story.

Figuring out Tasks is also a bit of an art, but is usually more hard-nosed than, say, Stories. You can pretty much look at a Story and figure out what has to be done.  Remember you may find more Tasks are needed, but you can usually get a good start.

There’s no real way to describe Tasks, but I’d describe them as clearly as possible for the sake of clarity.  The value of them is also pretty apparent as they’re directed to a goal.

EXERCISE: Look at one Story for the above exercise.  Describe the Tasks necessary to do it, and try to make them of reasonable size.

Interesting exercise isn’t it?  You can define Tasks but how do you get your hands around how much work they take?  That’s what’s next.

Tasks and size
Tasks are also where sizing takes place. Sure, sometimes people size Stories and even Projects in various ways (I don’t always in my Personal Agile so I won’t cover it). However, no matter what, how you size a task affects real work – so we need to discuss that.

There is a lot of discussion in Agile about how to do this. In turn thereare a lot of great ideas. In turn, a lot of people actually ignore these half the time. The other half they argue.

Me, I use hours of work. If I were planning a larger Project with more people I might use other methods, but in this case I have a pretty good grip on how fast I work.  This also lets me figure out how long I can spend on things and may let me track odd things that just require a block of time (if, say, I want to spend X hours studying)

However I do have an additional rule I call Fibonacci Hours.

I size tasks in how long I think they’ll take. But I have a few rules:

  • Tasks should be sized so in theory I can do them all in one go – even if it may take setting some time aside (usually 5 hours or less).
  • Tasks are sized in hours – minimum one hour.
  • Tasks hour-sizing must fall in the Fibonacci sequence – 1,2,3,5,8,13, etc. Basically each number is the sum of the ones before it. If something is “between” the two I have to make the call if it’s more likely the lesser or the greater.

In using these Fibonacci hours I’ve been amazed how accurate they are – usually more accurate than my attempts to figure the “exact” time. This is because in our ability to estimate, we’re not always good making fine distinctions, especially with larger numbers. This just enforces a pattern that, as a story gets larger, you have to think in a wider range between sizes.

By the way, I try to break things down to never be more than 3 hours, 5 at the most, unless it’s for something odd (like setting aside time to write).

By the way if you use Agile, you’ve seen this used for “points” and other methods of work. I just found they worked for hours.

A Few Tips On Tasks

  • In an ideal situation each Story would have only one task because you were able to break down value so specifically.  This can happen a lot in Personal Agile, but not as much on larger Projects.  It’s something to aim for, but remember it may not be achievable for certain efforts.
  • It’s best to describe tasks well, but in Personal Agile usually you’re the one doing them so don’t waste time.  Just make sure you can remember what you described.
  • A few times above I noted sometimes a task is just spend-so-much-hours on something.  Don’t be afraid to do that – in Personal Agile it really helps.

Onward To Action

OK you know to think about value. You have an idea of how to break down work. Now we’re gonna get started.

By the way, even if you never use any of my other Personal Agile methods, thinking about work like this will help you.

– Steve