Different types of specification
Think about the different types of specification documents we’ve discussed (user guides as demonstrated in the paper airplane assignment, functional specs, and test cases). What are the different audiences for each? How does your communication change for these audiences? How is it similar? In particular, think about modes of input, human cognition, communication contexts, and what reader questions need to be answered.
User guides are intended for end-users or consumers who use the product being documented. This type of document should be written at a level that is easily understood by its intended readership, with detailed instructions on how to assemble or use the product. The language used should avoid jargon where possible, as it needs to be accessible to those without technical knowledge. In addition, elements such as illustrations can make understanding easier for users who may not understand written directions fully. As user guides are usually provided in hard copy format (for example with products such as paper airplanes), readers generally access information through visual scanning rather than reading from top-to-bottom; therefore it is important to ensure text is broken up into chunks and organised using headings so readers can navigate efficiently within the document. It is also necessary to anticipate questions users may have while using the product: what happens if something goes wrong? How do I get help if needed? How often do I need to perform maintenance tasks?
Functional specs focus on technical details such as system performance requirements and specifications for input/output capabilities; they are typically read by developers during design stages before coding begins so must contain enough detail about what components need to go into the software/product being developed. Unlike user guides which aim for clarity of language over accuracy of content, functional specs require precise technical terminology because their purpose relies heavily on ensuring accurate communication between team members involved in development processes (e.g., designers -> coders). Depending on project scope and complexity, diagrams such as flowcharts can simplify complex logic steps making them easier for developers to visualise digital systems being described in writing – allowing them build an idea quickly without having faith only in words alone; this encourages collaboration among teams while avoiding potential gaps caused by miscommunication due lack of clarity during development stages.
Test cases take place after software creation – they verify whether features built meet specified requirements outlined during design process (functional specs). They are usually created by testers familiar with test plans detailing specific tests that need carried out against particular parameters or scenarios e.g., checking basic functionality like login page working correctly under various conditions might involve testing keyboard input versus mouse clicks when submitting form information etc.; testers must then record results from tests providing concise feedback with bug reports attached if issues arise during testing phase – these reports should be easy enough for non-technical personnel such us managers or stakeholders also reviewing documentation so clear description outlining issue encountered plus recommended fix should accompany any issue report submitted . Testers construct test cases around expected outcomes from code already built - when results match expectations set beforehand feature passes given criteria otherwise further investigation needed until root cause established & fixed accordingly; this requires critical thinking skills since testers act somewhat like detective trying piece together events leading up failure find solution problem faced meaning similar degree analytical skills required both functional spec & test case writing albeit latter involves more data analysis & fewer problem solving techniques since most problems here tend straightforward i.e., known inputs lead expected output else identified error exists requiring remedy determined through debugging process undertaken afterwards
Overall there are differences between audiences addressed via each type of specification document but all three share same common goal - provide sufficient amount information needed allow individuals understand product/systems designed both effectively efficiently depending situation