panel on icsea/req&dev€¦ · icsea/req&dev validating products versus requirements;...

45
Michael Gebhart Panel on ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps

Upload: others

Post on 29-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Michael Gebhart

Panel on ICSEA/Req&Dev

Validating Products versus Requirements; Dis(covering) the Gaps

Page 2: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

©it

erat

ec

Our Panelists

Jon GeaterThales e-Security-Ltd., UK

24

.08

.20

16

2

Heidar PirzadehSAP SE, Canada

Radek KociBrno University ofTechnology, Czech

Republic

Luis Fernandez SanzUniversidad de Alcalá,

Spain

Mira Kajko-MattssonKTH Royal Institute ofTechnology, Sweden

Security Requirements

RequirementsCompleteness

Modeling Requirements

Human andOrganizational

Factors

Distributed Development, Roles, Tools,

Methods

Page 3: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Human and organizational factors:impact on software quality

Panel: Validating Products versus Requirements; Dis(covering) theGaps

Luis Fernández-Sanz, Universidad de Alcalá, Spain

[email protected]

http://www.iceberg-sqa.eu

ICSEA 2016, August 21 - 25, 2016 - Rome, Italy

This work has been partially funded by European Commissionfor project ICEBERG no. 324356 (7h Framework ProgrammeIAPP Marie Curie program).

Page 4: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Human and organizational factors

• Software projects are a social activity

• Addressed up to some extent in software engineering research,less than technical topics: e.g. project estimation

• Connection to software quality: neglected in research

• Open to real practice and lack of data

• Different research methods, qualitative and quantitative

• Multidisciplinarity and exploring hybrid fields not understood bytraditional researchers

ICSEA 2016, August 21 - 25, 2016 - Rome, Italy

Page 5: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Example

• Work in software testing:

• How training impact effectiveness of test case design, 71 professionals

• Less training, more duplicated/useless cases

• Unsystematic design (<50% coverage)

• Only 30-35% of software professionals trained in testing (3 surveys)

Page 6: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Example in requirements: analyzingmulticultural teamwork

• Effects of teamwork in requirements analysis, real case for experiment

• Discovering reqs thru answers to questions (368 people, 6 countries)

• Individually and then looking for team consensus

• Analysis of results: promotion of teamwork spirit

• But, analyzing results of multinational settings (Hofstede’s indicators)

• Yes, attitude’s trends match with Hofstede’s numbers

• Higher IDV (individualism), poorer teamwork results

• Higher UAI (uncertainty avoidance), better reqs. analysis results

Page 7: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Mira Kajko-MattssonKTH Royal Institute of Technology

Sweden

Validating Products vs Reqs

Page 8: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Software testing phases

Unittesting

Integrationtesting

Systemtesting

Acceptancetesting

Developer

Integrator

Systemtester Acceptance

tester

Agile mainlyconcentrates ondeveloper’s continuousintegration andacceptance testing

Page 9: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Agile Software Development Lifecycle,variant 1

DefineRequirements

Design Implement Deliver

Project

Iteration Iteration Iteration...

IterationPreparation

IterationCompletion

DailyStatus

Development

Page 10: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Challenges

Humans Supporting tools Developers’ process

Page 11: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Status within one company

Page 12: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Traceability should be better supportedby the tools

RequirementsSpecification…………….……………

DesignSpecification…………….……………

Software Code

…………….……………

Software CodeDocumentation

…………….……………

UserManual

…………….……………

Regression TestCase

Specification

………………

TestCase

Specification

…………….……………

Regression TestCase

Specification

………………

TestCase

Specification

…………….……………

Regression TestCase

Specification

………………

TestCase

Specification

…………….……………

Can be traced in

Page 13: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Developer’s individual process should beimproved

Unit testing is the heart of agile methods

No modification or refactoring of code is complete until100% of unit tests have run successfully.

No story is complete until all its acceptance tests havepassed successfully.

Is this enough?

Page 14: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Methods

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

Managers wind up (clockwork)developers to follow themethods

Page 15: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Solution

Page 16: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Validating Products versusRequirements; Dis(covering) the Gaps

Heidar Pirzadeh

Page 17: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Developers misunderstand the requirements, makeimplementation mistakes, or the requirements changeduring or after development.

Validation Testing

Release Testing

Requirement Based Testing

Freeze Requirements During an Increment

Gap in Implementation

Page 18: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Requirements are incomplete or incorrect

Lots of space for interpretation

Partial market research

Literal translations of customer needs

Outdated

Gap in Requirements

Page 19: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Processes for gathering requirements (as an initial step ofproblem solving) might not work depending of thecomplexity of the problem.

Simple Problems

Complicated Problems

Complex Problems [1]

Wicked [2] or Chaotic Problems [3]

Gap in Identification of Complexity

Page 20: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh
Page 21: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

1. C. F. Kurtz and D. J. Snowden. 2003. The new dynamics of strategy: Sense-making in a complexand complicated world. IBM Syst. J. 42, 3 (July 2003), 462-483.DOI=http://dx.doi.org/10.1147/sj.423.0462

2. Rittel, H.W. and Webber, M.M., 1973. Dilemmas in a general theory of planning. Policysciences, 4(2), pp.155-169.

3. Lorenz, E.N., 1963. Deterministic nonperiodic flow. Journal of the atmospheric sciences, 20(2),pp.130-141.

References

Page 22: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

www.thales-esecurity.comOPEN

Panel discussion:Mind the gap!

Validating Products versusRequirements; Dis(covering) the Gaps

Page 23: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

2This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The problem with defining requirements

Wikimedia commons / Markus Kuhn

The problem with

defining requirements

Page 24: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

3This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The problem with defining requirements

Page 25: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

4This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The problem with defining requirements

Page 26: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

5This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The problem with defining requirements

Page 27: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

6This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The problem with defining requirements

Page 28: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

7This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

Unintended consequences

Wikimedia commons / Markus Kuhn

Unintended consequences

Page 29: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

8This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

Unintended consequences

Wikimedia commons / Markus Kuhn

Page 30: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

9This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The search for perfection

Wikimedia commons / Markus Kuhn

The search for perfection

Page 31: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

10This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The search for perfection

“The perfect is the enemy of the good”

Page 32: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

11This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The search for perfection

Wikimedia commons / Markus Kuhn

“Striving to better, oft we mar what's well.” - Shakespeare

“The best is the enemy of the good.” - Voltaire

"Better a diamond with a flaw than a pebble without.” -Confucius

Page 33: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

12This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The commercial ‘creative process’

Wikimedia commons / Markus Kuhn

The commercial ‘creative process’

Page 34: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

13This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The commercial ‘creative process’

Wikimedia commons / Markus Kuhn

Page 35: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

14This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

The commercial ‘creative process’

Wikimedia commons / Markus Kuhn

Page 36: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

15This document may not be reproduced, modified , adapted, published, translated, in any way , in whole or in part or disclosed to a third party without prior written consent of Thales - Thales © 2016 All rights reserved.

OPEN

How can we possibly win?

Wikimedia commons / Markus KuhnHow can we possibly win?

Page 37: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Can models implement software

requirements?

Radek Kocı

Brno University of Technology, Faculty of Information Technology

Czech Republic

[email protected]

ICSEA 2016, 21.-25.8.2016, Roma, Italy

Page 38: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Topic

Questions on modeling and implementation (maybe) ofsoftware functional requirements using formal methods.

Can models implement software requirements? 2 / 9

Page 39: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Questions on the Requirements Specification

How to specify functional requirements?

• unrestricted natural language

• structured natural language

• predefined statement templates

• semi-formal specification language (ERD, DFD, UML, . . . )

What the requirements specification has to meet?

• it has to be readable and understandable for users

• the requirements has to be specified exactly (?)

• the specification has to be valid (how to do it?)

Can models implement software requirements? 3 / 9

Page 40: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Valid Specification?

How to validate the requirements specification?

• inspections and reviews, evaluation at review meetings, . . .

• an animation of specifications⇒ the need of executable form of the specification,e.g., Petri nets, state machines, Executable UML, . . .

• requirements verification through formal methods⇒ the need of the formal specification,e.g., Petri nets, temporal logic, . . .

Formal methods

• provide higher precision and richer forms of analysis

• (but) are usually harder to use and less widely applicable

Can models implement software requirements? 4 / 9

Page 41: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Executable/Formal Models?

Does the model adequately reflect the original specification orthe developed system?

• how to create valid formal models from the specification?

• is it possible to specify requirements using formal modelsdirectly? (but it has to be still readable andunderstandable for users)

• is it possible to develop the system using models?

Can models implement software requirements? 5 / 9

Page 42: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Answers (?)

How to create valid formal models from the specification?

• it is difficult

• model transformations are too complicated

Is it possible to specify requirements using formal modelsdirectly?

• yes

• formalisms with clear syntax and semantics

• these formalisms have to be usable by developers havingno power mathematical backgroud, e.g., some kinds ofPetri nets

⇒ it is possible use simulation or formal methods to verifyspecifications

⇒ it is possible to validate the requirements immediately theyare specified

Can models implement software requirements? 6 / 9

Page 43: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Answers (?)

Is it possible to develop the system using models?

• yes (partially)

• it is needed to combine specification models with otherones including programming language ⇒ the code is partof models ⇒ models implement requirements

• for instance, use cases, Petri nets, DEVS, Smalltalk, Java, . . .

• it can be a problem for time-critical systems, thetransformation or final implementation would be needed

Can models implement software requirements? 7 / 9

Page 44: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

Answers (?)

Tool support needed

• Renew (Hamburg): a combination of Petri nets and Java

• PNtalk (Brno): a combination of Petri nets, DEVS formalism,and Smalltalk (so far the experimental version only, the newrelease is awaited this year)

• both concepts are able to run Petri nets on embeddedsystem as a control software

Can models implement software requirements? 8 / 9

Page 45: Panel on ICSEA/Req&Dev€¦ · ICSEA/Req&Dev Validating Products versus Requirements; Dis(covering) the Gaps. c OurPanelists Jon Geater Thales e-Security-Ltd., UK 16 2 Heidar Pirzadeh

[plain]

Thank you for your attention!