Functional specification documents provide details of the operation, functionality, and deliverables for a project. There are generally four categories of requirements:
- Business Requirements
- User Requirements
- Operational Requirements
- System Requirements
In my world of controls engineering, we’re most interested in the operational requirements.
What’s the Point?
Writing specification documents and listing requirements is not typically a favorite task for a controls engineer. We’d rather be designing, coding, and debugging. But a well written specification can help a project move along more smoothly and therefore be more enjoyable. The main purposes of the specification should be:
- An agreement with your customer on exactly how the system will operate
- A point of synchronization for the project team
- A basis for building a master plan and schedule
- Instructions to engineers on what to build
- A baseline for change control
What’s in it?
The specification document should contain a detailed description of the operation, functionality, and design of the system. For our material handling projects, some of the major items include:
- Starting and stopping the system
- General operating methods for each type of conveyance used
- Specific operating methods for strategic conveyance areas (diverts, merges, sorters, etc.)
- Human-Machine Interface (HMI) screen definitions and functions
- Interfaces with other intelligent devices (communications protocols, expected message types, etc.)
- Carton and tote sizes
- Throughput rates for each area
- Bar code information (symbology, size, placement, etc.)
Is it worth it?
Yes! Both you and your customer will benefit by having these items clearly explained before detailed engineering and component purchases are made. The best method for creating the specification is an iterative approach with joint input, review, and approval. This creates many benefits both for the supplier and the customer.
- Ensure supplier understands goals, specifications, and expectations
- Brings supplier personnel into the design phase to ensure they have a better understanding of what they are requesting
- Supplier personnel gain a greater sense of ownership of the design and increases the internal buy-in to the project
- Helps to keep open channels of communications with the supplier
- Helps to drive a shared vision of the project
- Ensures customer specifications and goals are forefront in the design
- Provides a clearly defined set of operational and functional requirements
- Locks in the scope of the project
- Provides a basis for change orders later in the project
- Helps to drive a detailed design with reasonable assurance that major changes will not occur
- Brings the customer in as a team member
Does it ever end?
Since we’d rather be doing “real” engineering, the tendency is to quickly run through the specification document and leave it rather general in its descriptions and functions. This is not a good approach as it inhibits the ability of the document to guide us through the design.
In addition, when acceptance testing begins, you need that low level of detail to ensure the system is operating according to the agreed-upon specifications laid out in the document. Just don’t let the approval process get bogged down and slow the progression of the project. When this happens, it is easy to allow the specifications to be pushed aside in order to start work on the engineering. Keep the importance of a detailed final document in the forefront of the team and push for its completion!