Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent...

29
Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Software Requirements and Organizational Culture: 10 Lessons Learned

Transcript of Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent...

Page 1: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored by:

Karl Wiegers

Principal Consultant, Process Impactwww.processimpact.com

Software Requirements and Organizational Culture: 10 Lessons Learned

Page 2: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

2

Sponsor: IREB

Advanced Level – available Modules:

Foundation Level

Requirements Elicitation and Consolidation

Expert LevelJanuary 2018

Prerequisite: none

RE@Agile Primer

Prerequisite: Foundation Level certificate 

Prerequisite: 3 Advanced Level certificates (2 certificates replaceable)

Requirements Modeling

Requirements Management

RE@AgileQ4 2017

Prerequisite: none

CPRE ‐ CERTIFIED PROFESSIONAL FOR REQUIREMENTS ENGINEERING

Page 3: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Phone #:

E‐mail:

3

Sponsored By

Blog:

Featured Speaker

Karl WiegersPrincipal Consultant, Process Impact

www.processimpact.com

503‐698‐7879

[email protected]

Consulting Tips & Tricks Blog:  www.karlconsulting.blogspot.com

Downloadable Process Goodies: www.processimpact.com/goodies.shtml

Use discount code GOOD17 for $20 off on Process Impact Goodies Collection

Page 4: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

4

Source Books

Creating a Software Engineering Culture by Karl Wiegers (Dorset House Publishing, 1996)

tinyurl.com/reqs3

Software Requirements, 3rd Edition by Karl Wiegers and Joy Beatty (Microsoft Press, 2013)

Page 5: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

5

Requires commitments: by each technical practitioner, to apply sound software engineering 

practices by managers at all levels, to provide a quality‐driven environment by everyone, to continuously improve the way they work

Lesson One:Every software organization should 

determine its underlying cultural principles.

Software Engineering CultureA set of beliefs, behaviors, and technical practices that define an environment in which all team members are

committed to building quality software products through effective and appropriate software processes.

Page 6: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

6

Some of My Old Group’s Cultural Principles

Never let your boss or your customer talk you into doing a bad 

job.

Quality is the top priority; long‐term productivity is a natural benefit of 

high quality.

Strive to have a peer, rather than a 

customer, find a defect.

Ongoing education is every team member’s 

responsibility.

People need to feel that the work they do is appreciated.

Continual improvement of your 

software development process is both possible and 

essential.

A key to software quality is to iterate on all development steps except coding.

If you measure what you do, you can learn 

to do it better.

You can’t change everything at once.

Page 7: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

7

Actions matter, not words

Culture Buildersactions a manager takes to establish and reinforce a healthy culture

Lesson Two:Management at all levels plays a huge role in steering the culture — for better or for worse.

Culture Killersactions a manager takes that undermine a healthy culture

Page 8: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

8

Culture Builders and Culture Killers

Some Culture Builders• If no one is interested in serving as a product champion for a 

project, perhaps the project should be canceled.• Make tracking charts of acceptance test results visible to the 

whole team to emphasize a shared focus on quality.

Some Culture Killers• “We haven’t got time to write requirements; just build 

me a system.”• Include every requirement anyone requests in the specification, 

regardless of usage frequency, cost, or feasibility. The customer is always right.

• Use the defect logs from peer reviews as input into individual performance appraisals. This shows you care about quality.

Page 9: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

9

Some relevant cultural principles: Customer involvement is the most critical factor in software 

quality.

Our greatest challenge is sharing the vision of the final product with the customer. 

Lesson Three:A commitment to effective requirements engineering is a hallmark of a healthy 

software engineering culture.

Page 10: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

10

Management Commitment to Requirements1. Asking that requirements for a project be documented in an appropriate 

form.2. Working with the business analyst to provide business requirements.3. Expecting requirements to be reviewed by appropriate stakeholders.4. Asking stakeholders to agree on requirements before implementing each 

portion of the solution.5. Ensuring that project plans include time and resources for requirements 

tasks.6. Collaborating with other key stakeholders to gain their participation in 

requirements activities.7. Establishing effective mechanisms and policies to handle changes.8. Investing in training, tools, books, and other resources.9. Funding and staffing activities to improve the organization’s 

requirements processes.10. Making the time available for team members to spend on requirements 

process improvement activities.

Page 11: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

11

Business requirements include: business opportunity business objectives success metrics vision statement business risks, assumptions, dependencies scope of initial and subsequent releases limitations and exclusions stakeholder profiles

Lesson Four:Clearly defined business requirements are the foundation of a successful project.

Page 12: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

12

Three Levels of Software RequirementsBusiness

Requirements

Vision and Scope Document

UserRequirements

User Requirements Document

FunctionalRequirements

Software Requirements Specification

ConstraintsSystem

Requirements

BusinessRules

ExternalInterfaces

QualityAttributes

Page 13: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

13

Traditional: Use Cases

“A description of a set of interaction sequences that a system performs to provide a result of observable or measurable value to one or more actors.”

Agile: User Stories

A “short, simple description of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system.”

Lesson Five:Taking a usage‐centric approach instead of a feature‐centric approach during elicitation 

better meets user needs.

Page 14: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

14

Use Cases and User Stories

User Story

UseCaseName

conversations use casespecification

functional requirements

tests

refined user stories

conversations acceptancetests

conversations

analysis

“Create an Invoice”

“As a small business owner, I want to create an invoice so that I can bill a customer.”

Page 15: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

15

Benefits from the Usage‐Centric Approach

User’s terminology is applied

Reveals functionality users need to get their 

work done

Helps analysts understand 

application domain

Avoids building unnecessary functionality

Permits early drafting of 

acceptance tests

Helps set priorities for functional requirements

Permits tracing requirements back to voice of the 

customer

Page 16: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

16

Lesson Six:Customer engagement is a vital contributor 

to building high‐quality software.

Expectation Gap(Surprise!)

Time

Page 17: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

17

A Stakeholder Hierarchy

Stakeholders

Customers OtherStakeholders

OtherUser Classes

IgnoredUser Classes

DisfavoredUser Classes

FavoredUser Classes

Other Customers

Direct andIndirect Users

Page 18: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

18

Key Aspects of Customer Involvement

Identify stakeholders and their interests and 

priorities

Identify distinct user classes

Identify “product champions” to represent user 

classes

Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Select appropriate elicitation techniques

Have customers define acceptance 

criteria

Engage customers through 

prototypes, reviews, etc.

Page 19: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

19

Reducing the Expectation Gap

Time

contactpoint

} ExpectationGap

contactpoint

contactpoint

Page 20: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

20

Responsible for many tasks: Defining business requirements with project sponsor Identifying project stakeholders and user classes Eliciting requirements Analyzing requirements Specifying requirements in various ways Leading requirements validation Facilitating requirements prioritization Managing requirements

Lesson Seven:The business analyst plays a central role in 

understanding and communicating a project’s requirements.

Page 21: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

21

The Business Analyst: A Bridging Role

sponsor businessrequirements

projectmanager

size and complexityinformation

development

functional and

nonfunctionalrequirements

user reps

userrequirements

functional andnonfunctionalrequirements

testing

expectationsand constraints

other stakeholders

Page 22: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

22

Lesson Eight: No single view of the requirements shows 

you everything you need to know.

Natural‐language 

requirements

Visual analysis models

Acceptance tests

Prototypes and screen designs

Tables and structured lists

Decision tables and decision 

trees

Data dictionary

Photographs, video clips, audio clips

Mathematical expressions

Page 23: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

23

You can’t get all the requirements the first time. You can’t get the requirements right the first time. Requirements will change. An adaptive strategy: identify user requirements at a high level learn enough about them to do first‐cut prioritization allocate user requirements to releases or iterations elaborate requirements details prior to construction revise, refine, reprioritize, reallocate as change happens

Lesson Nine:A guiding principle of requirements development 

is “iterative refinement of detail.”

Page 24: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

24

Components of Requirements Engineering

Requirements Development

Requirements Management

Elicitation Analysis ValidationSpecification

clarify rewritere-evaluate

confirm and correct

Requirements Engineering

Page 25: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

25

Lesson Ten:Addressing nonfunctional requirements 

contributes significantly to user satisfaction.

design implementation

Constraints

user software hardware communication

ExternalExternalInterfaceReqs

response time throughput latency degraded modes efficiency

Performance

usability robustness installability security availability modifiability...

QualityAttributes

NonfunctionalRequirements

Page 26: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Write them to be quantitative and verifiable Document these in the requirements specification Cannot be simultaneously optimized; there are tradeoffs

Software Quality Attributes

Internal Quality

(important todevelopers and

maintainers)

External Quality(important to users)

Two views of product characteristics:

26

Sponsored By

Page 27: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

27

Bonus Lesson:Without high‐quality requirements, 

software is like a box of chocolates: you never know what you’re going to get.

Page 28: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

28

Sponsor: IREB

CPRE RE@Agile addresses RE in an agile context

Work more efficiently with stakeholders during elicitation.

Learn the appropriate methods for successful negotiations.

Be familiar with different techniques for modeling and documenting requirements.

Be more effective at managing requirements during the entire lifecycle of a project or product. 

Know the terminology of RE Become part of an internationally 

recognized community.

The CPRE is worldwide acknowledged – over 33,000 certified professionals in 70 countries

Gain the relevant skills, improve your professional profile and you will gain a higher market value.

www.ireb.org

Page 29: Software Requirements and Organizational Culture: 10 ...Karl+Wiegers...champions” to represent user classes Have a Customer’s Requirements Bill of Rights and Bill of Responsibilities

Sponsored By

29

Q & A

Karl Wiegerswww.processimpact.comwww.karlwiegers.com

thereconstructionbook.com