For most things in life, when we have somewhere we want to go or something we want to achieve we regularly check that we are on track. We look up, see which direction we are heading in, and readjust accordingly. We want to be efficient and make sure we are on the way to where we need to be. We taste the cake mix, feel the temperature of the bath, and check google maps.
When we forget to regularly check-in we end up lost, with a bland cake and scolded toes. I hate it when that happens.
When we look up out of our narrow hole of concentration we realise we have gone way off course.
So why has software development traditionally been different?
Long product release cycles, no check-ins, few iterative changes and rarely developed with the end user in mind. Then they wonder why people don’t use the product.
Last week I was chatting to a man at the Connected Enterprise conference in Melbourne. He was telling me how in software development 18 months is a short time between production versions. He nearly fell over backwards when I told him that Yammer releases a new version every week. That at Yammer we roll out small iterative changes to make sure the platform is always relevant and fits the needs of the end user.
To stay relevant you need to be agile. You need to adapt to the evolving environment. A few whispers on the street last week about how Yammer’s development model is being leveraged. Exciting.
On another not-so-agile note, I did a triathlon the other weekend. Like in everything, one of the key things to remember is to look up every five to ten strokes to check your line. I got carried away, relaxed into a rhythm, felt the water between my fingers, steadied my breathing and felt like I was moving fast. When I looked up I was no longer swimming towards the buoy. It was almost as bad as when I forgot to add the sugar to my chocolate cake. Lessons learned. Agile is awesome.