The software department at work was gathered for a QA meeting the other day. I was quaking in my boots as to the box ticking possibilites that could lay ahead, however I could not have been more wrong! Phil (my boss) started the meeting by saying something along the lines of “from now on, unless a process helps us, or is legally required, we get rid of it”. I couldn’t agree more.
I’m increasingly thinking that “agile” is more a state of mind then a set of methods/procedures to be followed. You can code in an agile way, without following specifically agile methods.
Consider the following list:
- Keep documentation to a minimum (and keep it D.R.Y);
- Automate testing as much as possible (and keep the testing cycle running continuously);
- Aim to write as little code as possible (less code, less bugs);
- Nothing should ever be committed without being doxygenised (or similar);
- Agree upon and maintain a [minimal] coding standard, adhere to it and enforce it;
- Have a rough plan for the next couple of months, have a precise plan for the next couple of days.
These are not things that are specifically agile (or ground breaking), but are all things that a lot of companies don’t do.
What do you think?