Tuesday, October 4

Smoothing the rough edges from life

f you are like me, if you are like most people; you are plagued by a slew of irritations, annoyances and frustrations throughout your day.

You ignore the frustration as you find workarounds and coping mechanism to overcome the road blocks placed in your way, in order to achieve your immediate goals.

Instead of ignoring these irritations I urge you to treat them as important signals that show where you can improve your life: that you isolate each of these annoyances and, remove them permanently from your life by applying a complete solution to the root cause of the problem, instead of engineering temporary workarounds to alleviate the symptoms. In this way your life is gradually improving as some of those repetitive issues stop reoccurring.

One technique that I have found personally useful is asking why five times. It has been made famous by Toyota which introduced it in the 1970's. Toyota credits the 5 why's technique with accelerating their process improvements.

As an example of how this can be used, many years ago I found that I was constantly tired, pushed to the point of exhaustion. I asked myself,
  • 1st Why "Why was I tired?" 
    • 1st answer "I was stressed"
  • 2nd Why "Why was I stressed?" 
    • 2nd answer "I was not sleeping well"
  • 3rd Why "Why was I not sleeping well?" 
    • 3rd answer "I was stressed, also I was exercising less than I used to"
  • 4th Why "Why was I was exercising less than I used to?" 
    • 4th answer "I had fallen out of the habit"
  • 5th Why "Why had I fallen out of the habit of exercising" 
    • 5th answer "I did not have I regular time scheduled time for exercise"
If you ask the 5 whys at a different time you often come up with different answers. Some people think this is a weakness, personally I think it is a strength.
Let's ask the 5 whys a couple more times.
  • 1st Why "Why was I tired?" 
    • 1st answer "I was stressed"
  • 2nd Why "Why was I stressed?" 
    • 2nd answer ""I had too much to do"
  • 3rd Why "Why did I have too much to do?" 
    • 3rd answer "I was not prioritizing my task enough"
  • 4th Why "Why was I not prioritizing my task enough?"
    • 4th answer "Too many the tasks were rated as important"
  • 5th Why "Why were too many the tasks were rated as important "
    • 5th answer ""I had trouble letting go and accepting that some tasks would have to be done latter"
And again.
  • 1st Why "Why was I tired?" 
    • 1st answer "I was stressed"
  • 2nd Why "Why was I stressed?" 
    • 2nd answer ""I had too much to do"
  • 3rd Why "Why did I have too much to do?" 
    • 3rd answer "I said yes too often when I should have said no"
  • 4th Why "Why was I not saying no?
    • 4th answer "I did not want to disappoint people"
  • 5th Why "Why did I not want to disappoint other people"
    • 5th answer "I needed to tell myself that it was better to disappoint them now rather that rise their expectations then disappoint them latter.
I turned these why's into solutions. I started seeing improvement after I
  • started exercising at the same time every morning
  • made sure that only limited number of tasks were highest priority and
  • I only accept new tasks when I had either completed old tasks or downgraded old tasks in priority.

You do not have to be Toyota to benefit from root cause analysis. Anyone can do it. When faced with a repeated annoyance, just ask why five times.

Thursday, August 11

Online Resources for Software Developers

I facilitated a brown bag lunch for the company's developers today. The topic for the brown bag was online resources that are useful for software developer in their work. We came up with a list of which I have recorded in the following section. It is far from a comprehensive list, however it contains some interesting and useful resources.

Code Katas and Koan

These are exercises to help you to learn elements and features of programming languages.
Examples as follows


These are Internet radio shows often in either a interview style or a panel discussion style
Examples as follows>


These are screen capture videos of people demonstrating technology.
Examples as follows


These are Internet TV shows often in a interview style.
Examples as follows
  • FLOSS Weekly about open source software
  • InfoQ Tracking change and innovation in the enterprise software development community


MOOC stands for a Massive Open Online Course.
Examples as follows.


These are thread based discussion groups often centred around a particular technology
Often better for answering questions if the technology is niche.
Examples as follows

Question and Answer Sites

The members of these sites help each other by asking and answering questions
Often better for answering questions if the technology is common.
Examples as follows
  • StackOverflowis a programming Q&A site that’s free. 
  • Anyone can ask, answer, or edit questions on  Quora
  • ServerFault is a Q&A site for system administrators and desktop support professionals that’s free.


Rants, tips and tricks from those in the know.
Examples as follows

Events and Meetups

These sites help you find out what is happening in Melbourne

Sample Code and Code Projects

These sites give a more in depth treatment of problems
Examples as follows


  • The Wayback Machine. Have a broken link? An important resource that has disappeared? Go back in time and find it. 
Does anyone have some useful online resource that they would like to through into the mix?

Wednesday, April 13

Two Scrum Events this April

Yesterdays Scrum Event went very well with a record 70 people turning up. Craig did a splendid job of adjusting this planned talk on the fly to cope with the large number of Scrum beginners in the audience.

Wednesday 13th April 2011
Topic: Understanding and working with the uncertainty at the beginning of a project.
Craig will be using the use the backlog of concerns, problems and topics that the Scrum SIG members have constructed in previous meeting as an example of a project startup.
He will also facilitate a series of small work-group discussions that will highlight the difficulties and possible solutions of understanding and working with the uncertainty at the beginning of a project.

Wednesday 27th April 2011
Topic: Agile Business Intelligence and Data Warehousing by Ralph Hughes
While Agile approaches for the development of transaction- and data capture-applications have been around since before the publication of the Agile Manifesto  10 years ago, employing Agile methods such as Scrum and XP to build large, data-driven systems such as data warehouses is new.  New, but luckily just as effective. This briefing will provide an overview of how agile concepts can be applied to data warehousing and business intelligence projects to significantly shorten the development cycle from traditional waterfall-based methods.