JASS 2006 Advanced Topics in Software Engineering Rationale Management Tyutyunnick Pavel (paul_3@list.ru), Stefan Puchner (puchner@in.tum.de) Steklov Institute St. Petersburg, Technical University München Motivation Example: Slicing Ham JASS 2006 (02.-12.04.2006) - Rationale Management 2 What is Rationale Management? • Rationale Justification for decisions • Rationale Management Capture and organize rationales in • • • • • Problem Possible solutions Arguments Criteria Decision • Other models tell how – rationale tells why JASS 2006 (02.-12.04.2006) - Rationale Management 3 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 JASS 2006 (02.-12.04.2006) - Rationale Management 4 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 JASS 2006 (02.-12.04.2006) - Rationale Management 5 Transfer Question Example: Cookbook JASS 2006 (02.-12.04.2006) - Rationale Management 6 Elements of a rationale • Issue unsolved question • Proposal possible solutions to issue • Criterion qualities proposals should have • Argument discussion for/against proposals supported by criteria • Resolution selected solution to issue JASS 2006 (02.-12.04.2006) - Rationale Management 7 Representation of rationales - example storage in database: Resolution resolves storage?:Issue addressed by addressed by database:Proposal raises fails which Database?:Issue meets flexibility$:Criterion files:Proposal fails meets is opposed by simplicity$:Criterion is supported by extensibility-first :Argument JASS 2006 (02.-12.04.2006) - Rationale Management 8 Where can rationales be captured? • Requirements analysis Useful for developing test cases • System design Links nonfunctional requirements to design goals (important if requirements change) • Project management Documents alternatives and risks, can provide fallback solutions • Integration and testing Determine which decision created conflict JASS 2006 (02.-12.04.2006) - Rationale Management 9 Levels of rationale capture • No explicit rationale capture Rationale in E-mails, memos, memories … • Rationale reconstruction Capture rationale afterwards / less detail • Rationale capture Rationale model besides other models • Rationale integration Rationale is central model JASS 2006 (02.-12.04.2006) - Rationale Management 10 Capturing Rationale Activities • Meetings Take minutes, decompose into elements of rationales • Electronic communication Integrate rationale model into groupware • Changes Adapt rationale model, new resolutions • Reconstructing rationale Construction of rationale model based on memory and actual system model JASS 2006 (02.-12.04.2006) - Rationale Management 11 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 JASS 2006 (02.-12.04.2006) - Rationale Management 12 Summary Capturing rationale model is – great effort but has – huge benefits Goal: Improvements in capturing and maintaining rationales to make rational management more common JASS 2006 (02.-12.04.2006) - Rationale Management 13 Conservative view & optimization • • • • • The major goals of management Traditional management models Difference between models Optimization examples Rational management implementation Rational models integration experience JASS 2006 (02.-12.04.2006) - Rationale Management 14 Questions ? Source: B. Bruegge & A. Dutoit. Object-Oriented Software Engineering (Second edition, International edition) Pearson Prentice Hall, 2004. JASS 2006 (02.-12.04.2006) - Rationale Management 15