Now for something a bit more controversial. I read a post on LinkedIn recently which appears to originate from an Indian developer. Quite a discussion. Its at: https://www.linkedin.com/grp/post/2139884-5990522670213586945
I’m an experienced developer, and I’m totally a fan of Agile.
- Agile is about communication
- Agile is about learning as you work
- Agile is about working closely with your project sponsors and involving them in some of the details that are of interest to them
- Agile is about taking small steps to progressively achieve something big
- Most of all, Agile for me is about bridging the gap between what the customer wants and what the developers provide. It forces developers to talk to the customer when often they would prefer to hide in a hole and type away producing something that the customer may or may not want.
I have had an Agile mindset ever since I worked for a customer in 1990 when they asked me to produce prototypes to help write a spec., and then throw these away. I didn’t – I developed the prototypes into the finished system, even though I hadn’t heard the term Agile or Waterfall at that point.
The conversation I have linked to really got me thinking, but then I think I have an explanation for it. If you are working across time zones, cultures etc. for a corporate organisation that produces a spec., then it is very difficult to think Agile. There are too many layers of people involved. Agile requires experienced developers talking the customers language. It needs a common language, and a common definition of “Done”, especially when it comes to defining what goes into a Sprint and what language is used at Scrum meetings. It is about doing design and having a spec., but it means making extra effort to talk to your customer and follow the Agile method. Once this has been tried, it will become second nature, and better systems will result. I can’t understand anybody not being a fan.