Sounds like you need a process for project management rather than a peice of software.
Remember software is a tool that will help support a process.
Sorry if this sound like sucking eggs, but its for those that find it later =>
Software Development Process can be also known as Software Development Life Cycle - SDLC.
You describing symptoms of scope creep and revisions to existing scope.
However to cut a long journey down - there a pros and cons to various methods of helping acheive a balance of the views in this "war". (it feels like that sometimes)
The argument is -
"I have constant changes - I need a
specification that the customer and
team can design and build too. The
"line in the sand or stake in the ground" as trying to build
on quicksand is hard and costly."
the classic waterfall
"The spec is outdated and no longer
reflects reality and my customer
and team will be un-happy and the customer wont pay me."
In come the trendy new kids on the block - AKA RAD, Agile, XP and Scrum
The idea is, as you are seeing - changes in the scope costs and inordinate amount of money to change - compared with the any upfront investment in clear static requirements.
The "war" is actually not about the need for requirements to be solid - just the time it takes to compile them. Each has their own views.
Hence the software you will see is often in support of one of the methods.
For a general link to
Project Management Description