Kirk Knoernschild has an interesting article on his blog about not having a set target date.
Wouldn't that be grand? Screw the requirements! Screw the time line! Just get to work and start coding. It's definitely a thought provoking piece, as that's why I'm writing about it right now!
It has some great ideas. The customer gets what they want, when they want it (more or less). Also, the project team isn't bothered with time lines and deadlines so most of the pressure is off. Sounds great!
But then reality kicks in. Let's do a little QA:
Why do we need requirements? To put it plainly, requirements are what is required of the system. The features, as well as the limitations. As soon as you remove the requirements, its like trying to hold a bottle of shampoo in your hand... without the bottle. The Developers would lose site of their goal, and the customer would keep trying to move the goal!
A better approach than "screw the requirements" would be to constantly get feedback from the customer, and consider what they want and what they need. In a perfect world, a customer knows what he wants, and the developer knows exactly how to implement it. Unfortunately that isn't always the case!
More on this later if I have time!