Developing the Functional Specification
Once the project vision and scope have been established, the functional specification is created with the involvement of all team members. Program Management is the keeper of the functional specification and the owner of the Functional Specification Approved milestone. Development collaborates with Program Management to produce the development plan and schedule. Each team member assesses the risks in delivering individual parts of the functional specification. Team members can conduct parallel reviews, develop prototypes, and make plans to ensure that they can build and deliver what the specification requires.
The functional specification serves as a contract between all the team members and the customer. This contract is derived from the overall business objectives, user classes, and the activities each user class expects to perform. It categorizes customer requirements into a set of logical user services, business services, and data services.
It clearly defines the visual design, functional interfaces, and data requirements of the application. It also defines the external interfaces, interoperability, and performance goals, and other assumptions and constraints that bind the approach to the solution.
The functional specification reflects the consensus and commitment of all team members, and drives internal scheduling and external communication.