26
Requirements Development VIASYS Healthcare

Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Embed Size (px)

Citation preview

Page 1: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Requirements Development

VIASYS Healthcare

Page 2: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

What is a requirement?

1) A condition or a capability needed by a user to solve a problem or achieve an objective.

2) A condition or capability that must be met or possessed by a product or product component to satisfy a contract, standard, specification, or other formally imposed document.

3) A documented representation of a condition or capability as in (1) or (2).

[Source: IEEE definition]

Page 3: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Why focus on Requirements?

Meet Schedule/Cost objective– Writing down requirements makes the project more

predictable.– Requirement defects lead to the most rework of all

defect types. (I’ve seen lots of numbers, all of them over 60%)

– Reducing requirements & design defects early can give you 7:1 ROI or better! [Google for “defect dollarization” – Tim Olson of QIC]

Page 4: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example Project Schedule

An example of costs accrued when a requirement changes late in the project or was not understood during design.

Product allows user to scan a bar code and display an item number associated with it.

Page 5: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Project Schedule

Page 6: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Requirement Change

The project is 70% completed when the marketing group realizes that some of the customers are using a different bar coder.

It is decided that software should be able to use the ScanTronics GT-15 bar code reader to read in bar codes.

Page 7: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Project Schedule Updated

Page 8: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

IMPORTANT SLIDE!!!!!!

Most requirements changes will have a measurable impact on both cost/schedule for the project.

This impact should be weighed against the need for the requirement before the decision to make a change is made.

Page 9: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Why focus on Requirements?

Achieve high customer satisfaction– Customers are more likely to receive products they

want, at the time you’ve promised it will be ready. – Requirements are a baseline to determine product

quality. – Higher quality, lower cost as customer needs are

tracked throughout the development process.

Page 10: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Requirements elicitation

Interviews/User surveys Use Case Analysis & Brainstorming Quality Function Deployment Enhancement suggestions Extraction from external documents (FDA

regulations etc.. Competitive Reviews

Page 11: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Requirements Management

Inspecting requirements – single most productive practice to increase quality!

Creating a baseline Planning the project Tracking changes Manage project cost & risk

Page 12: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Characteristics of a good requirement.

Correct (marketing) Necessary (marketing) Attainable (engineering) Verifiable (engineering, testing) Traceable (all) Unambiguous (all)

Writing good requirements is a team effort!

Page 13: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Nice to have

Implementation Neutral- allows engineers to decide upon implementation: state requirements in terms of customer need, not perceived means

Prioritized- communicates how important of features to the team and allows the team to work on “must have” features first: Requirements almost always exceed the time and budget available

Page 14: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Types of Requirements

Functional- things the system does Performance- how fast the system must do functions External Interfaces- other systems it must “talk” with Design Constraints- regulations, hardware needs etc…

that restrict implementation Quality Attributes- security, reliability,

maintainability..etc

Page 15: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Baseline Requirements

Baseline Requirements- these are the agreed upon requirements when design and development begin.

Requirements always change, the baseline is just the starting point (perfectionists beware!)

Any changes to this Baseline have impact on the schedule and must be carefully analyzed for schedule and cost impact.

Page 16: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Writing good requirements

Avoid words like “maximize”, “rapid”, “user friendly”, “easy”, “sufficient” –Remember this must be testable/verifiable.

Avoid using “and” and “or”. Probably stating multiple requirements.

Page 17: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Some Requirements Fields

Unique ID - traceable Category / Type Title (optional) Description Assessment – testable Exception Justification

Page 18: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

More Requirements Fields

Originator – who wrote it Priority (< “High” means on Candidate list) Product, product version References Issue ID “Firm” or “Fluid” Notes (catch-all free text field)

Page 19: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example #1

The system shall read a bar code and instantaneously display the item number.

Page 20: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example #2

The system shall display a graphic image of the the bar code to the user after a successful scan.

Page 21: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example #3

The system should warn the user if the bar code scan failed.

Page 22: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example #4

Must be an industrial version of our current system.

Page 23: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Example #5

The system shall allow the user to adjust font, color, and size for the displayed item and save these settings each time the program is closed, plus allow the user to pick from a list of settings groups in the program options.

Page 24: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Workshop Requirements

Write requirements for a small software program that lets the user look up a name and address from a telephone number. The data is stored in an XML database.

Page 25: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

References

1. IEEE Standard Glossary of Software Engineering Terminology, IEEE STD 610.12-1990, http://standards.ieee.org/reading/ieee/std_public/description/se/610.12-1990_desc.html

2. Quality Function Deployment, Ronald G. Day, ASQC Quality Press, 1993.

3. Christensen, Mark J. and Thayer, Richard H. The Project Manager’s Guide to Software Engineering’s Best Practices, IEEE Computer Society, 2001

4. Wiegers, Karl E., Software Requirements, Microsoft Press, 19995. Wiegers, Karl E., “Writing Quality Requirements”, http://www.processimpact

.com/articles/qualreqs.html

6. Hooks, Ivy, “Writing Good Requirements”, http://www.complianceautomation

.com/papers/writingreqs.htm, INCOSE 1993

Page 26: Requirements Development VIASYS Healthcare. What is a requirement? 1) A condition or a capability needed by a user to solve a problem or achieve an objective

Author

Kevin MenningenLead Software EngineerNicolet Biomedical, a division of VIASYS Healthcare, Inc.5225 Verona Rd. Bldg. #2Madison, WI [email protected]://www.viasyshealthcare.com