Wednesday, January 26, 2011

Agile or No Agile, build something Usable

Development is not linear process
Whether you and me like or not, few bad things are going to exist in our, otherwise beautiful world. If we wish, we can call those “harsh realities”. Harsh realities, like, the poverty, political chicanery, long and boring power point presentations, and many more other things along with the challenges in the field of software development.
  • Organizations, or most of the organizations, will remain inflexible. There is going to be policy for everything and you can’t go against it.
  • People are not going to embrace uncertainty. You know, one must know, in advance, the end date, resource count, etc.
  • It’s not going to be possible for the Project sponsors to be committed throughout the development cycle. They really have far more important stuff over giving you feedback all the time.
  • It’s going to be a challenge to learn better ways of development, when you are already spending nights in the office, either meeting the deadlines or fixing some high priority, critical issues. Moreover there are going to be family commitments!!
  • It would be tough to convince management to change a crappy tool or technology once they have spent so much on it.
  • Communication gap is going there.
This list can be as long as one want. My intention is not to list all those but to say that, for whatever reasons, adverse conditions are going to be there. Any methodology, including Agile, don’t claim to cure all the Harsh Realities by just following few practices. It’s like someone saying, if world embrace his religion all the misery and warfare will come to an end.

So rather than killing ourselves to choose and pick any specific methodology let’s put all our energy in solving the end user’s problem. We need to clean the house ourselves, as most of customers don’t care how we develop the software. They need something which is usable. By having the right customer centric mindset we can deliver something usable.


  1. I agree with you its mindsets rather methodologies which can help delivering customer centeric products and help overcome challenges.

  2. Its right that Agile methodology helps in rapid development and most suitable where requirements is regular changing. But any communication gap can lead to critical problems. It is also not suitable for large and complex projects. Overall customer satisfaction is more important than any methodology. Also, it must be well suited to all available resources.