July 28, 2012

How to manage your budget with Agile?!


There are many different ways to manage your home budget. Web tools, iPhone apps, even bank sites offer us a variety of ways to help us balance our home budget. 
And of course, there’s the Agile way. A simple board and some sticky notes.
Lets take this young couple for example. They’ve just moved in together, and they are trying to see how their budget fits together, and how they can control their expenses. By the way, it’s the same when students or flatmates live together - anywhere there’s a common budget.
When you use an apartment wall to visualize your budget, it reduces tension. Instead of uncomfortable silences when neither side is too sure of what and when to bring the subject out, the budget is right there, in front of your eyes.

Getting things out to the open. This is a key to success.
Visualizing the budget and using the Scrum framework may help a lot doing it.
This means that you plan the budget together, and see them as shared responsibility. Each one puts up his own expenses, and the couple discuss it for a few minutes every day or two.
Take the students for instance. As soon as they pinned their budget to the fridge, everyone could see it. Every one shared the same budget and the same responsibility. It belonged to everyone.
So, how do we do that ?
1.    First, create a baseline:
Each person shares a part of their income to add to the common budget, and you set a time frame for the budget - say, a month.

2.    Define your budget categories:
Discuss together what expenses categories you should have. Talking together (the Agile way) is an excellent way to open up and discuss the issues at hand.

Categories may be health, transportation, living expenses - it’s up to you.

If you like you may even drill into one or two categories and flesh them out a bit. Daily expenses can be sorted into groceries, personal supplies, clothing, and so on. 






3.    Label each category:
Label each budget categories according to its relative size in the group and visualize it. Visualization is the heart of getting things done. Seeing it means you own it, and you can control your actions.

You can estimate your budget based off past experience, or by just discussing the limits you want for each category.




4.    Mark the expenses daily:
On a daily basis, each person tallies the actual expenses for each category. You can see very quickly what you can REALLY expect for each category.

Meet up each day for five minutes, and talk it over.

Visualizing and talking about the budget makes it to be better understood. You know the “why” and the “how to do things” and you can quickly solve misunderstanding or balance your expectations accordingly.

Look at the following chart. It takes you literally seconds to see exactly what takes the most budget, and where everything stands. Now, you can make informed decisions.






Once a month, sit down together, and plan for the month ahead, taking into account all the things you have learned from the previous month’s experience.



5.    Burn chart:
You can use the burn chart to track your budget and visualize a bit more. Obviously if you don’t need it then don’t use it.

What do I mean? Well, the initial state of the burn chart is the initial budget.

We then mark what the budget is for each day. We can easily follow our burn chart and see if we are ahead of budget or losing track of our expenses.



If we find that we’re short on money in some areas, we can see where we have some spare budget, and change accordingly. By doing this, we can also see our real world equirements, and how we solved them - so we can make the necessary changes to the budget for the next time.
You can use the same techniques to manage a project budget, youth group budget, wedding budget - or whatever budget you want.

July 21, 2012

Burn down charts @Home are the best thing ever!

In one of my latest posts, Sandra commented about helping a teacher grading exams using the burn chart.
Now, I know that you are wondering two things.
1. How do you use a burn down chart to manage our tasks?
2. What on earth is a burn down chart?
Luckily, I’m here to answer both questions.

What is a burn down chart?

 burn down chart is used by a Scrum team to track their progress. They have specific amount of tasks they need to complete in a specific amount of time, or a specific amount of content. The burn down chart allows the team to visualize the progress they made, over the work they have left.
Our burn down chart is used to gain visibility into our own tasks - meaning, what is the amount of work we have left to do, before the chart burns down to nothing.
You can manage the burn down chart on your whiteboard, or on Excel - it’s up to you.

1. How do you use a burn down chart to manage your tasks?
First, draw two axis.
Y : days of expected work
X: for the effort we need to complete
Lets take the example I told you about - a teacher who needs to grade exams. For sake of the example, she has 150 exams to grade over 10 days.
So the X axis is 150 (the number of exams she has to grade) and the Y axis schedules each day’s progress.
We start off with 150 exams.



On the first day, we graded 30 exams, leaving 120. After two days, we’ve graded 40 exams (we slacked off on the second day), so there are 110 left. And so on.

Date
work left
Work today
0
150
30
1
120
10
2
110
13
3
97

4


5


6


7


8


9


10




As we’re using a whiteboard, at the end of each day we mark a small dot with the number of exams left each day. per that day. As you can see, at the end of the second day, we put a dot in the 120 and 2 junction.

But we aren’t done yet. We also want to see if we are behind or ahead of schedule. I mean, we’ve only got 10 days to grade 150 exams - how can we tell if we’re ahead or falling behind?
Simple. Draw a straight line from start to finish, to show the average progress rate required.



In our case, we need to grade 15 exams a day to reach our goal. Now all it takes is one quick look at the chart to see - if we’re below the line, we’re ahead of schedule. If we’re above the line, we’d better get cracking.
As we enjoy making life difficult for our exam-grading imaginary selves lets say we were sick for two days, and only got 2 exams graded.
You can see the effects immediately.


We need to get back on track. Maybe we need to put in some extra effort, and grade a whole lot more than 15 exams a day, or we should say that we’re returning the exams three days later - whatever we do, we know exactly where we stand.


This is, of course, a very simple burn down chart. There are a lot we can do with these charts, adding more levels of understanding and elaboration. But for the sake of  “keep it simple” we’ll stop here.
To Sum Up

Our burn down chart is used to gain visibility into our own tasks. We can see the amount of work left to do, before the chart burns down to nothing.
It  helps us make decisions and changes based on what’s really happening.
      X axis for days of expected work
      Y axis for effort we need to complete
      Ideal  for  expected progress
      Real line for the current progress



References:
Scrum and XP from the Trenches;how we do Scrum;Version 2.2;2007-04-21;st 
Henrik Kniberg;henrik.kniberg crisp.se

July 14, 2012

Brainstorming your initial to-do list


You’ve just started out with your first to-do list, looking at an empty whiteboard, and all of a sudden you have no idea what to do first, or even what to do.
You need ideas.

Brainstorming is an AWESOME tool for generating ideas.

In this case the way I see it, generating ideas is the first step towards starting and managing our backlog. Luckily, we can use the brainstorming technique at any point of the backlog elaboration. Ideas that come from these brainstorming sessions can be turned into ‘user stories’ or goals for our backlog.
Now, I’ve gone with the simplest possible way to brainstorm, just to show you what I mean. If you want to do some more research (always a good thing!), I’ve put some recommended links at the end of this post.

So why would we use brainstorming to start a backlog?

        When we have so many ideas, we can’t pick the ‘really important one’.
        When we want to refine and redefine our backlog with ideas that are really worth working on.
        When we run out of ideas.
        When we want to get others involved with creating our backlog.
        When we introduce the backlog and to-do list for the first time, and we want to break the ice.

An example of using a brainstorming session to improve parent participation
A group of teachers I know was trying to find creative ways to get parents to be active participants in their next Parent-Teacher day. They were going with a central theme of ‘Creativity with Children’, and they wanted to follow through from theory to practice.
Now, there are a lot of ways to tackle this subject and get things done, but of course the teachers needed to select the right ideas, so that other teachers would follow through as well. The last thing they wanted to do was dictate ideas to the other members of the faculty. Not only will this immediately create antagonism, but teachers that worked with the children daily would have a much better idea of what would work and what wouldn’t.
So they went with a short brainstorming session. This enables each participant to toss out ideas for all to hear, seeing the ideas on the board during the session can create new ones that weren’t thought of before, and of course, deciding on the ideas together raises the level of commitment to the meeting’s decisions.
Among the many good ideas, there were “baking a cake together”, “football session with kids”, and even “building a city model“.
After shifting through the ideas and discussing them, the teachers picked out four ideas. Each one became a backlog item, which they then divided into tasks, which of course made it easier to follow through the idea all the way to the end.
So how do we brainstorm our backlog? (One suggestion out of many)

The brainstorming session outline:

First, the basics:

1.       The facilitator should make sure the rules are kept and run the session openly and smoothly.
2.       Group members can vary between 4 to 30. Smaller groups are easier to control but there will be fewer ideas to present.

Second, the presentation:

Gathering the group, the facilitator must:
1.       Present a short description of the brainstorm session and the expectation of creativity.
2.       Present the rule that the brainstorming session allows everyone to participants and remind the participants of the fact that all ideas must be heard.
3.       Present the main problem/need/ example and the desired outcome.
4.       Set a time limit.
5.       Announce the “go” to start the session.
6.       Make sure the session outcome is recorded to a place we can later visualize, comment and rethink. I, of course, prefer a wall with sticky notes.

The brainstorm session:

1.       Each group member writes down their ideas or solutions.
OR
There’s an open discussion, with ideas being tossed around and written down on the board.

2.       Encourage discussion
a.       Open with asking for “ideas” that springs in mind  ; continue by asking people to use each other’s ideas to think of new ones; ask them to ignore the execution phase for now; ask them to  suggest all ideas not only the interesting ones; and then continue with asking  for “radical ideas”.
b.       Give positive feedback and encourage the group to continue – don’t judge the ideas or the people!

4.       Now you should have a lot of ideas on the wall.


Analyzing the ideas:

1.       Once all the ideas are on the board, group them into five to eight groups of identical area.



2.       Ask the team to vote for the ideas. Each member has a number of points equals to the number of ideas, minus two. He need to give points to the ideas that he thinks are the best answer to the question first put to them by the facilitator.


3.       Pick the ideas with the most points, and ask the team: who, where, why, how, when, to get them to elaborate a bit over the ideas selected
(At this stage, we can use working groups, dividing the group into smaller working groups. Each group takes one idea, and brainstorms it further, before presenting it again to the main group)
Remember, this session alone, may completely change the initial ideas and bring few more.
4.       At the end of the brainstorm session, we should have few ideas/goals as our main backlog items. Those ideas can later on be assigned to working groups and divided into smaller tasks processed into the flow of work till achieved.


Take a look at this flow of brainstorming; it can also be done with two people, or a personal brainstorming. And now that you have some tasks and a backlog, use Scrum and Kanban to start getting them done.

Want to read more about brainstorming?

      Osborn, A.F. (1963) Applied imagination: Principles and procedures of creative problem solving (Third Revised Edition). New York, NY: Charles Scribner’s Sons.
      "Productivity Loss in Brainstorming Groups: Toward the Solution of a Riddle". Journal of Personality and Social Psychology 53: 497–509. 1987.
      Stroebe, W.; Diehl, M. & Abakoumkin, G. (1992). "The illusion of group effectivity". Personality and Social Psychology Bulletin 18 (5): 643–650.
      Brainstorming magazine

July 07, 2012

Be like God - Kanban your way into the world


Whether you believe in God or not, the story of Genesis is an excellent example of doing one thing at a time.

As you probably know, God created our world in just seven days (vacation included)- by completing one major deliverable every day, which was made up of smaller, manageable tasks.

If you want more details, heres the original.

Of course, things are never that simple. On the third day, God completed not one, but TWO tasks. Why? Wait for the end of the post to find out :)

So what do I mean by saying that God does Kanban and God has a limited WIP? I actually mean, that God avoids multi tasking and getting things done by controlling the load of its tasks.

Well, WIP, as you know, is Work In Progress. In Agile, it refers to all materials and partly finished products that are at various stages of the production process.

Comparing it to an industry production line: In Genesis, God put his materials in one end, ran it through the production line, and got the magnificent outcome on the other end - Our world.


Don’t take me literally,obviously, but just look at the pattern here. Each day, God selected one deliverable with a related value, and each deliverable was composed of few small tasks, each done one at a time. At the end of each day (deliverable) God took one step back, looked at the creation (demo), and took up where he left off the next day.


This is an excellent example that shows you about WIP limitations. Doing one thing at a time, and challenging yourself to achieve more according to your limits. Obviously, God doesn’t have a limit. But perhaps he was trying to teach us to do one thing at a time, by example.

Control your WIP (work in progress):  It’s simple. When we do more than we can handle, we probably won’t complete anything. Starting a lot of tasks at once, doing a little bit of everything, means that you finish late, or not at all. This also means that we have to understand what we are capable of, the size and issues we can grasp in one time.


Start finishing and finish starting.



        

Doing just a little bit from everything means you don’t do anything.

An easy example of limiting your WIP is having to attend two meetings at the same time. That’s easy. You pick one - and go to it. But what about preparing a presentation, writing a blog post, checking your email, preparing for a meeting with your team, and researching stuff for your manager. If you start all that at the same time, you won’t get any of it done, and you’ll end up missing your presentation, not answering all your emails, and meeting your team unprepared.

Now think about your kid. You’re telling him to clean his room, do his homework, feed the dog, clear the table, brush his teeth, take out the trash.... that could confuse even God :)

So how do we handle it then? How can we create our own small world, in such we can do valuable things and deliver the outcome?

Start off by making it clear (to yourself as well) that you are expected to do ‘one thing at a time’.

Then, order your tasks by schedule, priority or importance.

Make sure to start doing things with value first.

So lets take the previous example. You need to prepare a presentation next week? Start today by creating the presentation outline (‘Small task’) and send it along to get early feedback. Treating the ‘prepare presentation’ task as one big one means that your definition of done means that you have to finish the presentation today. This will affect your ability to complete your other tasks, so make sure you start and finish the scope of work as you defined it. Don’t leave unfinished tasks around.

Pick one task, complete it , and then take the next task in line.  In time, you’ll see how many tasks you can perform at the same time, but to start off with, it’s better to complete one task at a time, than start five, and not complete any of them.

In industrial factories, an incomplete cycle of work is called inventory. Factories can’t sell inventory. Inventory takes up space, which you pay for. Inventory needs to be maintained, which you pay for. Inventory is waste.

In our personal life, we pay for that wasted inventory with delays, stress and overtime, just because we try to keep up with too many tasks.

Context switching (jumping from one task to another without completing either) is another way to get little or no value from our tasks.

A nice story a friend just told me the other day about a typical Kanban situation at home illustrates another example of the same problem:

“It was Friday noon, and we were preparing for our daughter birthday party. I was with my hands in the pizza dough, and my wife said: I can’t really help you, so I’ll bake a cake for us to eat during the week. In theory, there’s no problem. But when I needed the blender, it was dirty with chocolate and I had to wash it. When I wanted to use the oven, I had to wait 40 minutes for the cake to be done.

I should have told her to just relax and drink some coffee, or put some music and chat with me, instead!”

The value = daughter birthday party pizza : was not achieved
The resources= help from others with the blender, oven. : was not available
Over doing =using the oven as a resource to bake a cake while at the same time the pizza (which holds more value) needs the same resource.

Following the concept of ‘doing one thing at a time ‘ will be made easier when you visualize your tasks on a task board. The task board will help you see your tasks, prioritize them, understand your limits and challenge yourself toward improvement.


So…  doing one thing time,  it’s easier  when , We understands that :
  1. When we do more than we can handle, we probably won’t complete anything.
  2. Context switching (jumping from one task to another without completing either) is another way to get little or no value from our tasks.
  3. Doing just a little bit from everything means you don’t do anything.
  4. Start finishing and finish starting.

So the actions applies will be:




1.       Visualize your tasks. Use a task board.
2.       Set priority to the things you need to do (see important vs urgent)
3.       Pull one task, complete it , and then pull the next task in line. make sure you start and finish the scope of work as you defined it. Don’t leave unfinished tasks around.
4.       Divide big assignments into smaller ones that have value (see how God took two small tasks on Tuesday?)
5.       Understand your resources and limits demanding to perform the tasks.
6.       Stick to doing what has the most value – even if it means not doing something else.
7.       Look back at your results. Retrospect and change  if necessary
8.       Learn and adapt to your abilities. Once in a while, challenge yourself to take more tasks (although not in parallel!), just as God did on Tuesday.

Enjoy 
Read more in this blog:

              Prioritize yourbacklog
              Definition of done
              Time management games
              Visualization & sticky notes
              Task board