Beruflich Dokumente
Kultur Dokumente
Robert J. Schaaf
rjschaaf@ieee.org
September 22, 2014
Robert J. Schaaf
We Will Touch On
Requirements
REQUIREMENTS
+
Stakeholders
Stakeholder needs
Quality
Requirements Practice
REQUIREMENTS PRACTICE
Stakeholders
STAKEHOLDERS
Cast the net much wider than customer and user
A stakeholder is a person with an interest in anything related to the software:
A. The software itself, incl. any property or attribute of the software
E.g.: the customer(s); the owner(s); the users
But also, say the legal department
B. The environment in which the software will be used
E.g.: the owner of a system interacting with the software
But also,
also say the designer of the applications
application s business processes
C. The processes applied during the life of the software
E.g.: developers; acquirers; trainers; sub-contractors
But also: internal audit, finance, marketers, sales, pricing, etc.
Trade-off
Stakeholder Needs
STAKEHOLDER NEEDS
Stakeholder need: A condition that must or should be
fulfilled according to one or more stakeholders
Strength of need varies what value to stakeholder?
A need is owned/held by the respective stakeholder(s)
Others may help in the discovery & formulation of needs
Fulfillment of a stakeholder need may depend upon
Th
The software
ft
it lf
itself
The environment interoperating with the software
The processes to engineer the software
More than Function: Endless variety of types of needs
Completeness
Maintainability
Configurability
Flexibility
Scalability
y
Privacy
Adaptability
Portability
Interoperability
Extendibility
Compatibility
Simplicity
Modularity
Reusability
Testability
Trainability
Environmental factors
Usability, human factors
Operability
Installability
Security
y
Modes of operation
Privacy
Integrity
Property rights
Merchantability
Governability
Regulatory compliance
Standards compliance
International factors
Auditability
AND SO ON
10
ENVIRONMENT
SOFTWARE
Stakeholder Needs
11
STAKEHOLDER NEEDS
ENVIRONMENT
Software
Requirements
12
SOFTWARE REQUIREMENTS
SOFTWARE
13
SOFTWARE REQUIREMENT
A condition on the software, or on a software process,
to make the software acceptable to the stakeholders
Requirements vary in strength: must, should,
may, etc. all requirements are not equal
Requirements should have permissible cost data
Requirements
q
should be stated in the positive
p
There should be
no security holes
Requirement Types
14
REQUIREMENT TYPES
Similar to needs addressing everything of interest to the
stakeholders
15
STAKEHOLDER NEEDS
SOFTWARE REQUIREMENTS
Responsibility of stakeholders
Mostly pro-active
16
17
18
ANSWER
Incremental evolution of needs > requirements > software
Each increment based on best-available needs & requirements
Each increment is a complete engineering cycle, but short!
Each increment released and used > improved requirements
DEFINE QUALITY AS SATISFYING THE STAKEHOLDERS
Feedback Loop
19
FEEDBACK LOOP
STAKEHOLDER
NEEDS
ENGINEERING OF
NEXT INCREMENT
LIVE USE OF
INCREMENT
RELEASE OF
FINAL
INCREMENT
NEW/CHANGED/REFINED
STAKEHOLDER NEEDS, SOFTWARE REQUIREMENTS
20
10
Case: System X
21
CASE: SYSTEM X
22
11
#2
#3
#4
#5
#6
A project is.
23
A project is.
A way of organizing work
Work with a beginning and an end
Work that leads to a unique result
As opposed to: Ongoing, repetitive work
24
12
Functional organization
Project organization
Matrix organization
Functional Organization
25
Project Organization
26
13
Sponsor
27
28
14
5. Quality
- Establish and maintain a quality management system
- Rule #1: Quality is everybodys responsibility
- Every task, output has an owner + keep owners feet to the fire
- Achieve stakeholder satisfaction, get output accepted
6. Staff
- Develop and execute a staffing plan
- Analyze actual competencies against needs, plan training if necessary
- Track individual and team performance, provide feedback, resolve issues
29
8. Risk
- Establish a risk management system, control its performance
- Track major dependencies and assumptions, analyze plan deviations
- Identify high risks - continuously
- Mitigate high risks: alternative courses of action, fallback plans
9. Procurement
- Set make-or-buy direction, approve make-or-buy decisions
- Control: identification and selection of sellers; contracting + fulfillment
Case: System X
30
15
CASE: SYSTEM X
31
32
16
There
e ea
are
e many
a yp
planning
a
g methodologies
et odo og es
Our method:
1. Plan incrementally, as time progresses
2 Plan
2.
Pl close-in
l
i activities
ti iti iin d
detail
t il rough
h outline
tli > 6 months
th
3. Do size-based planning around the Golden Triangle
33
HOW =ACTION
WHEN=TIME
Size-Based Planning
34
17
SIZE-BASED PLANNING
- From requirements ( > design specs ), estimate size
- From size, estimate effort for precision, also consider complexity etc.
- Based on size and effort, set (adjust) staffing level and time schedule
- If necessary, change requirements to affect size > effort > schedule
SIZE
SCOPE
ACTION
TIME
EFFORT
SCHEDULE
ITERATIVE PROCESS!
35
Architecture to be developed/maintained
Parts to be integrated
36
18
COST
TIME
SCHEDULE
EFFORT
INCREMENTAL ENGINEERING
PLAN
DO
DEVELOPMENT / ACQUISITION
DELIVERY
38
19
39
Corollaries: That which is not managed will not happen except by luck +
If its not that important, it should not be in the plan
40
20
41
Corollaries: That which is not managed will not happen except by luck + If its not that
important, it should not be in the plan
Impossible to achieve every plan item recognize deviation and recover, locally or by
plan changes: cutbacks, delays, additional resources.
People respond to, and accomplish, things which they perceive are
important to their leaders they perceive important those things on
which their leaders act, not talk
You have to act in a way that makes visible your concern with the item
42
21
Management of Risk
43
MANAGEMENT OF RISK
IN PROJECT PLANNING AND EXECUTION
Manage Expectations
44
22
MANAGE EXPECTATIONS
C
Communicate
i t Up,
U d
down, side-ways
id
Plain-speaking, even bluntness, is good
The earlier the better
Generally audiences have a great sense of reality
Generally,
Staffing Plan
45
STAFFING PLAN
Numbers dont make up for too few good people
Avoid
A id bubbles
b bbl or steps
t
in
i staffing
t ffi level
l
l
Level headcount desirable all-rounders help
Implement staffing plan with sense of urgency
Making-up later for shortfalls near-impossible
Extend
E tend schedule,
sched le or
Cut back on scope
46
23
47
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
1ST LINE
MANAGER
48
24
49
AFTER ALL
System X became a great commercial success
Served by a single software system
Series of Release 5 increments, never a Release 6
50
25
51
What If
52
26
WHAT IF
53
Project planning
Project control
Decision making
Risk management
Configuration mgt
Information mgt
Measurement
Stakeholder needs
Requirements
Design
Construction
Integration
Documentation
Review & audit
Test
Problem resolution
Quality assurance
Assets for re-use
re use
Qualification
Installation
Acceptance
Operation
Maintenance
Disposal
27
DEFECT FAILURE
Process defect >
Process failure >
Software defect >
Software failure >
Stakeholder dissatisfaction
Process Defect
55
PROCESS DEFECT
Process defect >
Process failure >
Software defect >
Software failure >
Stakeholder dissatisfaction
56
28
57
58
29
What:
59
Who, etc.
Who, etc.
Who, etc.
60
30
61
62
31
63
32