Often I come across questions like:
- Will agile help me to reduce bugs?
- Will agile help me to reduce costs?
- If I use agile will I be able to improve predictability?
- Is it agile to have unit tests?
The list is endless, these questions come from teams undergoing the transformation from waterfall and they like to have a term for their new way of working. The very first project in my career, our team delivered to production every week. Everyone in the team was a developer but wore different hats on different days. Each of us learned to write unit tests, build and release to different environments, monitor production systems, and automate functional tests in a team of 10. People coming in and out of the team was always breezy, there were no dependencies on one single person. I would say that was one of the ideal projects I have ever worked on.
What process or methodology did we follow? “Do what makes sense!” Yes, that was the only thing that was told to me the first day I joined the team. No process, no compliance; only sensible things. Now if I replace “Agile” with “Common sense” will I get the answers to the questions?
- Will common sense help me to reduce bugs?
- Will common sense help me to reduce costs?
- If I use common sense will I be able to improve predictability?
- Is it common sense to have unit tests?
We got so used to having process and methods as a safety net and rely on work instructions created out of those to execute day to day work. In my observation it is only some sensible practices which are fine tuned to the present scenario works. There is no substitute for common sense.