May 27, 2012

Keep It Simple, Stupid

Simplicity is key for any Agile activity.
You’ve all heard about the KISS principle. How does it relate to Agile? Well, something which is easy to understand or explain is simple. Something that is hard to example, is complicated. Simple, right?
“KISS is an acronym for the design principle articulated by Kelly Johnson, Keep it simple, Stupid!  The KISS principle states that most systems work best if they are kept simple rather than made complex, therefore simplicity should be a key goal in design and unnecessary complexity should be avoided.”  

Kiss is also an awesome rock band

After all, Agile is a set of principle and practices collected over the years, proven to improve quality and efficiency. Now, as I’ve said about a million times before, I find that almost everything can be related to Agile. I mean, it’s just so fun! You have so many ways of using it, and improving on it, that you can adapt it to almost everything you do in life. Our home, our family and as a personal management method.
Of course, adapting Agile to your needs doesn’t mean that you can toss all the Agile rules and principles out the window.
One of them is the KISS principle – KEEP IT SIMPLE STUPID.
In my years as Quality Director, this was a key principle for me. It is so easy to complicate a software solution, to over analyze, and over test it, even when it’s not necessary. I learned that keeping things simple was much more efficient. Your boss likes to keep things simple, because, frankly, it takes less time and is cheaper to do. Your client likes to keep things simple because it’s easier for them to use.
The same goes for our kids. Start simple - and they will learn more, adjust faster, and understand the complicated issues better once they know how to keep them simple.
So how do we help our kids keep it simple?

1.       Understand your limits. (Spoiler) Superman isn’t real. Don’t expect to be able to do everything he does. You can’t do 15 tasks at once, and finish them all in 30 minutes. Don’t try.

2.       Visualize. Draw squares, put sticky notes on the board, whatever works for you. I’ve written about keeping thins visual before - it’s just that when we see things, we deal with them better, and it’s been well known for many years that visualization is key to success and better learning.
Imagine your child needs to be get ready on time in the morning. Simply visualizing the things he needs to do will make it much easier for him to understand.

Of course, you need to be careful of over visualization. Short and simple tasks may do the job. Don’t include too many details in each task, or over task.

3.       Divide large tasks into smaller tasks. For example, a big history exam can be divided into few small digested tasks every one hold only few hours of learning scope. Yes, adults and teenagers may use this as well. Instead of a ‘learn for the exam all week’ task, you have separate tasks. Choose simpler solutions to complex problems and break complex solutions down.

4.       Divide your obstacles and problems into smaller problems, so you can tackle one at a time.

5.       Understand the definition of done. It’s usually easy to see when small tasks are done. For example, the ‘Read Page 3-10 in the history book’ task is done when pages three through ten are read :). Bigger tasks are harder - so make sure you know what you mean byDone.

6.       Do one thing at a time. Work on the highest value work at all times .

7.       If you don’t have to complicate matter, don’t. Don’t over elaborate, don’t do tasks you don’t need to do, and if you don’t have to see how long a task has taken, just don’t.
We prefer to keep Agile at home as simple as possible. I have seen enough cases where it gets too complicated. Charts, reports, measures, too many principles to remember - this is where people get frustrated.

The Agile principle is easy to grasp. 1 whiteboard, 3 columns, 5 packs of sticky notes. That’s it. Sometimes Agile is presented as very complicated, even more so, when we talk about something we use to manage both software projects at work and our family lives.

I want my board to be simple, and my methods to be simple. In most cases I won't even use personal measures, personal cycle times and WIP. Those principles are all well and good in the industry, but can pose a big difficulty when I come to manage my own tasks and my children’s tasks. Use complicated reports and measurements when you manage that software project.

8.       Your family is the one who needs to understand the task board. No one else. I’ve seen task-boards for families with ten children that cover house chores, baths, shopping, and look like the plan for developing the next Facebook. But they understand it - and that’s what counts.

Bottom line? Keep it simple!

May 20, 2012

The Definition of Done - How to use Agile to help our kids do their homework

I’ll start off this post with a revelation. Ready?
Children aren’t born knowing what we expect from them.
They aren’t telepathic. Just as we aren’t born knowing how to be parents, children don’t know what we want them to do. If we want our family tasks complete, we need to define the rules and boundaries.

Think about it for a second. How many times did you ask for someone to do something, and when they say they’ve done it, we find that what they did, and what we THOUGHT they should have done, are two different things?

I managed a team myself, and I know that sometimes I need to be specific, and make sure a task’s DOD (Definition Of Done) is clear. I find myself many times working with the team and with management to define the work procedures to follow in order to produce a quality product - procedures such as safety rules, delivery procedures and so on. One of my unwritten rules is that the riskier the task is, the clearer the definition of done needs to be.
The same thing goes for our homes. For example, when you take the car to the mechanic, you expect the car to meet safety standards. You pay your bills when specific DOD terms are met - the oil is checked, the car is made ready for the winter, etc. In this case, failing to meet those DOD terms can cost us our lives!

Of course, there are tasks that I personally categorize them as risky tasks, but of course, have nothing to do with safety. Tasks that can result in unnecessary arguments, for example, should also have clear definitions of done. For example, if you ask your kid to tidy his room, make sure you understand together what ‘tidy’ means. Otherwise your kid will tidy his room to his satisfaction - not to yours.

So, homework, for example…

How do we take everything we’ve just learned above, and apply it to helping our kids with their homework?
Homework can be the source of endless arguing around the house, so applying the Agile mindset to getting homework done, just aims to make things happen.


See what you want to achieve by visualizing it. First of all, you know that it should be on the task board. Even if you don’t use Agile, the ‘homework’ task has to be out there. Don’t hide from the fact that your child needs to do his homework. When we see it, we relate to it, and we increase the probability of the task being completed.

 Take it seriously and be consistent:

If you don't, they won't. You are the parent and if you think it's important, then it is - and your kids will pick up on that. 

Be specific:

What does ‘Do your homework’ mean?
Does it mean sit in your room?
Does it mean write in your notebook, and not solve questions without writing?
Does it mean that your notebook has to be tidy?

Set the rules:

You are the parent. The Definition of Done isn’t just for our child, but for us as well. There are rules beyond the task that we as parents need to keep as well.

Take, for example, a factory that builds airplanes. Every day they need to construct 50 airplanes - but no one is in charge of making sure that broken tools are replaced. Do you really expect the factory’s workers to be able to churn out a consistent number of airplanes when their tools keep getting broken, but aren’t replaced? You don’t. The same goes for your children. Just as an example, expecting them to work four hours a day, doing their homework, is just unreasonable, and won’t do much for future motivation. Not having a suitable place to do their homework, will also affect their ability to complete the task.
Here are some examples of rules from my own personal experience that can help define the homework tasks and help our kids achieve them.

1.    Have them start doing their homework around the same time every day, and in the same place (that’s suitable for homework, of course).
2.    Be around if you are needed.
3.    Don’t make comparisons. Some kids have an aptitude for math, others flourish in History. Comparing the two is not just unfair; it also means that they will both under-perform. Just the same as when you interview new employees - they might have the same qualifications, but they are two different people with different personal advantages.
4.    keep a tidy notebook
5.    And more...

 Don’t forget the ‘continuous improvement’ maxim. 

Don’t just deal with the ‘here and now’ aspect, talk over the homework issue at your daily family gathering and weekly retrospective meetings. Talk about how your child plans on visualizing his homework in the future.

Talk it over. Agile is all about mindset, and Agile at home is all about dialog.

Understand the difficulties in doing the homework, and be there to help (when needed only). The daily meeting is the place to talk about the homework - just like any other task, and not as a focal point for the entire family, a problem with the ‘why don’t you ever do your homework!’ kid.

The bottom line is that a good Definition of Done is one that is specific enough to understand what results are expected, and has rules, boundaries and surroundings to make sure that things get done.

The fun way :)

May 12, 2012

KanPlan - A neat Homemade Kanban way to do your homework

Agile@Home :

Sometimes all I need to do is download a new app for my android tablets, and watch the kids use it. In this case - I got KanPlan, and in two minutes my children were all over the iPad, adding their homework tasks, and getting things done.

KanPlan was developed by Houda Hamdane as a solution for parents who want to organize homework time for their kids, while making it fun for everyone. KanPlan, as you probably understand from the name, uses Kanban to make this happen, and you know I believe Kanban to be one of the best tools in dealing with children and family tasks.
I first heard about KanPlan when commented on my LinkedIn post. Obviously, we both share the same interest in Kanban and believe in the home made /self made Kanban way to get things done.

Now, as you already know, I love simple. And KanPlan is simple.
You can add all sorts of tasks of course, not just homework. You can drag and drop your tasks according to their relevant status, and it is just full of colour.
They’ve even got a game - the KanQuiz - that you can solve to get points.
It just makes sense, when you think about it. Children today are naturally drawn to smart devices - smartphones, tablets, touch screens. Apps are their natural environment. So why not take advantage of that fact, and help them visualize their task with tools they are familiar with? Not only that, but pretty soon tablets will start replacing school books - so you are also preparing them for the not-too-distant future. The value of Kanban to the family and children go without saying (just take a look around the blog). KanPlan gives us a neat Kanban app for the kids, and has potential to be even bigger.

So go on - check it out. You’ll be amazed at how easy KanPlan is to pick up and use. 

Other than this video, there’s also a step by step tutorial of course.
You can get the KanPlan version for free from here: KanPlan has no ads in it (after all this is an application for kids)

May 05, 2012

What is a homemade Agile (Kanban&Scrum) system?

Agile@Home :

It’s probably time I gave a brief explanation about Kanban mainly, and how it  translates to an effective family communication system that helps us get things done .

I’ll keep it short, OK?

Kanban is a Lean manufacturing tool, aiming to lower costs in high production environments. "Kan-Ban" is Japanese for signal card, that had all the product information written on it, and what is needed to be done after production. A Kanban system contains a set of cards allocated to each station in the manufacturing line.

The Kanban System was developed few decades ago by Mr. Taiichi Ohno, a vice president in  Toyota, to achieve his goals of reducing costs, while retaining high quality in the manufacturing line. The system is still used today by industrial factories all over the world, and has been widely adopted by the software development industry. Today, more and more uses are being found for Kanban - self management , time management, and GTD (Getting Things Done).

See? I promised it would be short.

Kanban principles (And a bit of Scrum) and how they translate to the Agile Kids system:


Visualize your Needs.

Think about all the things you want to do, or things that you are trying to do, but just don’t get to them. For example: The morning routine with the kids is full of tasks. Are we doing it well? Are they getting to school on time?
What about my office, am I managing my tasks well?

Just write it down, preferably on sticky notes, so you can see them. Visualization is valuable, and it helps get things done.
Imagine you are a work manager of a chair factory. If you were making a chair, you would write down the materials and tasks you need - measure, saw, glue, and so on. You want chairs of different sizes, and different colors... These are all tasks.

Some tasks consist of smaller tasks, while other tasks depend on tasks that come before them. So you need to list them all. Of course, you can list down all the tasks you want to complete for your family or your office.

This is our wish list, or ‘backlog’.

Some of the tasks we list are urgent, some are wishful thinking, and others are tasks we’ve put off for a long time.
We can create wish list for our tasks in the office or for our home chores. Whatever.

Now all we need to do, is visualize. Your basic work flow has three simple steps. ‘To do’, In progress’ and ‘Done’.

As a work manager in our chair factory, If you were making a chair, then your workflow would look like this:
Measure → Saw → Assemble → Paint → Ship.

In your case, tasks look a little bit different, but you still have a workflow. Of course, you mustn’t forget to prioritize your tasks!

Visualizing our tasks this way helps us see what we need to do, and when to start working on the stuff we want to do.

 Limit your WIP (Work In Progress)
 Start working. But remember, trying to bite off more than you can chew is  the best way to fail.

Do one thing at a time. Pull one tasks , complete it , and then pull 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, then start five, and not complete any of them.

Take the chairs factory for example. After you set up your tasks, you try to build 100 chairs at once. You need to assemble them, paint them and ship them. You might be able to assemble them all, but that’s about it. All those unpainted chairs will just sit there, a large bottleneck you’ll have to deal with later, and of course, not one is shipped out.

But what if you would have tried to build and ship FIVE chairs?

In the industry, when a factory starts a cycle of work but does not finish, it is called inventory. Factories can’t sell inventory, and it takes up room (which needs to be paid for) and kept at a specific temperature (which needs to be paid for). 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.

Visualization helps you identify your limits and control your workload. 


Say you have a goal in mind, and a list of tasks. Just completing each task in turn and moving on to the next one won’t necessarily get you anywhere, and you won’t be able to improve on what you did. You need to review your performance and avoid making the same mistake over and over again.

Lets go back to our chair making. Remember that you need to measure the wood, then saw it? If your saw isn’t sharp enough, then you’ll be working twice as hard just to cut the pieces. Then you’ll work at sanding them down, joining them, and so on. You need to stop every so often, and sharpen your saw, before you get back to work. Or in other words, review your tasks. identify the areas of improvement and keep on the work. then stop again , review your performance , change , and continue with your changed flow.

It isn’t hard to find examples from our Family life, either. Every morning, the whole family waits by the door while my son hunts for his shoes. Isn’t it obvious that we need to put his shoes next to the door the night before? Of course it is. It can be about tasks as simple as putting on shoes in the morning, and as complicated as managing your meeting schedule in the office.

Stop, and think about your work flow. Otherwise you’ll find yourself making the same mistakes over and over again.

Kanban is not enough ,This is the point where scrum comes into the picture. when we use Kanban with our family , scrum and agile mindset are also part of our success. 

Run your tasks in small iterations of time (optional), it allows kids and us to scope better. Meet once a day ,as a family , review your progress and needs. Retrospect over what you did and plan the next step accordingly. Talk things over with your kids; get ideas about how to improve on your tasks. In the industry, this form of improvement may be ‘let’s meet once a day, review the project and learn how to do it better’ or identify the area of improvement, talk it over and perform the change. Then, try the news setup. This is exactly the same thing at home…meet , talk it over.  We then improve and free some valuable time to talk over the really important stuff.

Make Process Policies Explicit.

Policies are created based on experience to allow us fast and smooth flow performance. Meaning, getting things done.  One rule in our chair factory is ‘don’t paint the chair before the glue dries’. This rule, or policy, is simple of course, and we have lots of them. But even the simple (and obvious) ones must be stated, so that everyone knows them

The same goes for our house. Bedtime and meal times are known and understood by all. They are known policies. Of course, policies can change - for instance, our policy is to complete homework when the kids get back from school. But after a week, we find out that they do a much better job when they do their homework after supper. So the policy changes, and our kids can get their homework done faster and better - but the policy is still stated explicitly, so that everyone knows what it is.

You can apply the same system of policy rules to your office day - ‘leave 5 min at the end of every meeting’, ‘don’t have consecutive meetings as you won’t get there on time’ and so on.

Improving is also about being able to set new policies, follow them and see if they work for us better.

Measure And Manage Flow.

In our chair factory, we put a lot of effort into our task flow, as we care about the time it takes from when the customer’s order comes in to the point when they get their chair. We want to know exactly where the bottlenecks are, and make sure we are working as efficiently as possible.

Around the house we aren’t so ruthless in our pursuit of efficiency, but we do expect to know what we are doing, and see how we can improve, and free up quality time to be with our family. For example, once you learn to put the kids’ shoes by the door each night, you can actually relax with your kids a few more minutes at the breakfast table each morning. Isn’t that better than waiting for them by the door while they hunt for their shoes?

In the office I also want to be more efficient, so I can free up time to pay attention to my customers. Just as an example, say I use the printer a lot - but it is located two floors up. Wouldn’t it be more efficient to change the printer’s place, or buy a new one for me, instead of running up and down two flights of stairs each time I printed something out? Once you free up that valuable time, you can use it for more productive things. and at the same time speed up your flow of delivery to your customers. 

To Sum Up:
Just follow some simple rules:
1.    Visualize
a.    Your tasks: Know what you need to do and make a list
b.    Visualize your workflow: Place it on a board
2.    Do one thing at a time. Don’t take on more than you can handle.
3.    Follow and inspect your progress and outcome to improve. Talk it over, every day.
4.    Remember Scrum. Meet once a day for a family gathering, retrospect and plan your week.
5.    Understand your limits and set your relevant policies and rules.
6.    Measure and manage your flow

Toyota Production System: Beyond Large-scale Production, Taiichi Ohno

May 03, 2012

Niños ágiles. ¿Quién es mi jefe?

Now, "Agile kids - Niños ágiles" can be bought in Bubok in electronic and paper format.  

Una forma práctica de conseguir que se realicen las tareas diarias y de fortalecer la comunicación familiar. Niños ágiles es el manual que toda familia moderna necesita, en la que los padres tienen trabajos a jornada completa y en la que los niños siguen necesitando su atención. Una parte esencial del desarrollo de vuestros hijos es su habilidad para elegir, ser independientes y controlar su vida. Y los padres tenemos que potenciar esa independencia. Niños ágiles os enseñará cómo capacitar a vuestros hijos sin perder vuestra autoridad parental, mediante una serie de acciones prácticas. Cada capítulo puede leerse de forma independiente y os ofrece consejos que podréis llevar a la práctica enseguida. Los métodos descritos en el libro son efectivos en la enseñanza de valores y de respeto a los otros y aplica tanto a niños que van al colegio como a los que se forman en casa. Así que ¡a disfrutar!