Requirements Volatility Workshop Rick Selby USC Center for Systems & Software Engineering February...
-
date post
19-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Requirements Volatility Workshop Rick Selby USC Center for Systems & Software Engineering February...
Requirements Volatility Workshop
Rick Selby
USC Center for Systems & Software Engineering
http://csse.usc.eduFebruary 15, 2007
Rick Selby NGC [email protected]
JoAnn Lane USC CSSE [email protected]
Sue Koolmanojwong USC CSSE [email protected]
Scott Rigby Raytheon [email protected]
Mike Barker NAIST [email protected]
Jim Lambert CISCO [email protected]
Tom Schroeder BAE Systems [email protected]
Robert Culbertson CISCO [email protected]
Gary DeGregoro Motorola Labs [email protected]
Ray Hunnicutt Lockheed Martin [email protected]
Karen Owens The Aerospace Corp. [email protected]
Da Yang Institute of Software CAS [email protected]
Attendee List
Dan Ligett Softstar [email protected]
Ray Madachy USC CSSE [email protected]
Anna Warner Boeing [email protected]
Barbara Park Boein [email protected]
A Winsor Brown USC CSSE [email protected]
George Hulin DSC [email protected]
Rosaline Lewis The Aerospace Corp. [email protected]
Barry Boehm USC CSSE [email protected]
Di Wu USC CSSE [email protected]
Vu Nguyen USC CSSE [email protected]
Rod Robertson Boeing [email protected]
Attendee List
4
Workshop Guidelines
Product: briefing, preferably with notes
Topics should include:– Most critical success factors in each area– Current best practices for addressing them– Areas for further research
Rated 0-10 on value and difficulty of research
5
Requirements Critical Success Factors
Technical– (tech)Investigate req interdependencies and dependencies– (tech)Demistify the notion that requirements are independent– (tech)Requirements gathering-what are the important attributes
that should be captured – (tech)Want virtual model and understand attributes– (tech and people)Better ways to prioritize requirements,
considering risk, cost factors, stakeholder utility function and how to reconcile stakeholders interest
– (tech and people)Same as above with greater emphasis on change
– (tech)Specify requirements/not implementation; users often want to specify implementation
– (tech)What are the critical/driving requirements
6
Requirements Critical Success Factors (continued)
Technical– (tech)Relate requirements work back to COSOSIMO and
COSYSMO– (tech)Missing rich enough vocabulary to model “this whole thing”
(wants, needs, problems, issues, business drivers that are referred to as requirements)
– (tech)Need modeling approach other than English– (tech/tool)How do we automatically measure requirements,
requirement volatility, progress, scope– (tech)Accurately assess/predict impact of changes– (tech)Standard classification method to capture types of
requirements and level of requirements– (tech)Classify requirements volatility types and define metrics to
measure volatility– (tech)Address differences in req vol across market segments
7
Requirements Critical Success Factors (continued)
Technical– (tech)Function points necessary but not sufficient—
miss technical performance and constraints– (tech)Capabilities versus requirements– (tools/tech)Tools: relate estimation inputs to the
outputs (for example, inputs req lead to sloc output instead of sloc to effort)
– (tech)Global collaboration—state requirements in a way that they can be understood globally and implemented locally
– (tech)Specify the behavior for off-nominal conditions and events
– (tech)Detect the confliction between requirements
8
Requirements Critical Success Factors (continued)
Tool– (tech/tool)How do we automatically measure
requirements, requirement volatility, progress, scope– (process/tool)Requirements traceability from the
beginning (who initiated and why, which application, which test)
– (tools)Investigate tools available for requirements process (measurement, tracking)
– (tools/tech)Tools: relate estimation inputs to the outputs (for example, inputs req lead to sloc output instead of sloc to effort)
– (process/tools)Need a good way to move back and forth between reqs and models
9
Requirements Critical Success Factors (continued)
Product– (prod)Define requirements in a sufficient enough way
to cost them, but high level enough to provide flexibility (R. Turner comment)
10
Requirements Critical Success Factors (continued)
Process– (process)Capture requirement up front using elicitation in a way
that avoids future change– (process)Plan for requirements to change
(evolutionary/incremental development)– (process)Late binding of requirements-need to specify in a way
to promote late binding– (process)Involve all key stakeholders and ensure their
accountability for the requirements– (people/process)Treat requirements process as a negotiation
and learning process– (management/process)Minimize requirements volatility by
managing decision volatility– (management/process)Link decisions and requirements– (process)Need to identify assumptions as well as requirements
11
Requirements Critical Success Factors (continued)
Process– (process)Be clear what is an assumption and what is a
requirement– (people/process)Treat requirements process as a negotiation
and learning process– (process)Standard on requirements volatility-how to measure,
what to measure– (process/methodology)Look at process used to development
requirements, especially across enterprises Modeling and sim Environment (process, tools, people) Instrumentation Increase propensity to accept changes in the requirements
process– (process)Steal from agile, tests are one of the better forms for
capturing requirements
12
Requirements Critical Success Factors (continued)
Process– (process/management)Get immediate feedback from
development and test teams that requirements can be implemented and tested
– (process/management)Write requirements in alignment/context with business drivers
– (process/tool)Requirements traceability from the beginning (who initiated and why, which application, which test)
– (process/management)Keeping the multiple stakeholders engaged across the life cycle
– (process/management)Integrate measurement and modeling of requirements changes
13
Requirements Critical Success Factors (continued)
Process– (management/process)Improve/investigate
methodology for requirements development by incorporation of meta models, semantics, and ontology
– (process)Using value based systems engineering we need to identify the 10-20 key driving requirements for large scale systems
– (people/process)Collaboration with customer to prevent later volatility (using analog of collaborative design in the requirements space)
14
Requirements Critical Success Factors (continued)
Process– (process)Moving from requirements to models too
early leads to premature codification of solution(s)– (process/tools)Need a good way to move back and
forth between reqs and models– (process)25% req change results in 100% change in
the solution space– (process)Requirements completeness for context at
various points in time
15
Requirements Critical Success Factors (continued)
People– (tech and people)Same as above with greater
emphasis on change– (people) Committed, representative, available,
collaborative, knowledeable (CRACK) stakeholders – (people/process)Treat requirements process as a
negotiation and learning process– (people/process)Treat requirements process as a
negotiation and learning process– (people)Make stakeholder incentives explicit– (people)Function point modeling to provide another
way to look at requirements
16
Requirements Critical Success Factors (continued)
People– (people)Data modeling (part of FP modeling) to
analyze requirements– (people/management)Change management and
expectation management– (people/org)How do we convince customers to think in
smaller steps– (people/org)Customers tend to think 5-10 yrs in the
future, others tend to think 9 months ahead– (people/process)Collaboration with customer to
prevent later volatility (using analog of collaborative design in the requirements space)
– (people)Experience of team
17
People– (people)Diverse representation in the systems engineering
organization: role, function, people, cultures– (people/org)Managing stakeholder continuity/volatility/high
variance of req interpretation– (people)Ensure that you understand your customer (familiar with
customer)– (people)Impact of cognitive makeup of req candidates using
standard psych tests (Toyota evaluates critical thinking, problem solving, decision making—40 hours of testing prior to interviewing)
– (people)UML never represent customer space, they could, but they don’t—the first one you see is taken as a design model (any time you make an abstract model, it is assumed by others that it is how you plan to design the solution)—how do you convince people that there are abstract models that are useful to define the problem without defining the solution and to treat them as such
18
Requirements Critical Success Factors (continued)
People– (people)People involved in eliciting and analyzing
requirements Well versed in domain and the trade space for
solutions leads to more effectiveness in eliciting and analyzing requirements
– (people)Having domain knowledge and experience in extracting requirements leads to
19
Requirements Critical Success Factors (continued)
Management– (management/process)Minimize requirements volatility
by managing decision volatility– (management/process)Link decisions and
requirements– (management)Use models to understand effect of
requirements change on the process– (people/management)Change management and
expectation management– (process/management)Get immediate feedback from
development and test teams that requirements can be implemented and tested
20
Requirements Critical Success Factors (continued)
Management– (process/management)Write requirements in
alignment/context with business drivers– (process/management)Keeping the multiple
stakeholders engaged across the life cycle– (process/management)Integrate measurement and
modeling of requirements changes– (management/process)Improve/investigate
methodology for requirements development by incorporation of meta models, semantics, and ontology
21
Requirements Critical Success Factors (continued)
Methodology– (process/methodology)Look at process used to
development requirements, especially across enterprises Modeling and sim Environment (process, tools, people) Instrumentation Increase propensity to accept changes in the
requirements process
22
Requirements Critical Success Factors (continued)
Organizational– (people/org)How do we convince customers to think in
smaller steps– (people/org)Customers tend to think 5-10 yrs in the
future, others tend to think 9 months ahead– (people/org)Managing stakeholder
continuity/volatility/high variance of req interpretation
23
Requirements Critical Success Factors (continued)
(citation)Software requirements: the Requirements Set (Ferdinandi) (about categories of requirements)
24
Research ProjectsVc
V: 1,7,2 D:2,7,2 Establish relationships between capabilities and requirements 3
V: 5,6,2 D: 0,4,5 How to support client/customer in requirements elicitation 4– for naïve/non-expert clients– when the elicitor does not have domain knowledge
V: 2,5,5 D: 0,10,0 Define and evaluation a taxonomy of knowledge needed in req elicitation 2
A) V: 11,3,0 D: 0,8,6 Develop improved/standardized methods for measuring and evaluating reqs/reqs changes and evaluate the benefits on experimental projects 7, 22/14=1.57
V: 7,7,0 D: 1,8,4 Investigate use of boundary objects for modeling requirements in collaborative teams 5
V: 5,6,4 D: 0,5,9 Build tools to visualize and investigate the relationships between decisions and requirements, with emphasis on managing changes that are resulting from decision change 5
25
Research Projects (continued)
B)Define set of rules/metrics that can accurately predict/reflect 13 ; D: 0,4,13 21/17=1.24– requirements quality– decision quality– Req traceability with code and design (bi-directional)– Requirements completion– Requirements omissions
Develop checklists/tools help one identify missing reqs 4 Translate English requirements set into a virtual
representation 4 C)Develop knowledge management tool to categorize
requirements and based on this, develop cost estimate/risk predictions 6; D: 0,4,11 19/15=1.27
Make function point models into a useful form of boundary objects 1
26
Research Projects (continued)
D) Define a representation and accompanying new tools for reqs that enables automated measurement and analysis 6; D: 0,3,11 17/14=1.21
Investigate team org and roles that are effective at reqs elicitation, analysis, pruning, and prioritization 5
E) Extend USC COCOMO research to relate reqs as inputs to SLOC as output and verify on real projects 6; D:0,7,8 22/15=1.47
Investigate levels of requirements and develop factors to estimate number of reqs at various levels (requirements normalization to get consistent count of reqs at a given level) 4
Investigate the effects of communicating reqs across cultures, especially globally 3
27
Research Projects (continued)
Small to medium projects: does a very structured process have an impact on 5– Req quality and req volatility– quality and cost of end product
Define and develop helper for ensuring that behavior for undesirable events and off-nominal conditions are captured in the reqs 1
Tool to identify potential emergent behaviors resulting from requirements 3
F) Develop an approach for costing by capabilities instead of requirements 7; D:0,6,8 20/14=1.42– Want to build a system “like that one” – reqs def by analogy
Investigate feasibility of function points as an alternative to COSYSMO reqs input 2
Define/develop Tools to identify “similar requirements” to enable detect redundancy, conflicts, and opportunities for reuse 5
28
Research Projects (continued)
Compare contribution of people vs. process to the quality of the developed requirements 3
Define and develop a way to measure the quality of developed requirements 3
G) Develop meta model, semantics (categorization of terms, naming conventions, nomenclature) and ontologies of requirements 7; D:0,8,6 22/14=1.57
Investigate the efficiencies of various requirements derivation techniques for deriving high quality/complete requirements 3
H) Define the minimum required steps for lean requirements-related processes 7; D:4,9,2 32/15=2.13– Small projects– Large projects
29
Research Projects (continued)
Develop tool to capture requirements associated with selected/reused/COTS components 1
Identify preferred methodology for incorporation of legacy requirements into new projects 2
Investigate the extent to which we can simulate the user’s problem space (virtual model)—executable model 3
I) Define a mechanism for capturing reqs using test procedures (test-centric requirements development) 6; D: 0,12,1 25/13=1.92
Define more specific completeness criteria for passing LCO/LCA milestones 4– Investigate continuous milestones with continuous/tightened
criteria Identify and do good write-ups of case studies on outstanding
requirements and processes in industry. 5 Identify best practices for reqs development 4 Identify preferred approach for seamless incorporation of se and sw
eng life cycles, with emphasis on software life cycle within se life cycles 3
30
Research Projects (continued)
Define and develop an incremental sys eng life cycle model 3
J) Develop a model to predict reqs volatility 14; D: 0,3,13 19/16=1.19– Based on a given set of reqs, problem domain, and
stakeholders– With emphasis on the velocity with which reqs were
developed, changes made, defects injected and defected
Capture the types and provide predictors for latent req defects 1
31
Top 10 Research Project
Develop a model to predict reqs volatility 14– Based on a given set of reqs, problem domain, and stakeholders– With emphasis on the velocity with which reqs were developed,
changes made, defects injected and defected Define set of rules/metrics that can accurately predict/reflect 13
– requirements quality– decision quality– Req traceability with code and design (bi-directional)– Requirements completion– Requirements omissions
V: 11,3,0 D: 0,8,6 Develop improved/standardized methods for measuring and evaluating reqs/reqs changes and evaluate the benefits on experimental projects 7
Develop knowledge management tool to categorize requirements and based on this, develop cost estimate/risk predictions 6
32
Best Practices:
What are the current best practices for addressing risk related to requirements volatility– Postponement of requirements– Iterative requirements development– Clarity of requirements– Prioritize requirements– Prioritize by feasibility– More agile process– Capture justification and history of requirements– Architect product to withstand change– Better standards for requirements documentation– Agile prototyping– Involve many stakeholders, especially downstream
customers– Hierarchical classifications (Layered—577 MBASE)
33
Best Practices (continued)
Prioritize early and at high levels on the requirements hierarchy Change propagation and traceability Requirements traceability Over-engineer (just in case) and create a resilient architecture that
anticipates change Visible and understandable reqs Measure requirements and volatility Assess and communicate impact to all stakeholders Training
– Processes– Domain
Checklists Make explicit win conditions and incentives of stakeholders Triage requirements—if some reqs change, it does not matter, if
others change, it matters a lot
34
Best Practices
ROI analysis for alternative requirements Use tools Rely on standards to a larger extent Conduct sensitivity analysis up front Categorize requirements, capabilities, project,
performance, interface, evolution, future
35
Ease / Value
Project Letter Difficulty EASE Value:
Research Project desc. main Key Words, Phrases and Concept 3 2 1 TopTen
(starts with) Easy Medium HardWeighted NormalizedVotes
aDevelop improved ... Measure & evaluate; reqts/changes; assess benefits 0 8 6 22 1.57 7
bDefine set of … Rules/Metrics related to reqts. Qualities 0 4 13 21 1.24 13
cDevelop KM tool … Categorize reqts.; cost est.; risk prediction 0 4 11 19 1.27 6
dDefine a representation … Tools; Automated measurement & analysis 0 3 11 17 1.21 6
eExtend USC COCOMO … Reqts to SLOC 0 7 8 22 1.47 6
fDevelop an approach … Costing by capabilities; reqts. definition by analogy 0 6 8 20 1.43 7
gDevelop meta-model, … Meta-models, semantics & ontologies 0 8 6 22 1.57 7
hDefine the minimum … Steps for lean requirements processes 4 9 2 32 2.13 7
iDefine a mechanism … Test-centric reqts. development 0 12 1 25 1.92 6
jDevelop a model … Predict reqts. volatility 0 3 13 19 1.19 14