Software Complexity + Human Frailty + Changing Circumstances = ???
High level planning, such as a feature list (or Product Backlog in Scrum), and an outline plan based on the affordable team size; Yes. Otherwise you've no idea what you're in for.
But a detailed specification and detailed plan? I don't think so.
Two problems...
First, they give an artificial impression of accuracy, which given the above formula is unlikely to be possible, however firm it seems at the start.
Second, detailed analysis and detailed planning takes a long time, and given the unlikely accuracy, in my experience it's simply not worth the effort.
18 February 2008 21:27
Great question and my answer must be = 'Risk management'
1: Software Complexity:
a) Remove the 'bells & whistles' ... are they really needed?
2: Human Frailty:
a) Include less humans ... In my experience reliance on too many 'others' holds things up!
3: Changing Circumstances
a) Move fast ... keeping software simple is really important, does not need to look too flashy because it does the job!
Personally I think you hit on a few great ideas here and If you/we can reduce risk to our projects we are all the better for it.