It is not unusual for software development projects to grow 200 or 300 percent. It seems like requirements rain down on a software development team throughout the entire software lifecycle. The requirements that represent functionality grow and change. On the surface it seems like a lost cause to try and define requirements up front.
A Standish Report indicates that user involvement in a project is the number one reason why software projects succeed. The more user involvement a project has, the more likely the project will succeed. The “user” represents the core business during a software development project. The user assigned to a software project is generally assigned on a part-time basis. He or she may or may not have any knowledge of software development and have limited business knowledge too. User involvement may or may not positively impact project performance. If the core business representative (a.k.a. the user) lacks core business knowledge and expertise, the project becomes the blind leading the blind.
No one would disagree with the premise that the more that is understood about the core business, the customer, and the problem, the more likely the software project will be successful. In the typical software project the business domain knowledge is provided by a user group or client liaison. Forming a client liaison group is a treatment for the symptom of poor communication between the software development organization and the core business. Adding a layer between the software developers and the core business puts more distance between those developing the product and those using the product.
Throughout my career as a software professional, I have heard developers say, “Our users do not know what they want, and they are always changing their minds.” Another way to phrase this would be, “The core business does not know what they want, and they are always changing their mind.” Perhaps it is a mistake to assume the core business has the ability to explain what it wants a software application to do and not do.