To answer this question let me explain what did happen to me while I was managing a website strategy for one of the largest Estate Agents in Ireland.
We started the project writing the business requirements document and then based on this I created the scope of work. Once this document received the client’s sign off, the functional specification started to be written by the business analyst team, who didn’t have any contact with the client.
The functional specification took various series of reviews and amends. At the end it was signed off by the client with a big impact on timings for all the parties.
Once this specification was sent to the Development Team, the developers interpreted what the business analyst understood wrongly from the business requirement document created by the account manager who didn’t find the real requirement of the client because the client didn’t know what he needed.
In other words neither the final user nor the business goals were clear from the beginning.
Later on, I remember having conversations with the main stakeholders: “Hold on, this is not what I require.”, “I didn’t mean this” and we all expressing “Yes, this functionality was agreed in the functional specification and you even signed off on it”, “We must evaluate this change creating a change request to evaluate impacts on time, budget and quality”.
At this point after months writing a functional specification that no longer matched with what it was really required, the stakeholders agreed that we should stop, review the document and prepare amends. This decision had major impacts on time and budget.
The project required more budget and was delayed by two months with the agreement of the client.
Functional specifications are dead documents because the technology changes every day, the solutions to resolve problems are in constant evolution and team will know more about something when they begin to code it, you use it and test it with real users.
Forget about dead specifications and you will keep development cheap and flexible. But of course, some approach has to be put in place in order to match user needs and business needs, and is here where the User Center Design is introduced.