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, here’s 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






July 03, 2012

Make every moment count!


I have just encountered this awesome tool! 

Make every moment count!

The Time Timer® is a visual timer. As time elapses, the bright red disk disappears, helping everyone see how much time is left. See the Time Timer's quality and features, and discover how this visual timer can help you manage time.  

June 30, 2012

The Feeling of ownership and quality time with our kids .


Agile@Home :

How many times have you told your kids to stop strewing stuff all over the living room? And how many times have you wondered, when would you be able to stop repeating yourself?
As you can imagine, it happened to me too.
Now, for a pop quiz. How many of you have taken over these tasks for your kids? You might get angry with them from time to time, but YOU are the one tidying the room, getting their bags ready for the next day - you are the task owners.
All of you? Yeah, I know the feeling.
But how did it happen?

First, lets all agree that we want our kids to own their tasks. Second, lets agree that we want to stop nagging them. Third, lets agree that the kids want to stop being nagged too. Now that we’ve agreed on all that, lets continue.
After all, i believe, we all want quality time with our kids, meaning we all need to free our valuable time with our kids to more important stuff than the same old nagging over and over again.

So how do we do this with Agile? It’s simple, really. By the way, some teachers have already used this method in their classroom to get the kids to perform better and own their tasks.
We take Kanban as a tool and Agile as a mindset and we manage to reduce the nagging and increase ownership. Doing that, we free up valuable time for a healthy family dialog.

I believe that Feeling of ownership means that you are the one that care about this task. You do it because YOU think it is important and not because someone commanded you to do it.
So how do we empower our kids, how do we help them become owners of the task?
What benefits are we looking for?
1.       How to get to the stage where the child does his task on his own (answers our needs as parents).
2.       How to make sure it's not a one time thing.
3.       How to make the child feel in control.
4.       What values should we pass on, and what does the child gain by completing his tasks (involvement, parental communication, attention).

We’ve written about real life examples before, but here’s a short list to achieve our goals:

A : Visualize the family chores.
  1. Introduce Scrum to your kids the fun way. Use colors, sticky notes and a board, and show them its fun. Fun helps us connect better to a concept. Once we are emotionally connected we will be more cooperative.

  2. Build the task board together: Sit down with your kids to build a task board as a family. Let them be part of it. Don’t build it for them. When we do something ourselves, we relate to it better and we start to develop that sense of ownership toward it. Having the children build the board is also easier for us as parents. I mean, what can they possibly get wrong? And don’t forget, this way they have our undivided attention.  So, just Draw the three columns, and let them do the rest.

  3. Everybody puts a task on the board - even Mummy and Daddy. Not too many, one or two each.  Let them pick their tasks by themselves. ‘Helping’ them pick tasks just makes those tasks yours again.
B : Initiate the first step of a healthy family dialog
  1. Suggested that it would be really fun to meet every evening and talk about the tasks, and move them on the board according to their progress.
  2. Meet every evening and talk about the tasks. Let the kids move the tasks around the board themselves.
  3. From time to time , suggest adding more tasks.
Over time, your kids will take ownership over their tasks. They get to the board from time to time, and especially on times agreed they need to do their chores and move the tasks from one column on the board to another.
It works in so many families these days, and its so simple.
And … don’t forget to have fun.


June 23, 2012

Translating a Book With Kanban

Just like everything else, translating a book using Kanban methodology is about the mindset, good communication and good team work.
We’ve just translated Agile Kids to Spanish.
The complications?
Over 200 pages, images, photos, graphs and what have you.
Two teams on opposite sides of the Mediterranean Sea.
Two different native languages.

The result?
In just a few short weeks the whole book was translated and published in Amazon. Amazing.
When we started work on the Spanish version translation,  Evergreen (Ángel Águeda Barrero & Maria Jesus Jimenez )  made the call to manage this process using Kanban. They created a simple Kanban project using Swift Kanban software (which we’ve reviewed before). What could be more obvious than using Kanban to translate a book about Kanban?



As you can see, the flow was pretty simple. The WIP limit was followed and close communication was applied as a policy.
The user stories were all related to books chapter, which is a reasonable size.
The team translating the book sat in one location (Spain) and the customers - that’s me, and my publisher Avi Kaye, from A2O Marketing - were in another.

The bulk of the work was performed by the Spanish team, while we acted mainly as advisers committed to give early feedback when required.
The initial draft was done extremely quickly, and the final version was approved a few days later.

Thanks a lot Angel and Maria, you did an amazing job, and it was great to work with you guys.




June 16, 2012

The difference between developing software in Agile and implementing Agile at home

Agile@Home :


Talking to a fried made me realize that many software engineers struggle with the same questions.
“OK, so we know Agile and Kanban get things done at work. But is it really a good idea to do this at home?”
“It might work, but it feels too much like turning the family into a company - and we’re the management”.
Kelly Waters, from All About Agile, reviewed the Agile Kids book, and had a similar issue with bringing Kanban home.
According to him, although the concept is interesting, he “think(s) it feels a little awkward applying a management methodology with your kids (although my kids certainly need managing!).  So I couldn’t quite decide what I thought in the end.  I think it might be one of those things you either love or hate.”

You may be surprised, but I completely agree with him.
Our kids are NOT a project (although some parents will disagree with me ☺). We should NOT manage our home using a rigid “software project management methodology”. Just saying that makes it feel that the family is just a collection of resources, that have to give quality delivery results, and make sure we get a nice profit.
Doesn’t sound much fun now, does it?
Now, although a family does live within certain rules and boundaries, I think most of you will agree that there’s more psychology involved than project management.
(and there are many interesting psychology theories that compare families and organization managements, showing how management techniques are strangely similar to parenting techniques, and vice versa).
In a family, managerial skills like creating a healthy dialogue, self motivation, the ability to communicate, share ideas or act as a group are valuable, and of course, far more important than ‘delivering a project’.
But even a family needs to get things done, such as chores or tasks, that if not completed, will cause problems down the road.

Come back with me to the Agile software development world for a minute.
Here , our statement is: We aim to deliver something that can go live, in a relatively short period of time with the highest quality while answering customer expectation.
The short short version (and keep in mind, guys, that Agile software development is a long road with lots of engineering practices, tools and principles) is that we coach the teams to collaborate, to work as a team, to be self motivated. We coach the managers to empower their employees, to think about motivation and communication as a key to success and delivering a quality product. We use scrum and Kanban as tools. We coach to visualization and communication above all as powerful tool of getting things done.
Or, in a more simple form: We use the task board, which helps us visualize the project tasks, as a tool. We use the backlog to manage the release components. We use the daily stand-up meeting as tool of communication and collaboration and as a mean for self organization; we use the retrospective as a mean to improve.... and many more Scrum and Kanban mindset tools. Because we want to improve our delivery and quality.

But the bottom line of software development with agile  is that the mindset and tools are just the means to a better delivery (in this case, money)! It’s not the goal.

We teach all those soft skills because we believe they are key to delivering something that can go live, in a relatively short period of time with the highest quality answering customer expectation. 



At home, it’s exactly the opposite

The mindset and the agile attitude ARE the goal. The means are the project management tools. The Agile mindset is used to improve the family dialogue, and the tools get things done along the way.
We just use the Agile project management tools (task board, daily, retrospective) as means to reach empowerment, to elevate self motivation, to teach healthy communication and to elevate improvement culture. 

It’s a modern family; we have tons of tasks to complete, parents working all hours of the day, and we don’t have as much time to talk to one another as we used to. And along comes Agile, and offers an amazing tool to get things done AND improve communication in such a simple way. So why not use it?!
Of course we use the task board as a way of managing the family tasks (which need to be done) , but the real purpose is to start talking over those tasks. We use the daily gathering when we talk about tasks to create a period of quality time, where we can talk and be heard.
It’s not the delivery of the house chores and kids tasks that matter (well, OK, they do, but they are not the goal), it is the ability of the child and family to understand the goals, to be heard, to get feedback, to communicate with the parents, to make mistakes and correct them and to be able to see the way using visualization tools. Completing the tasks is a by product (a very important one!).  It’s the same mindset tools we use for software development, but here they become the goal.


We believe that Agile self motivation and communication tools will help our kids get things done in the future, and they will also make us a better family and those happier. And most of all, they will lead to a self and family growth!


Spoiler: it really works. Using Agile techniques at home, at school, with our kids just works. And the reason it works is that it is not at all project management, it’s all about soft skills.

June 09, 2012

A mother creative solution for helping her girls with their homework

Agile@Home :

“ I do believe in Kanban, it did help my daughter in school big time!

" 2 years ago, she used to bring her homework, put her agenda on her desk and start crying :) she didn’t know where and how to start. At school, they give them lot of tasks to perform every Thursday. They write them in their agenda, and they have to perform all of them by the next Friday (they have one week).
Schools and teachers expects kids to manage their tasks by their own, but in reality,  I see all parents around me managing the homework tasks for their kids. Some parents and kids are great working with the traditional agenda, but for my daughter, it was a big a challenge.  One day she forgets her agenda at school, the other day she starts multiple tasks same day, another time she forgets that she didn’t finish a task etc.

The agenda was not working for her, I tried to help her with it, but couldn’t, it was simply not for her! I had to find  another way, a better way. I wanted a solution that will help her structure her homework tasks by her own, without me asking, did you start your task, did you finish it, how many tasks left etc…
Both my husband and I are software engineers, my husband is a scrum master, he knew about agile mythologies and Kanban. My husband suggested to use Kanban as an alternative for her task management, because he knew that she was very visual, and Kanban will be perfect for her.  I loved the idea; we started using Kanban as a physical board with stickers.

 It was great for the last 2 years, until my other daughter needed the same thing. They didn’t want to share the physical board J  Instead of having 2 separate boards (eventually I will have 3 because I have a son who is in Grade 1 and will certainly use Kanban as well), I wanted to build something reusable, fun, easy and made specifically for young kids, so as an agile developer, decided to make a fun app for my kids. Android was the first step because tablets are less expensive and we could have one tablet for each of our 3 kids :) 
 
I started developing the app , kids enjoyed the experience, because they participated, they asked for features (task becomes red when it is due next day,  earn points when they finish a task etc…), they have chosen colors, pictures etc… They have been using it since March 2012, and they just love it! Even my 6 years old son is using it for his homework which I didn’t expect, thought he was too young. I realized that kids nowadays are born in a modern era, with Ipads, tablets, smartphones etc. They naturally love using devices, so why don’t get even my son a tablet for his homework and teach him managing as well!  He loves earning points and practicing maths on   KanPlan .

It’s not just the tablet and the board, it’s the way they own their task that makes this whole deal worth a try. The Kanban is a minded approach, it teaches them visualize what they need to do , moving tasks around the board , making decision  and getting things done.



The app, was designed for them, it had to be easy and fun. It holds a neat look and feel and an easy way for the kids to add tasks drag them around the board and see the completion. I also added predefined tasks, that are quick to add and run on   KanPlan . Something like practicing times table. Instead of my daughter entering manually a task for practicing her times table, she browses a selection of tasks (KanQuiz), picks the one she wants, and running it directly in KanPlan. It avoids me of writing some multiplications on paper to practice. It is integrated, and gives her a report at the end how fast she was and her score.  I see KanQuiz as reusable tasks, that can be done several times by one kid, and are there for my next kid once they reach the KanQuiz grade level.   I am also adding KanWord to the selection (tablet will speek to kids), to practice spelling and grammar soon. 

Anyway, my kids are 100% self-managed now, I am so proud of them, they come at home after school, they go directly to their desk where their tablets are, and enter their tasks and manage their work. My daughter went from being an average student who was unable to focus, was lost in her tasks to do, to an efficient and  very organized student, now she always finishes a task before starting a new one and never forget a task to do. She was able to manage her tasks to practice exams for entering  private schools. She did that using   KanPlan by her own.  She applied for 4 private schools, we were hoping to get 1, and she succeeded all of them! We were so proud of her!



My daughters wish to bring their tablet  at school and avoid the “agenda” step. Instead of writing their tasks in the agenda and enter them back again in KanPlan once at home, why not entering them directly to KanPlan in the class?  Schools are too strict right now, they don’t want electronics in their classes. I am positive that it will change one day.  I just hope that they will allow students to use different solutions for their task management, because the traditional agenda is not a solution that fits all students.  I definitely see KanPlan as a solution for teachers/tutors who want to teach kids how to manage their tasks.  I have few comments from some teachers who are waiting for the admin tool (we are working on it) that allows them to create KanTasks and assign them to their students. Students will automatically see their tasks in the TODO list!  I would love to talk to more teachers/tutors to get more comments about how we can use KanPlan in a class environment that fits and embrace how teachers/tutors work.


My challenge now is to continue improving   KanPlan and keep it interesting and fun for all kids. Don’t hesitate to contact me for any comment, any feature request or change request !

Houda Hamdane the owner and developer of  KanPlan .

June 02, 2012

How not to set tasks on the family Kanban board


Agile@Home :

Before we start, I want to distinguish between backlog tasks  and operative tasks.

Backlog tasks are our basic wish list. We can have as many of them as we like, in whatever shape and size we want, as long as they are on our backlog. When we actually get around to them, then we’ll break them down into proper tasks, but for the time being, we can leave them as is. Of course, when we DO decide to tackle them, we’ll start with those we want to tackle first.

Operative tasks: Tasks we want to perform. Now, it doesn’t really matter if the task is ours or our kids - something like ‘go buy groceries’ is too vague. Having a specific budget or a specific list makes things much easier. Even at work, when your boss wants you to get a presentation ready, you need to know what’s the presentation for, when are you expected to deliver it, and so on. The same goes for your children. When we want them to do something practical, we need to make sure it is defined.
So we’re talking about the operative tasks here, of course.

So, how not to define them?

1.       Make them too big. Bigger isn’t better in this case. Limit the task by time or actions if you have to, but break the big task down into smaller, achievable bits.

2.       Hide them. Hidden tasks don’t get done. When you see it , you can get it done.

3.       Overload the board. Don’t have too many tasks at once. Even adults have a difficult time with someone barking a long list of things to do at them, so you can just imagine how your children feel.

4.       Vague. Don’t be vague. If you don’t explain what you mean by ‘tidy your room’, how can you expect your kids to live up to your expectations?