SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Agile Modeling
From 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.com
Awards
      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 Manifesto

We 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 plan

That 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 lost


Our experience shows that code is not enough

Modeling is still a valuable tool in agile organizations for
 capturing domain concepts and processes, system
 requirements and high level designs

From our consulting experience, we conclude that a bad
  name for UML results from common bad practices

                                                               8
Top 5 Anti-Patterns

1. Code abstraction level
2. Too complex diagrams
3. Misuse of UML concepts
4. No reuse of model elements
5. 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 Practices


1. Raise level of abstraction
2. Use several levels of detail
3. Apply consistent modeling method based
   on UML subset
4. Integrate architecture views
5. 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čius
e-mail: rokas.bartkevicius@nomagic.com
Skype: rokas.bartkevicius
             http://lt.linkedin.com/in/rokasbartkevicius

Darius Šilingas
e-mail: darius.silingas@nomagic.com
Skype: darius.silingas
             http://lt.linkedin.com/in/dariussilingas




                                                           46

Contenu connexe

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

W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011
MDDAY11
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
cNguyn506241
 
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java UniverseJavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
FestGroup
 
The View - 30 proven Lotuscript tips
The View - 30 proven Lotuscript tipsThe View - 30 proven Lotuscript tips
The View - 30 proven Lotuscript tips
Bill Buchan
 
How to really obfuscate your pdf malware
How to really obfuscate   your pdf malwareHow to really obfuscate   your pdf malware
How to really obfuscate your pdf malware
zynamics GmbH
 

Similaire à Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to Best Practices (20)

CQRS recepies
CQRS recepiesCQRS recepies
CQRS recepies
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Rails Conf 2014 Concerns, Decorators, Presenters, Service-objects, Helpers, H...
Rails Conf 2014 Concerns, Decorators, Presenters, Service-objects, Helpers, H...Rails Conf 2014 Concerns, Decorators, Presenters, Service-objects, Helpers, H...
Rails Conf 2014 Concerns, Decorators, Presenters, Service-objects, Helpers, H...
 
Slides with notes from Ruby Conf 2014 on using simple techniques to create sl...
Slides with notes from Ruby Conf 2014 on using simple techniques to create sl...Slides with notes from Ruby Conf 2014 on using simple techniques to create sl...
Slides with notes from Ruby Conf 2014 on using simple techniques to create sl...
 
Lec18
Lec18Lec18
Lec18
 
Citibank
CitibankCitibank
Citibank
 
W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
 
Implementing Machine Learning in the Real World
Implementing Machine Learning in the Real WorldImplementing Machine Learning in the Real World
Implementing Machine Learning in the Real World
 
Software Test Patterns: Successes and Challenges
Software Test Patterns: Successes and ChallengesSoftware Test Patterns: Successes and Challenges
Software Test Patterns: Successes and Challenges
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
 
Dell Webinar 2014-06-24: Subqueries For Superheroes
Dell Webinar 2014-06-24: Subqueries For SuperheroesDell Webinar 2014-06-24: Subqueries For Superheroes
Dell Webinar 2014-06-24: Subqueries For Superheroes
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java UniverseJavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
 
Matlab for a computational PhD
Matlab for a computational PhDMatlab for a computational PhD
Matlab for a computational PhD
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
The View - 30 proven Lotuscript tips
The View - 30 proven Lotuscript tipsThe View - 30 proven Lotuscript tips
The View - 30 proven Lotuscript tips
 
How to really obfuscate your pdf malware
How to really obfuscate   your pdf malwareHow to really obfuscate   your pdf malware
How to really obfuscate your pdf malware
 

Plus de Agile Lietuva

Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Lietuva
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Lietuva
 

Plus de Agile Lietuva (20)

Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
Agile Pusryčiai 2023 - „Skaitmeninė transformacija viešajame sektoriuje: nuo ...
 
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
Agile Pusryčiai 2023 - „Kaip užsitikrinti projekto sėkmę dar iki projekto pra...
 
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
Agile pusryčiai 2023 - „Pirštas ant projekto pulso: CPO LT Agile patirtis ir ...
 
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
Agile Pusryčiai 2023 - „Viešasis sektorius – neatskleistas inovacijų paklauso...
 
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...
 
B. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean AgainB. den Haak. How to make OKRs Lean Again
B. den Haak. How to make OKRs Lean Again
 
D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.D. Aitcheson. How to make forecasts that are actually accurate.
D. Aitcheson. How to make forecasts that are actually accurate.
 
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečius
 
Maija Aniskovič. Agile įtaka komandos motyvacijai.
Maija Aniskovič. Agile  įtaka komandos motyvacijai.Maija Aniskovič. Agile  įtaka komandos motyvacijai.
Maija Aniskovič. Agile įtaka komandos motyvacijai.
 
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasdr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymas
 
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiM. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visi
 
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...
 
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasM. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijas
 
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...
 
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumV. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie Scrum
 
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsLeonard Vorobej. Agile projektų valdymas pradedantiesiems
Leonard Vorobej. Agile projektų valdymas pradedantiesiems
 
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme
 
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseGabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandose
 
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...
 
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuDenis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastu
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

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

  • 1. Agile Modeling From 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.com Awards 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 Manifesto We 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 plan That 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 lost Our experience shows that code is not enough Modeling is still a valuable tool in agile organizations for capturing domain concepts and processes, system requirements and high level designs From our consulting experience, we conclude that a bad name for UML results from common bad practices 8
  • 9. Top 5 Anti-Patterns 1. Code abstraction level 2. Too complex diagrams 3. Misuse of UML concepts 4. No reuse of model elements 5. 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
  • 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
  • 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
  • 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
  • 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
  • 43. Top 5 Best Practices 1. Raise level of abstraction 2. Use several levels of detail 3. Apply consistent modeling method based on UML subset 4. Integrate architecture views 5. 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čius e-mail: rokas.bartkevicius@nomagic.com Skype: rokas.bartkevicius http://lt.linkedin.com/in/rokasbartkevicius Darius Šilingas e-mail: darius.silingas@nomagic.com Skype: darius.silingas http://lt.linkedin.com/in/dariussilingas 46