Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to Best Practices
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,300 views

 

Statistics

Views

Total Views
1,300
Views on SlideShare
971
Embed Views
329

Actions

Likes
0
Downloads
13
Comments
0

3 Embeds 329

http://at2011.agiletour.org 325
http://at2012.agiletour.org 3
http://webcache.googleusercontent.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Agile ModelingFrom Anti-Patterns to Best Practices Agile Tour Vilnius, 6 October 2011 1
  • 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
  • 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
  • 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 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
  • 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
  • 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
  • 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
  • Top 5 Anti-Patterns1. Code abstraction level2. Too complex diagrams3. Misuse of UML concepts4. No reuse of model elements5. Mixed modeling styles 9
  • Anti-Pattern #1: Code Abstraction Level 10
  • Issues Duplicating information available in code Dependence on technical platform Complex and difficult to read diagrams 11
  • 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 ( 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
  • 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 as simple as possible, but not simpler. Albert Einstein 18
  • Best Practice #2 Use several levels of detail www.implementingscrum.com 19
  • 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 26
  • 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 32
  • 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 on UML subset4. Integrate architecture views5. Follow modeling conventions 43
  • 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
  • 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
  • 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