Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Struktur vor InhaltWie organisieren wir komplexe Requirements?
Handout-Version
Dr. Andreas Birk, Software.Process.Management
1. März 2016, REConf 2016, Unterschleißheim
Includes additional notes & comments
Consultant & TrainerHow software development & IT contribute to business successTool-based requirements management
Author & SpeakerInternational journals & conferencesBlog MakingOfSoftware.com
Professional CommunitiesACM, IEEE, GI, ASQF – Active MemberVivit TQA – Founder & Co-Leader
Dr. Andreas BirkFounder & Principal ConsultantSoftware.Process.Management
[email protected], LinkedIn, Google+
1 March 2016 2Copyright © 2016, Software.Process.Management
Consulting houseBased in Stuttgart, GermanyNetwork of senior software engineering experts
We help organizations to optimally align their software processes with their business goals
Requirements Management, Agile Development, Variants & Reuse, Software Product Management
Software.Process.Management
www.swpm.de
software processes that fit your business needs
1 March 2016 3Copyright © 2016, Software.Process.Management
4
Structure Precedes Content
1 March 2016 Copyright © 2016, Software.Process.Management
Structure without Content
51 March 2016 Copyright © 2016, Software.Process.Management
Contents without Structure
61 March 2016 Copyright © 2016, Software.Process.Management
Simple Tasks Don’t Need Much Structure
71 March 2016 Copyright © 2016, Software.Process.Management
Complex Tasks REQUIRE Structure
81 March 2016 Copyright © 2016, Software.Process.Management
9
RM is Inherently Complex
RM REQUIRES Structure
Effective requirements management (RM) needs suitable information structures that match the given software or system development goals, context, and purpose.
1 March 2016 Copyright © 2016, Software.Process.Management
10
What Structure?
What Structures?
A good requirements management solution must address requirements structure on several different levels and dimensions. For instance, there shall be structural templates for individual requirements documents and a structural framework for organizing requirements documents into folders or within a document management platform.
1 March 2016 Copyright © 2016, Software.Process.Management
11
What Complexity?
What Complexities?
Find out what particular complexities RM must deal with in a given environment (e.g., number of requirements, number of different sites involved, longevity of information).Design requirements structures so that they can deal with these complexities.
1 March 2016 Copyright © 2016, Software.Process.Management
12
What Is Complexityin RM?
1 March 2016 Copyright © 2016, Software.Process.Management
Complexity in RM
13
Number of Requirements
Degree of Requirements Conflicts
Fuzziness of Solution
Technical Content
Longevity of Information
Number of Stakeholders
Number of Sites
Innovation & Novelty
etc. etc.
etc.
etc.
etc. Number of Product Variants
1 March 2016 Copyright © 2016, Software.Process.Management
14
Patterns of Requirements Structure
1 March 2016 Copyright © 2016, Software.Process.Management
Structure Depends – Patterns Help …
RM Structure is complex
Structure must be adapted to goals and context
Patterns of requirements structure provide viable solution elements
15
Structure depends and must be adapted to situation, context, and purpose.Structural patterns document experience about viable elements of requirements structure.Patterns serve as starting points and building blocks for developing suitable comprehensive requirements management solutions.
1 March 2016 Copyright © 2016, Software.Process.Management
Structural Levels
16
IT Domain / Site
Tool Instance
RM Project
Requirements Section
Requirements Cluster
Item Type
Item Entity
Item Attribute
Statement
Sentence
Term
Stru
ctur
al L
evel
s
Example:
ID Title Description Priority Release ...... The system shall ... medium 1.4 ...
...
...
The system should notify a user in case …
A pattern of requirements structure relates to a specific structural level
must
Requirements structure has many facets.It is useful to distinguish different levels of requirements structure. This slide shows an example for textual requirements statements.Other requirements formats need adapted structural levels (e.g., model-based requirements definitions or use case specifications).
This example shows that a requirements pattern must be related to a specific structural level.Both patterns address requirements priority.
Defining priority through keywords like “must” and “should” on the level of requirements statements has severe disadvantages. It shall best be expressed through attributes on the item type level.
1 March 2016 Copyright © 2016, Software.Process.Management
Structure Depends
17
Requirements structure depends in particular on …
Type of RM Change-Request RMProject-oriented RMContinuous product RMPlan-based vs. Agile
Organizational Level IndividualTeamOrganization
Development Phase Elicitation, Documentation, …RM Interfaces to Architecture, Implementation, Testing, …
There is not one best requirements structure.Rather, structure depends on aspects like what is the type of requirements management?, on what organizational level are requirements defined?, and in which development phase are the requirements used?
1 March 2016 Copyright © 2016, Software.Process.Management
Change Request (IREB)C
hang
eIn
form
atio
n
Identifier: CR-2016-0007Title: ICAO Code SearchDescription: Add a field for ICAO codes to the „Search Airport“ dialog.Justification: Some travel documents refer only to ICAO codes.Date Filed: 28-Jan-2016Applicant: Peter SmithPriority (Applicant): Medium
Man
agem
ent
Info
rmat
ion
Change Validator: Ann MillerImpact Analysis Status: OpenCCB Decision Status: OpenCCB Priority: Responsible: Ann MillerSystem Release:
18
Source: International RequirementsEngineering Board, Foundation Level Syllabus, http://www.ireb.org
This structuring of change requests, as recommended by IREB, illustrates how important information structures are for effective requirements management.
1 March 2016 Copyright © 2016, Software.Process.Management
Change Request Specification of Change Contents
Title: ICAO Code SearchDescription: Add a field for ICAO codes to the „Search Airport“ dialog.
Base Release: 2015-3-010User Interface Changes: Place search field „ICAO Code“ on “Search Airport“ dialog
between the „IATA Code“ field and the „Search“ button.Data Model Changes: Add new table „ICAO“. Add attribute „ICAO“ to table
„SRVPRV“ (Service Providers).Functional Changes: Search for ICAO codes in addition to IATA codes and city
names. Add airport name to list of results.Other Changes:
19
IREB change request structures should be complemented with content-related structures of a software change.
1 March 2016 Copyright © 2016, Software.Process.Management
Change Request Management in RM Tool
20
ID Title Description Author ...ICAO Code Search Add ... Peter Smith ...
...
ID Description Author ...ICAO Code SearchAdd ...
Base Release...
User Interface Changes...
...
CR Specs …
Change Request Management
Change Requests
…
CR Specs Procurement
CR Specs Travel
ICAO Code Search
…
This is an example how the information structure of change requests can be implemented in a modern requirements tool in order to manage requirements efficiently.
1 March 2016 Copyright © 2016, Software.Process.Management
Complex RM can hardly be accomplished without suitable tool support.Effective RM tool solutions must be customized by implementing appropriate requirements structures in the tool.
Structuring Collections of RequirementsExample: Volere Template
21
Source: S. Robertson and J. Robertson, Mastering the requirements process: Getting requirements right, vol. 3rd Ed. Upper Saddle River, NJ: Addison-Wesley, 2012.
Project Drivers1. The Purpose of the Project2. The StakeholdersProject Constraints3. Mandated Constraints4. Naming Conventions and
Terminology5. Relevant Facts and AssumptionsFunctional Requirements6. The Scope of the Work7. Business Data Model & Data
Dictionary8. The Scope of the Product9. Functional Requirements
Non-functional Requirements10.Look and Feel Requirements11.Usability and Humanity
Requirements12.Performance Requirements13.Operational and Environmental
Requirements14.Maintainability and Support
Requirements15.Security Requirements16.Cultural and Political
Requirements17.Legal Requirements
Project Issues18.Open Issues19.Off-the-Shelf Solutions20.New Problems21.Tasks22.Migration to the New Product23.Risks24.Costs25.User Documentation and
Training26.Waiting Room27.Ideas for Solutions
There exist very many suggested templates for structuring requirements specification documents.
1 March 2016 Copyright © 2016, Software.Process.Management
22
Structuring Collections of RequirementsExample: Simplified Specification Document
FunctionalRequirements
User Interface Requirements
System Overview
DataRequirements
System interface Requirements
Non-Functional Requirements Glossary
Project Context Requirements
This is another simple structure for organizing requirements specifications. It defines different sections of a specification.Within each section, requirements might be structured further. For instance, the “Functional Requirements” section can be broken down into functional feature groups of the system to be developed.
1 March 2016 Copyright © 2016, Software.Process.Management
Specification Document in RM Tool
23
Functional Requirements
Functional Area 3
Project
Objectives
System Overview
…
Scope & Context
Stakeholders
Facts & Assumptions
Constraints
Functional Area 1
Functional Area 2
ID Title Description Author ...Objective 1 ... ... ...
Objective 2
Objective 3
...
This example shows how a requirements specification can be implemented in a modern requirements tool.
1 March 2016 Copyright © 2016, Software.Process.Management
Marketing & System Requirements inContinuous Product Development
24
Actors / Roles
System Requirements
Marketing Requirements
The system shall …
The product / service shall provide …
Requirements Specification
The phone shall have a very high usage time.
Example Requirements (Smartphone)
3,300 mAh battery capacity: The systemshall have a battery capacity of …
Fast Charge 5.3: The system shall have a charging circuit of type …
ProductManagement
SystemArchitect
Continuous product development calls for multi-layer requirements structures that serve different target groups. They should apply to many releases, generations, and variants of a product family.This example shows two layers for product management and for system architects.
1 March 2016 Copyright © 2016, Software.Process.Management
Product Requirements in RM Tool
25
Product
Product Generation 1
Marketing Requirements
Product Generation 2
Product Generation 3
Functional Area 2
Functional Area 1
…
Functional Area 3
System Requirements
…
ID Title Description Author ...Usage Time The phone ... Kate Brown ...
...
...
...
ID Title Description Author Release ...3.300 mAh .... The system ... Bob Wood 2.2 ...
Fast Charge ...
...
...
This example shows how two layers of requirements in continuous product development can be structured.
1 March 2016 Copyright © 2016, Software.Process.Management
Multi-Layer Requirements DefinitionsCase Study: Telecom Industry
26
System Requirements
Marketing Requirements
Component Requirements
Actors / Roles Requirements Catalog
ComponentArchitects
ProductManagement
SystemArchitect
The product / service shall provide …
The system shall …
The component shall …
Key Characteristics
§ Tool-based requirements management
§ Central repository with several 10K requirements and for several hundreds of users
§ Multi-stage requirements hierarchy from marketing requirements via system to component requirements
§ Requirements traces from product management to component development and testing
In large-scale industrial software and product development, requirements are being structured into three or more layers. Link structures express requirements breakdown across and within the layers.
1 March 2016 Copyright © 2016, Software.Process.Management
Source: A. Gürtler, S. Mattern, A. Birk, and G. Heller, “Pferdewechsel bei vollem Galopp: Toolwechsel und Weiterentwicklung des RE in einer großen, komplexen Plattformentwicklung,” presented at the REConf 2014, München, März-2014.
Catalog-Based Requirements ReuseCase Study: Telecom Industry
27
System Requirements
Marketing Requirements
Component Requirements
Actors / Roles Requirements Catalog
ComponentArchitects
ProductManagement
SystemArchitect
The product / service shall provide …
The system shall …
The component shall …
Requirements Product Family B
System Requirements
Component Requirements
Marketing Requirements
Requirements Product Family A
System Requirements
Component Requirements
Marketing Requirements
Propagate updates from catalog to project 3
Feed back requirements changes from project to catalog
(change request & approval)2
Reuse / share requirements from catalog to project1b
Reuse / share requirements from catalog to project1a
Rich requirements structures in continuous product development provide the basis for advanced reuse strategies. Reuse establishes additional structures on the requirements base.
1 March 2016 Copyright © 2016, Software.Process.Management
Source: A. Gürtler, S. Mattern, A. Birk, and G. Heller, “Pferdewechsel bei vollem Galopp: Toolwechsel und Weiterentwicklung des RE in einer großen, komplexen Plattformentwicklung,” presented at the REConf 2014, München, März-2014.
User Story Mapping (Patton)
28
Sophisticated requirements structures are not specific to tool-based requirements management.User story mapping (Patton, 2014) is an example that (1) hand-written requirements and tangible items like sticky notes provide value to requirements management, and that (2) smart structuring is key to effective requirements management. In this case, structure is expressed by position, labelling, and color of the requirements statements.
1 March 2016 Copyright © 2016, Software.Process.Management
Scaled Agile Framework SAFe® (Leffingwell)
29
The Scaled Agile Framework (SAFe®) illustrates that agile requirements management cannot stop at hand-written user stories, when it comes to really large and distributed development settings.
1 March 2016 Copyright © 2016, Software.Process.Management
Source: D. Leffingwell, “Scaled Agile Framework (SAFe)”, 2016. http://scaledagileframework.com/.SAFe® is a registered marks of Scaled Agile, Inc.
Landscapes of RM Structure
301 March 2016 Copyright © 2016, Software.Process.Management
Structure by Organizational Level & Phase
31
Organization Forms & Templates File Structures for Information & Artifact
Organization
Versioned DomainModels
Team Spontaneous Whiteboard Sketches
Specific Boards on Dedicated Locations
Team Workspace with Defined But Flexible Structure (e.g., Wiki)
Individual Informal Notes Uniform Personal Documentation Style
Personal Records,Files & Archives
(physical & electronic)
Time / Consolidation Phases of Information & Artifacts
This matrix presents some patterns of requirements structure for different organizational levels and for different phases of the requirements lifecycle.
1 March 2016 Copyright © 2016, Software.Process.Management
Structure in Different RM Contexts
32
Change-Request RM Project-Oriented RM Continuous Product RM ContextDimensions
CR ListTask List
Specification Document(Text or RM-Tool)
Template-Based Reuse
Two-/Three-Layer ModelCatalog-Based Reuse
Plan-Based
Requirements Base(RM-Tool)
Staged Product PlanningRequirements as Documentation
Hybrid
Kanban Board Scrum BoardUser Story Mapping SAFe®
Agile
Another way of looking on patterns of requirements structure relates them to different types of RM (horizontal axis) and to agile, plan-based (i.e., “non-agile”) and hybrid development (vertical axis).
1 March 2016 Copyright © 2016, Software.Process.Management
Summary
RM REQUIRES Structure
Current concepts & guidelines are not sufficient & partly misleading
Design structure intentionally
Use available patterns
Balance informal approaches & tool support
331 March 2016 Copyright © 2016, Software.Process.Management
Thank you!
Contact
Dr. Andreas Birk
[email protected], LinkedIn, Google+www.swpm.de
Blog & Resources: MakingOfSoftware.com
341 March 2016 Copyright © 2016, Software.Process.Management
Literature on Requirements Structure
35
Tony Gorschek and Claes Wohlin, "Requirements Abstraction Model", Requirements Engineering Journal, Vol. 11, No. 1, pp. 79-101, 2006.
Systematic exploration of multi-layer requirements structures
Olga Liskin: How Artifacts Support and Impede Requirements Communication, In Samuel Fricker and Kurt Schneider, Requirements Engineering: Foundation for Software Quality (REFSQ 2015), pages 132-147. Springer International Publishing, 2015.
Investigation on how document-related structures support requirements management, grounded on empirical study
International Requirements Engineering Board (IREB). IREB Certified Professional for Requirements Engineering -Requirements Management, Advanced Level, Version 1.0.1, Ausgabe vom 11.01.2016, https://www.ireb.org/en/downloads/
Collection of many structure-related techniques and practices important to requirements management
1 March 2016 Copyright © 2016, Software.Process.Management
Photo Credits Slides 2, 34 Andreas Birk
Slide 5 Creative Commons, http://creativecommons.org/licenses/by/2.0/deed.de© Mostly Dans"office”, https://www.flickr.com/photos/dannyboymalinga/5047947357/sizes/l
Slide 6 Creative Commons, http://creativecommons.org/licenses/by/2.0/deed.de© Ian.Kobylanski"Letters”, https://www.flickr.com/photos/iankobylanski/8608119554/
Slide 7 Creative Commons, http://creativecommons.org/licenses/by/2.0/deed.de© Erich Ferdinand"P3090661”, https://www.flickr.com/photos/erix/13099074294/
Slide 8 Creative Commons, http://creativecommons.org/licenses/by/2.0/deed.de© Metropolitan Transportation Authority of the State of New York"Weekend Work: April 25 - 28, 2014”, https://www.flickr.com/photos/mtaphotos/14049529972/
Slide 28 Creative Commons, http://creativecommons.org/licenses/by-nc/2.0/deed.de© Gerry Kirk"What do we need to build?”, https://www.flickr.com/photos/gkirk/11118087943/
Slide 30 Creative Commons, http://creativecommons.org/licenses/by/2.0/deed.de© Tom Hall"Surrounded by mountains”, https://www.flickr.com/photos/tom_hall_nz/15158418383/
1 March 2016 36Copyright © 2016, Software.Process.Management