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!

2 comments:

  1. Fantastic site you have here but I was wanting
    to know if you knew of any user discussion forums that cover the same topics discussed here?
    I'd really like to be a part of group where I can get suggestions from other experienced individuals that share the same interest. If you have any recommendations, please let me know. Many thanks!

    My web blog Off-Page seo

    ReplyDelete
  2. Wow, this article iss fastidious, my skster is analyzing such things, so I am going to let know her.



    my webpage :: web development - http://www.offshoredeveloperdirectory.com,

    ReplyDelete