Introduction To Software Requirement Patterns: Stephen Withall
Introduction To Software Requirement Patterns: Stephen Withall
1. Requirements are invariably patchy and incomplete: unbalanced. 2. Individual requirements are imprecise. The key is what the requirements actually say. 3. There's a gap between problem and solution. To fill the gap, requirements must get more technical. 4. Specifying everything from scratch every time is wasteful.
Imbalances in Requirements
We carve out order by leaving the disorderly parts out. William James Requirements usually specify some parts well and neglect others. There is an inconsistent level of detail
We concentrate on what's: Easy Visible Frequently used Needed now Functional We neglect what's: Difficult Obscure Rarely used Needed later Nonfunctional
Methodologies that don't depend on requirements appear. Requirements are specified worse in future projects: a vicious circle. Business analyst jobs are put at risk. Ask: How easy is it for developers to build a bad system that satisfies the requirements?
No situation is entirely novel: the bulk has been encountered before. Patterns save having to re-invent the wheel. When you encounter a problem, pull out a pattern for guidance on how to tackle it. Different species of patterns apply in different situations Design patterns have been around for 15 years.
A requirement pattern applies to an individual requirement. Many types of requirement crop up over and over in all kinds of system (between 15% and 65%). A requirement pattern suggests how to tackle it, what information you ought to convey, and extra topics to consider. Requirement patterns aim to let you specify better systems more precisely with less effort.
Miscellaneous Concepts
Creating requirement patterns provided an opportunity to introduce more rigour.
1. Reviewers can use patterns to check the quality and completeness of requirements. 2. Developers can read suggestions on how to implement a requirement of this type. 3. Testers can find suggestions on how to test a requirement.