Agile ModelingFrom Anti-Patterns to Best Practices               Agile Tour Vilnius, 6 October 2011                       ...
About MagicDraw>   A popular UML-based modeling tool developed in Lithuania>   Available since 1998>   Over 500.000 downlo...
About Speakers               Darius Šilingas,                  Rokas Bartkevičius,               Head of Solutions        ...
Agenda   UML vs. Agile   Anti-Patterns vs. Best Practices   Wrap-up                                       4
About UML UML is widely acknowledged as de  facto standard for software modeling UML does not specify a method, just  th...
Agile ManifestoWe are uncovering better ways of developing software by doing it and helping others do it. Through this wor...
Modeling May Help • It’s not about communication, it’s about the way   how you communicate                                ...
Agile and UML: Friends or Foes?Agile practitioners tend to not use modeling and UML    They focus on coding    Quite oft...
Top 5 Anti-Patterns1. Code abstraction level2. Too complex diagrams3. Misuse of UML concepts4. No reuse of model elements5...
Anti-Pattern #1: Code Abstraction Level                                          10
Issues  Duplicating information available in code  Dependence on technical platform  Complex and difficult to read diag...
Best Practice #1   Raise level of abstraction                                 12
Anti-Pattern #1: Code Abstraction Level                                          13
Refactoring #1                 14
Encapsulate Technical Platform Details in Transformation                                    CREATE TABLE Test (           ...
Anti-Pattern #2: Too Complex Diagrams                                        16
~450 Actions~950 Control Flows                  17                 17
Issues  Difficult to read and understand  Hides incompleteness issues  Difficult to maintain Everything should be made ...
Best Practice #2   Use several levels of detail                                   www.implementingscrum.com              ...
Anti-Pattern #2: Too Complex Diagrams                                        20
Refactoring #2: Overview                           21
Refactoring #2: MagicTest                            22
Refactoring #2: MagicTest Q & A                                  23
Refactoring #2: MagicUniversity                                  24
Anti-Pattern #3: Misuse of UML Concepts                                          25
Issues  Inconsistency in modeling conventions  Ambiguous understanding  Redundant stereotyping                         ...
Best Practice #3   Apply consistent modeling method    based on UML subset                                       27
Anti-Pattern #3: Misuse of UML Concepts                                          28
Refactoring #3: Main Use Cases                                 29
Refactoring #3: Actions in the Workflow                                          30
Anti-Pattern #4: No Reuse of Model Elements                                              31
Issues  Duplicated/redundant information in   separate architecture views  Difficult to maintain consistent model       ...
Best Practice #4   Integrate architecture views                                   33
Anti-Pattern #4: No Reuse of Model Elements                                              34
Refactoring #4: Structural View                                  35
Refactoring #4: Implementation View                                      36
Refactoring #4: Behavioral View                                  37
Anti-Pattern #5: Mixed Modeling Styles                                         38
Issues  Difficult to read and understand                                      39
Best Practice #5   Establish modeling conventions                                     40
Anti-Pattern #5: Mixed Modeling Styles                                         41
Refactoring #5                 42
Top 5 Best Practices1. Raise level of abstraction2. Use several levels of detail3. Apply consistent modeling method based ...
How to Establish Agile Modeling Culture?   Define your modeling solution     – Subset of UML     – Consistent modeling me...
Suggested Readings           A whitepaper Efficient UML from Anti-            Patterns to Best Practices is scheduled for...
Thank You for Attention!Let’s keep in touch:Rokas Bartkevičiuse-mail: rokas.bartkevicius@nomagic.comSkype: rokas.bartkevic...
Upcoming SlideShare
Loading in …5
×

Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to Best Practices

1,650 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,650
On SlideShare
0
From Embeds
0
Number of Embeds
383
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to Best Practices

  1. 1. Agile ModelingFrom Anti-Patterns to Best Practices Agile Tour Vilnius, 6 October 2011 1
  2. 2. About MagicDraw> A popular UML-based modeling tool developed in Lithuania> Available since 1998> Over 500.000 downloads in 90 countries> Standard-compliant and highly customizable platform> MagicDraw R&D teams uses a lot of Agile practices More info: www.magicdraw.comAwards Jolt Jolt Best Java Best Team Best Java Development Productivity Productivity Modeling Database Tool Tool Winner Winner Tool 2
  3. 3. About Speakers Darius Šilingas, Rokas Bartkevičius, Head of Solutions Solution Architect Department @ No Magic Europe @ No Magic Europe > 7 years modeling consultancy > training and consultation sessions done in close to 100 organizations from 20 countries 3
  4. 4. Agenda  UML vs. Agile  Anti-Patterns vs. Best Practices  Wrap-up 4
  5. 5. About UML UML is widely acknowledged as de facto standard for software modeling UML does not specify a method, just the modeling language elements UML receives a lot of criticism for being too complicated and difficult to apply A typical modeler needs ~20% of UML applied with a well-defined method 5
  6. 6. Agile ManifestoWe are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more. 6
  7. 7. Modeling May Help • It’s not about communication, it’s about the way how you communicate • Model could help • Picture is worth 1000 words 7
  8. 8. Agile and UML: Friends or Foes?Agile practitioners tend to not use modeling and UML  They focus on coding  Quite often, a big picture is lostOur experience shows that code is not enoughModeling is still a valuable tool in agile organizations for capturing domain concepts and processes, system requirements and high level designsFrom our consulting experience, we conclude that a bad name for UML results from common bad practices 8
  9. 9. Top 5 Anti-Patterns1. Code abstraction level2. Too complex diagrams3. Misuse of UML concepts4. No reuse of model elements5. Mixed modeling styles 9
  10. 10. Anti-Pattern #1: Code Abstraction Level 10
  11. 11. Issues Duplicating information available in code Dependence on technical platform Complex and difficult to read diagrams 11
  12. 12. Best Practice #1 Raise level of abstraction 12
  13. 13. Anti-Pattern #1: Code Abstraction Level 13
  14. 14. Refactoring #1 14
  15. 15. Encapsulate Technical Platform Details in Transformation CREATE TABLE Test ( title varchar (255) NOT NULL, instructions varchar (255) NOT NULL, id integer PRIMARY KEY, fk_Class integer NOT NULL, fk_Teacher integer NOT NULL, FOREIGN KEY(fk_Class) REFERENCES Class (id), FOREIGN KEY(fk_Teacher) REFERENCES Teacher (id)); CREATE TABLE Question ( description varchar (255) NOT NULL, id integer PRIMARY KEY ...); CREATE TABLE QuestionTest ( fk_Question integer, Transformation Template (VTL) fk_Test integer, ... ); 15
  16. 16. Anti-Pattern #2: Too Complex Diagrams 16
  17. 17. ~450 Actions~950 Control Flows 17 17
  18. 18. Issues Difficult to read and understand Hides incompleteness issues Difficult to maintain Everything should be made as simple as possible, but not simpler. Albert Einstein 18
  19. 19. Best Practice #2 Use several levels of detail www.implementingscrum.com 19
  20. 20. Anti-Pattern #2: Too Complex Diagrams 20
  21. 21. Refactoring #2: Overview 21
  22. 22. Refactoring #2: MagicTest 22
  23. 23. Refactoring #2: MagicTest Q & A 23
  24. 24. Refactoring #2: MagicUniversity 24
  25. 25. Anti-Pattern #3: Misuse of UML Concepts 25
  26. 26. Issues Inconsistency in modeling conventions Ambiguous understanding Redundant stereotyping 26
  27. 27. Best Practice #3 Apply consistent modeling method based on UML subset 27
  28. 28. Anti-Pattern #3: Misuse of UML Concepts 28
  29. 29. Refactoring #3: Main Use Cases 29
  30. 30. Refactoring #3: Actions in the Workflow 30
  31. 31. Anti-Pattern #4: No Reuse of Model Elements 31
  32. 32. Issues Duplicated/redundant information in separate architecture views Difficult to maintain consistent model 32
  33. 33. Best Practice #4 Integrate architecture views 33
  34. 34. Anti-Pattern #4: No Reuse of Model Elements 34
  35. 35. Refactoring #4: Structural View 35
  36. 36. Refactoring #4: Implementation View 36
  37. 37. Refactoring #4: Behavioral View 37
  38. 38. Anti-Pattern #5: Mixed Modeling Styles 38
  39. 39. Issues Difficult to read and understand 39
  40. 40. Best Practice #5 Establish modeling conventions 40
  41. 41. Anti-Pattern #5: Mixed Modeling Styles 41
  42. 42. Refactoring #5 42
  43. 43. Top 5 Best Practices1. Raise level of abstraction2. Use several levels of detail3. Apply consistent modeling method based on UML subset4. Integrate architecture views5. Follow modeling conventions 43
  44. 44. How to Establish Agile Modeling Culture?  Define your modeling solution – Subset of UML – Consistent modeling method – Simple modeling environment  Identify modeling champions  Apply Agile programming practices in modeling  Share anti-patterns and best practices  Adopt modeling incrementally 44
  45. 45. Suggested Readings  A whitepaper Efficient UML from Anti- Patterns to Best Practices is scheduled for December 15  Refactoring BPMN Models: from Bad Smells to Best Practices and Process Patterns in BPMN 2.0 Handbook  Agile Modeling  Elements of UML 2.0 Style 45
  46. 46. Thank You for Attention!Let’s keep in touch:Rokas Bartkevičiuse-mail: rokas.bartkevicius@nomagic.comSkype: rokas.bartkevicius http://lt.linkedin.com/in/rokasbartkeviciusDarius Šilingase-mail: darius.silingas@nomagic.comSkype: darius.silingas http://lt.linkedin.com/in/dariussilingas 46

×