XNSIO
  About   Slides   Home  

 
Managed Chaos
Naresh Jain's Random Thoughts on Software Development and Adventure Sports
     
`
 
RSS Feed
Recent Thoughts
Tags
Recent Comments

Release Me!

If you or someone you know suffers from the problem of software failures, please read on, this is dedicated to you.

Release Me![1]
Ooh…ooh…oh…oh…
I see the world, feel they don’t get it
Which way to go, there’s no silver bullet
I see the world, built on house of cards
Where do I go, life seems to be at odds
Ohh…ohh…ohh…ohh…

Oh, dear customer, can you see me now
I am myself, being wasted somehow
I’ll grow iteratively
I’ll add value incrementally
Release me…
Ohh…ohh…ohh…ohh…

Oh, dear developer, can you see me now
I am myself, rusting somehow
I’ll lie on your disk till you check me in
I’ll join in…can you build me…
Release me (2x)
Ohh…ohh…ohh…ohh…

Oh, dear tester, can you see me now
I am myself, neglected somehow
I’ll wait up in your queue for you to integrate me
I’ll open up…can you test me…
Release me (3x)
Ohh…ohh…ohh…ohh…

I have seen enough projects that suffer from not releasing software frequently. The Open Source Software movement has time and again showed us the value of frequent and short releases. But somehow most projects don’t seem to get it.

What are the real advantages of short release?

  • Concrete and real feedback
  • Create an opportunity for the business to start realizing Return On Investment [ROI] early on. ROI need not been increase in revenue, it could mean improved efficiency, happy end users and so forth
  • Fail Fast : It is easy to go off for a few months and start building something that no one asked for or even if someone asked for few months again, does not need it any more.
  • Better customer involvement. A lot of projects suffer from lack of customer involvement. Software teams blame the customer for this. Remember its a two way street. The customer is not going to show interest if there is nothing the software team can show or demonstrate to the customer. Trust me, design documents and clean, elegant code does not mean a thing to the customer. Working software is really what catches their attention.
  • Great de-risking activity : Because of some of the points mentioned earlier, you can see why frequent short release can be a great way to minimize risk on a project. Another way to look at it is, frequent short releases help you take more risk safely.

Jeff Patton, in his Incremental Release presentation talks about things that can go wrong during:

  • Design and Development Time:
    • process risks
      • delays & cut scope
      • scope additions
      • scope subtractions
      • design not built as described
    • risks from outside the process
      • political
      • financial
      • loss of key talent
  • Release Time
    • design off target – doesn’t meet user or business goals
    • product made unusable by poor performing technical architecture
    • ROI estimates were big fat lies

On a positive note:
For millions of years mankind lived just like the animals. Suddenly something happened and they unleashed the power of frequent releases and they learnt to be Agile.[2]

[1] – Lyrics inspired by Perl Jam’s Release song
[2] – Lyrics inspired by Pink Floyd’s Keep Talking song


    Licensed under
Creative Commons License