Finally I got a perfect plan to execute agile software project. I was looking for long and finally found after lots of hard work and great inputs from Agile EXPERTS (over social networking sites). Don’t laugh. Let’s see what exactly our plan look like. I will run through each word to ensure I have understood it well (like an expert).
What is agile?
Still confused? Methodology, Framework or Mindset? I don’t know but why should I care as long as I believe in agile manifesto for software development.
Agile manifesto for software development? Isn’t agile applicable everywhere? May be but I don’t care as long as my purpose is to develop software product. Because I have not seen agile principles getting applied in other areas so far.
Agile principles? Yes there are 12 but unfortunately (or conveniently) many ignore those and focus only on 4 values.
What is Project?
Definition as per PMBOK “It’s a temporary endeavor undertaken to create a unique product, service or result. A project is temporary in that it has defined beginning and end in time, and therefore defined scope and resources.”
How does it matter? Project is temporary endeavor so we always try to meet timeline to deliver committed scope. But what if we are running behind schedule in meeting scope? Probably I will start rushing and may crash (quality will suffer). To avoid failure further in meeting deadlines and scope what else can be done? May hire watcher to watch progress (introducing more metrics) and a pusher to push people to meet commitment (command and control).
So basically Agile and Project Management looks oxymoron to me. Either I am agile or managing project. So what I should do? What about changing mindset from project to product? Will this help?
Moment I say product, 1st thing that comes in mind is customer satisfaction and better quality. So what? So I may start thinking of having happy customers by delivering better quality product and caring customer’s real needs. This will help me to build right product by validating my assumptions as frequent as possible. In way it will help me to be agile automatically. This sounds interesting. Isn’t it?
Perfect Execution Plan?
Is it possible? May be but only if I understand plan vs planning. I need frequent planning and not perfect plan to make my customer happy. Because understanding of customer’s need requires frequent validation of assumption so frequent planning will help rather than perfect plan. Execution? No because execution sounds like predefined plan so what about building? Building carefully each and every features that makes more sense to my happy customers. Basically customers need emerge over the period so my processes to cater those may emerge as well so why to have predefined plan or pre-configured mindset.
Now look at the heading. Do you think having a perfect plan for executing software project make sense? Isn’t it myth for developing software product? Better to have emergent processes to develop great software product. Ah! That’s make more sense to me. What about you? Still stuck with agile project management?
*image – courtesy google.