Tyutyunnick Pavel ([email protected]), Stefan Puchner...

15
Tyutyunnick Pavel ([email protected] ), Stefan Puchner ( [email protected] ) Steklov Institute St. Petersburg, Technical University München JASS 2006 Advanced Topics in Software Engineering Rationale Management

Transcript of Tyutyunnick Pavel ([email protected]), Stefan Puchner...

Page 1: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

Tyutyunnick Pavel ([email protected]), Stefan Puchner ([email protected])

Steklov Institute St. Petersburg, Technical University München

JASS 2006

Advanced Topics in Software Engineering

Rationale Management

Page 2: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

2 JASS 2006 (02.-12.04.2006) - Rationale Management

Motivation

Example:

Slicing Ham

Page 3: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

3 JASS 2006 (02.-12.04.2006) - Rationale Management

What is Rationale Management?

• RationaleJustification for decisions

• Rationale ManagementCapture and organize rationales in

• Problem• Possible solutions• Arguments• Criteria• Decision

• Other models tell how – rationale tells why

Page 4: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

4 JASS 2006 (02.-12.04.2006) - Rationale Management

Why Rationale Management? (I)

• Improves Decision making process:– Explicitly splits decision making process into its

elements (criteria, priorities, …)– Therefore enables more educated decisions

• Makes later changes easier and safer:– Captures knowledge that is not included elsewhere and

makes it reusable– Reminds developers of requirements that need to be

considered

Page 5: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

5 JASS 2006 (02.-12.04.2006) - Rationale Management

Why Rationale Management? (II)

• Helps new developers– Keeps the reasoning reproducible and comprehensible

for third persons– Explains why the model is as it is

• Problems– Big investment for gathering and maintaining additional

information– Rationale models get very large

Page 6: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

6 JASS 2006 (02.-12.04.2006) - Rationale Management

Transfer Question

Example:

Cookbook

Page 7: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

7 JASS 2006 (02.-12.04.2006) - Rationale Management

Elements of a rationale

• Issueunsolved question

• Proposalpossible solutions to issue

• Criterionqualities proposals should have

• Argumentdiscussion for/against proposalssupported by criteria

• Resolutionselected solution to issue

Page 8: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

8 JASS 2006 (02.-12.04.2006) - Rationale Management

Representation of rationales - example

storage?:Issue

database:Proposal

storage in database:Resolution

files:Proposal

which Database?:Issue

flexibility$:Criterion simplicity$:Criterion

extensibility-first:Argument

addressed by

resolves

addressed by

fails fails

meets meets

is supported by

is opposed by

raises

Page 9: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

9 JASS 2006 (02.-12.04.2006) - Rationale Management

Where can rationales be captured?

• Requirements analysisUseful for developing test cases

• System designLinks nonfunctional requirements to design goals (important if requirements change)

• Project managementDocuments alternatives and risks, can provide fallback solutions

• Integration and testingDetermine which decision created conflict

Page 10: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

10 JASS 2006 (02.-12.04.2006) - Rationale Management

Levels of rationale capture

• No explicit rationale captureRationale in E-mails, memos, memories …

• Rationale reconstructionCapture rationale afterwards / less detail

• Rationale captureRationale model besides other models

• Rationale integrationRationale is central model

Page 11: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

11 JASS 2006 (02.-12.04.2006) - Rationale Management

Capturing Rationale Activities

• MeetingsTake minutes, decompose into elements of rationales

• Electronic communicationIntegrate rationale model into groupware

• ChangesAdapt rationale model, new resolutions

• Reconstructing rationaleConstruction of rationale model based on memory and actual system model

Page 12: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

12 JASS 2006 (02.-12.04.2006) - Rationale Management

Managing rationale

Rationale management hardly used in industry– Additional effort– No direct connection between effort and benefit

subject for management

• Include rational model in development tools• Assign Responsibilities

– Minute taker– Rationale editor– Reviewer

Page 13: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

13 JASS 2006 (02.-12.04.2006) - Rationale Management

Summary

Capturing rationale model is– great effort but has– huge benefits

Goal:

Improvements in capturing and maintaining rationales to make rational management more common

Page 14: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

14 JASS 2006 (02.-12.04.2006) - Rationale Management

Conservative view & optimization

• The major goals of management• Traditional management models• Difference between models• Optimization examples• Rational management implementation

Rational models integration experience

Page 15: Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de)paul_3@list.rupuchner@in.tum.de Steklov Institute St. Petersburg, Technical University.

15 JASS 2006 (02.-12.04.2006) - Rationale Management

Questions ?

Source:

B. Bruegge & A. Dutoit.Object-Oriented Software Engineering(Second edition, International edition)

Pearson Prentice Hall, 2004.