TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in...

47
Slajd 1 TRACEABILITY TAMING UNCONTROLLED CHANGE IN SOFTWARE DEVELOPMENT Dawid Weiss Poznań University of Technology [email protected]

Transcript of TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in...

Page 1: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 1

TRACEABILITYTAMING UNCONTROLLED CHANGE

IN SOFTWARE DEVELOPMENT

Dawid WeissPoznań University of Technology

[email protected]

Page 2: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 2

The roadmap• Software development problems

• Meet the Superproject• The eternal (well, quite) enemy: change

• Dodging the problem• Change management processes• Integrated tools

• Facing the problem: Traceability• Project meta data• Use of meta data• Any tool support? Yes, Ophelia!• Metadata overuse analysis

• Summary

Presentation outline.

Page 3: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 3

Meet the Superproject

Almost every software project goes through these phases of development. We have two axes

here: vertical, which could be representing effort put into the project, number of people

involved in it, or the usual time flow and horizontal, which could be, among others,

representing complexity of management of such project.

Page 4: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 4

Meet the Superproject

Executiveleadership

Project management

Developmentteam

INDIVIDUAL PROJECT MEMBERS

People have very different point of view on the project and they tend to see different things.

Page 5: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 5

Software development problems(in large, distributed projects)

• Sneaking complexity

Beautiful and simple ideas tend to get complicated…

Page 6: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 6

Software development problems(in large, distributed projects)

• Communication disorder

Communication difficulties may arise as a result of physical distance, different languages

or…

Page 7: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 7

Software development problems(in large, distributed projects)

… simply because people are not willing to talk to each other.

Page 8: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 8

Software development problems(in large, distributed projects)

• Vanishing responsibility

Staff rotation or focusing only on one’s responsibility takes off the blame (really?)

Page 9: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 9

Software development problems(in large, distributed projects)

• Short- sightedness syndrome

People are not aware of the role their work plays in the overall effect. They don’t realize which

components of the system depend on their part.

Page 10: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 10

The eternal enemy: CHANGE• Sources of change

• External• Volatile customer requirements• Bug reports• Unpredictable obstacles (hardware problems,

proprietary interfaces, shrinking budget…)• Internal

• Refactoring (if something works… don’t change it)• Change of development libraries, technology etc.• Project expansion (iterative development)

Change doesn’t have to be an enemy… but in most cases it is ☺ Refer to Kent Beck’s eXtreme

Programming book

Page 11: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 11

Effects of uncontrolled change

change

FRUSTRATION

SCHEDULE

BUDGET

People’s frustration is the most severe of uncontrolled change’s results.

Page 12: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 12

QUESTION

HOW TO SUPPORT ORGANIZATIONSIN AVOIDING PROBLEMS WITH

CHANGE MANAGEMENT?

Page 13: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 13

The roadmap• Software development problems

• Meet the Superproject• The eternal (well, quite) enemy: change

• Dodging the problem• Change management processes• Integrated tools

• Facing the problem: Traceability• Project meta data• Use of meta data• Any tool support? Yes, Ophelia!• Metadata overuse analysis

• Summary

Presentation outline.

Page 14: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 14

Change management processes• Paper-driven change management processes

• Pros:• Assigning responsibility to employees• Each change is well documented

• Cons:• Information overload (each change is well

documented)• Amplifies short- sightedness (write- mode employees).

Page 15: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 15

Change management processes• Agile processes (eXtreme Programming and such)

• Kent Beck’s „Embrace change”• Code sharing, rotation of developers, pair

programming, self- explanatory code, frequent unit testing and integrations, refactoring

• Pros:• People have excellent knowledge about the system

(short- sightedness)• Code base usually easily modifiable

• Cons:• Difficult to apply to large projects, lack of any

documentation apart from the code may become an issue.

Page 16: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 16

Integrated tools• Examples

• Rational XDE• Eclipse (not quite, but maybe)

• Pros:• Automatic or semi-automatic support for change

management activities• Mostly requirements-to-code oriented (vertical)• Usually shipped together with well established

processes (i.e. RUP)• Cons

• Expensive• Vertical tracking of change/ relationships

Page 17: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 17

QUESTION

Are there any other alternatives?

Page 18: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 18

The roadmap• Software development problems

• Meet the Superproject• The eternal (well, quite) enemy: change

• Dodging the problem• Change management processes• Integrated tools

• Facing the problem: Traceability• Project meta data• Use of meta data• Any tool support? Yes, Ophelia!• Metadata overuse analysis

• Summary

Presentation outline.

Page 19: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 19

Vertical project tracking

Page 20: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 20

Vertical project tracking

USUALRELATIONSHIPS

TRACKING

In most cases, tracking relationships is done from requirements to other artifacts…

Page 21: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 21

Project meta-data• In any project, there are many more

relationships than just those derived fromrequirements.

• Examples:• Bugs to code• Documentation to code• Code to documentation• Module/ component dependencies (design)• …

Page 22: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 22

Traceability: project meta-data revealed

Relationshipstracking

Traceability is a meta-layer of information, which is present in any project, but not always

shown explicitly.

Page 23: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 23

Traceability: project meta-data revealed

Relationshipstracking

Project artifacts (uniform view)

It is much more convenient if artifacts in the project are represented as uniform elements (no

matter where they reside, or what tool was used to create them)

Page 24: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 24

Benefits of having meta-data• Tracing the graph of relationships (get the BIG

picture)• Change impact browsing & estimation• Complex metrics, involving all software and non-

software factors (i.e. is number of words indocumentation correlated with the source code? What isthe average number of project components«documentation, bug fixes, release notes, etc» affectedby a single change in requirements?)

Page 25: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 25

Benefits of having meta-data• Change notifications

• Propagated along relationships in meta-data• Ability to build automatic synchronization tools

(design : code?)• Rule-based workflow process definition on top of

traceability layer?• For instance: a change in a class must result in a new

version of its documentation

Page 26: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 26

Benefits of having meta-data• Basic information about any element of the project• No need to install all software required to open a

given artifact

Page 27: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 27

Potential problems with meta-data• Meta-data must be itself maintained and may

become an overhead instead of help• Be aware of the saturation point

Page 28: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 28

[source: M. Smith, R. Dewar, 2002]

Page 29: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 29

Wait, if traceability is so great,why is it not present in the development tools?!

Page 30: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 30

• Widespread proprietary tools & formats arehard to integrate

• Limited support from tool vendors• Emerging integrated environments are

closed to extensions, usually sold from one company (Rational), or have not yet reacheda decent level of maturity (Eclipse)

• No formal processes of using project meta-data exist

Page 31: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 31

So…

Is traceability-enabled environment ever goingto be built?

Page 32: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 32

• A uniform interface to all development tools involved ina project development must be available

• OpenSource movement has been very active and the onlything several already available tools need is bringing themtogether

• Several attempts already available:• Eclipse• Genesis (EU funded)• Ophelia (EU funded)

Page 33: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 33

Introducing Ophelia

Open Platform and Methodologies forDevelopment Tools Integrationin a Distributed Environment

http://www.opheliadev.org

http://ophelia.cs.put.poznan.pl

Page 34: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 34

What is Ophelia?• Ophelia defines a set of standard interfaces for

accessing types of tools used in a software project:• Bug tracking• Project management• Documentation management• Code repository• Etc.

• Ophelia also specifies common, abstract services:• Traceability (notifications, relationships)• Knowledge (unified access to project artifacts)

Page 35: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 35

Page 36: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 36

Page 37: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 37

What is Orpheus?• Orpheus is a pilot implementation of Ophelia

interfaces• Supports Open-source and proprietary tools

• Microsoft Project• Bugzilla• ArgoUML• …

• Alpha release has initial support for traceability andintegrators

Page 38: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 38

Orpheus in action – ArgoUML to Modelling Module

Page 39: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 39

This is an AVI movie showing Orpheus in action.

Page 40: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 40

Orpheus in action – Integrator Modelling – Schedule

Page 41: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 41

This is an AVI movie showing Orpheus in action.

Page 42: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 42

Orpheus in action – DRE – requirements server

Page 43: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 43

This is an AVI movie showing Orpheus in action.

xDRE is an open-source free requirements management tool, see demo at

http://ophelia.cs.put.poznan.pl/xdre

or write to

[email protected] for further info

Page 44: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 44

Orpheus in action – Traceability

Page 45: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 45

This is an AVI movie showing Orpheus in action.

Page 46: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 46

Summary• Traceability is a project-wide, unified view on

all software and non-sofware elements of theproject

• Traceability allows creation and browsing of relationships among those elements

• Traceability provides some high levelservices, not available otherwise, such as change propagation, notifications or metrics

• There are tools being developed to supporttraceability entirely, or in parts

Page 47: TRACEABILITY - Poznań University of Technology€¦ · Slajd 5 Software development problems (in large, distributed projects) • Sneaking complexity Beautiful and simple ideas tend

Slajd 47

Thank you

Questions?

Further questions, please e-mail to:[email protected]