Agile Modeling and UML – The Truth is You Already Do UML

Terry Quatrani, a Rational evangelist at IBM reminds us that Agile and modeling (UML) aren’t diametrically opposed. Actually they play very well together.

“I am following an Agile process so modeling is not important.”

A phrase that Terry hears often. Her response: “That is simply not true.” Her reasoning?

“Even if you are following an agile process, you will do some degree of modeling – you just won’t do it as much as you would if you were following a traditional process. Also, the degree of formality will probably be different… A lack of formality in Agile UML doesn’t mean that you’re not modeling – it just means that you’re likely focusing on getting the benefits of modeling without the drawbacks of extraneous documents.”

To Terry, no matter what type of process you follow, Agile or not, you still need to do some requirements of some sort. If you’re using an Agile process, your requirements are often captured in the form of customer tests and user stories.

“When you think about it, you’re modeling when you’re writing a customer test just like you’re modeling when you’re writing a use case.”

Her experience tells us that the exercise of modeling brings teams together in two ways: Communication and Analysis. Since Agile teams already do some sort of modeling, the value stems from merely the exercise of doing some degree of modeling (Story carding, architecture modeling, design wireframes, UX tests, etc). Terry’s final advice? Do what makes sense for your team. You only want to create enough diagrams to help you communicate and think out your problem.

[HT: IBM]

5 Responses to “Agile Modeling and UML – The Truth is You Already Do UML”

  1. Rogerio Atem de Carvalho
    March 18, 2011 at 9:12 am #

    Nice post!
    I use diagrams for modeling in the initial phases, when I need to have a first glance of the solution and communicate it easily to the team – one image still worth a thousand words. After people understood it, code is the model. If someone enters the project in an advanced phase, and get lost because there is already a lot of code, he/she uses reverse engineering to draw models (typically class diagram) and that’s it.

  2. Rogerio Atem de Carvalho
    March 18, 2011 at 10:29 am #

    BTW, sometimes first I sketch a network of concepts (ontology), than, after understanding it, a simple Class Diagram (also a type of ontology). From this point onwards, code, code, code…

  3. Jordi Cabot
    March 20, 2011 at 3:14 pm #

    Totally agree: Agile and modeling can benefit from each other (not only modeling practices can be integrated in an agile process but also agile practices can be adopted when developing modeling artifacts)

    For those interested, here ( http://modeling-languages.com/blog/content/agile-and-modeling-mde-friends-or-foes) you can find the slides of a talk I gave titled: Agile and Modeling / MDE : friends or foes?

    • peter
      March 20, 2011 at 4:18 pm #

      Thanks for the link!

Trackbacks/Pingbacks

  1. Week Retrospective 24 – The Perfect ScrumMaster and User Stories | Agile Scout - March 19, 2011

    [...] Agile Modeling and UML – If you’re doing Agile well… you probably do this anyway! [...]

Leave a Reply