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

  • 1,029 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,029
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Agile ModelingFrom Anti-Patterns to Best Practices Agile Tour Vilnius, 6 October 2011 1
  • 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. 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. Agenda  UML vs. Agile  Anti-Patterns vs. Best Practices  Wrap-up 4
  • 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. 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. 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. 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. Top 5 Anti-Patterns1. Code abstraction level2. Too complex diagrams3. Misuse of UML concepts4. No reuse of model elements5. Mixed modeling styles 9
  • 10. Anti-Pattern #1: Code Abstraction Level 10
  • 11. Issues Duplicating information available in code Dependence on technical platform Complex and difficult to read diagrams 11
  • 12. Best Practice #1 Raise level of abstraction 12
  • 13. Anti-Pattern #1: Code Abstraction Level 13
  • 14. Refactoring #1 14
  • 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. Anti-Pattern #2: Too Complex Diagrams 16
  • 17. ~450 Actions~950 Control Flows 17 17
  • 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. Best Practice #2 Use several levels of detail www.implementingscrum.com 19
  • 20. Anti-Pattern #2: Too Complex Diagrams 20
  • 21. Refactoring #2: Overview 21
  • 22. Refactoring #2: MagicTest 22
  • 23. Refactoring #2: MagicTest Q & A 23
  • 24. Refactoring #2: MagicUniversity 24
  • 25. Anti-Pattern #3: Misuse of UML Concepts 25
  • 26. Issues Inconsistency in modeling conventions Ambiguous understanding Redundant stereotyping 26
  • 27. Best Practice #3 Apply consistent modeling method based on UML subset 27
  • 28. Anti-Pattern #3: Misuse of UML Concepts 28
  • 29. Refactoring #3: Main Use Cases 29
  • 30. Refactoring #3: Actions in the Workflow 30
  • 31. Anti-Pattern #4: No Reuse of Model Elements 31
  • 32. Issues Duplicated/redundant information in separate architecture views Difficult to maintain consistent model 32
  • 33. Best Practice #4 Integrate architecture views 33
  • 34. Anti-Pattern #4: No Reuse of Model Elements 34
  • 35. Refactoring #4: Structural View 35
  • 36. Refactoring #4: Implementation View 36
  • 37. Refactoring #4: Behavioral View 37
  • 38. Anti-Pattern #5: Mixed Modeling Styles 38
  • 39. Issues Difficult to read and understand 39
  • 40. Best Practice #5 Establish modeling conventions 40
  • 41. Anti-Pattern #5: Mixed Modeling Styles 41
  • 42. Refactoring #5 42
  • 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. 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. 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. 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