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

Upload: erick-day

Post on 21-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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.