E-Genting Programming Competition 2005 Specification Writing Clinic, Week 4 22 September 2005 The Complete Specification
Specifications Become Law
It must work. If X, it must Y.
Other Low-Level Techniques • RFC 2119 keywords (‘must’, ‘must not’, ‘should not’ and ‘may’); • Data dictionaries; • Function declarations; • Report and screen layouts; • Pseudo-code; • Dataflow diagrams.
How much should we write? Should we specify the bare minimum, such as ‘the system must be a generalpurpose accounting system complying with all applicable accounting standards’ or should we specify the input, output and processing of each function in all its wordy detail?
The café napkin specification
Start with a table of contents 1. 2. 3. 4. Introduction Bookings Contact Diary Guest Categorisation and Analysis 5. Account Information Maintenance 6. Interface to Front Office System 7. System Capacities
The Bookings Section 2. Bookings The CRM System must process room bookings entered by telephonists. The CRM System must not accept any more room bookings for a particular type of room than the room-booking limit for that type of room. The CRM system must have a maintenance function for changing the room-booking limit of each type of room. The CRM System must also process room cancellations. If a room booking is cancelled, the CRM System must reverse the room reservation so that another customer can take the room. And so on …