everyone I know who loves agile-type methodologies has three things in common:
- they work in a small team. Like, less than 10 people. Usually less than 5.
- they don’t have to do monthly profit reports to management
- they don’t have (external) clients.
That kind of environment makes it really easy to love a methodology where you don’t have to accurately define the scope of a project (what the client is going to ‘get’ at the end), and where iteration and collaboration is a way of life.
Consequently, over the last 12 months or so I find myself getting into lots of heated discussions with people over the value of functional specifications. The cool kids say that func. specs. are a waste of time, that they are creativity killers, and that there is no place for them in application design and development today.
I love the sound of that. Hell. I’d love to ditch functional specs if I thought it would give a good outcome. I don’t like writing them. Does anyone like writing them?!
But, can my clients cope without documentation? Without bits of paper that they rarely read but that allows them to feel comfortable throughout the development process – makes them feel that there is a process, there is a scope, and that we have it all under control. Tells them what they’re going to get for their money.