170 likes | 274 Views
Introduction to Software Requirements. BTS330: Business Requirements Analysis using OO. What are requirements? . It depends who you ask… Requirements try to describe the whole system you are creating.
E N D
Introduction to Software Requirements BTS330: Business Requirements Analysis using OO
What are requirements? • It depends who you ask… • Requirements try to describe the whole system you are creating. • You need to decide on a definition with all project stakeholders…your requirements document will be based on that definition.
What are requirements? • Intersection of interests of stakeholders: • Customers (acquire the software) • Users • Analysts, developers, testers • Legal staff • And so on…
Why requirements? • Foundation for the software system • Define them well terrific product, happy customers/stakeholders • Define them poorly disaster
Levels of Requirements • Business Organizationvision/scope • User use cases • Functional software specs
Levels of Requirements • Nonfunctional • Business rules • Quality attributes • External interfaces • Constraints • And so on…
Why requirements? • Foundation for the software system • Define them well terrific product, happy customers/stakeholders • Define them poorly disaster
Levels of Requirements • Business Organizationvision/scope • User use cases • Functional software specs
Documenting Requirements in BTS330 • We will produce a Requirements Document as per a given template (posted to the bts330 site)
Development and Management • Develop Requirements • Elicitation • Analysis • Specification • Validation
Development and Management • Manage Requirements • Define baseline—SCOPE • Manage changes (**NOT EASY) • Manage project activity • Manage project plan
Why are there problems? • Detailed requirements are difficult!!! • “…no other part of the work so cripples the resulting system if they’re wrong. No other part is more difficult to rectify later.” • (text, p. 15)
120 100 80 60 40 20 Requirements Design Code Test Operation Cost of Correcting Requirements Relative Cost Source: Text, p. 17
Common Problems • Insufficient user involvement • Scope creep • Ambiguous requirements • Gold plating • “Paper Napkin” syndrome • Overlooked users • Inaccurate planning (bad promises)
The Pain Curve Poor Requirements Good Requirements Pain Time
Collaborating with Customers/Stakeholders • Take responsibility for ensuring understanding • Be respectful • Give honest/correct information • See text pg 32, “bill of rights”
The Sign-off Myth • Signing off requirements • is NOT a weapon but a milestone • establishes a baseline • provides the basis for change management