Skip to main content

Agile Modeling (AM)

Effective modeling techniques for modern software development

Scott W. Ambler, Prectice Leader, Agile Development, Rational Methods Group, IBM, Software Group
Scott W. Ambler is a Practice Leader for Agile Development within the IBM Methods group. He develops process materials, speaks at conferences, and works with IBM clients worldwide to help improve their software processes. Scott is author of several books, listed on his Web site at www.ambysoft.com. Scott is also a recognized Ratonal Thought Leader, whose homepage may be viewed here.

Summary:  Agile Modelers believe that you don't need to develop documentation the size of a telephone book to develop complex software.

Date:  01 Mar 2001
Level:  Introductory
Activity:  768 views

Simply put, Agile Modeling (AM) is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and lightweight manner. AM recognizes that although all of the following factors are important, when you are following an agile approach to modeling, your focus should be on:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

The goals of Agile Modeling are:

  1. To define, and show how to put into practice, a collection of values, principles, and practices pertaining to effective, lightweight modeling The secret to AM isn't the modeling techniques themselves -- such as use case models, class models, data models, or user interface models -- but how they're applied.
  2. To address the issue of how to apply modeling techniques on software projects taking an agile approach such as eXtreme Programming (XP) To quote Kent Beck from eXtreme Programming Explained (XPE): "We will continually refine the design of a system, starting from a very simple beginning. We will remove any flexibility that doesn't prove useful." Contrary to the claims of some of XP's detractors, you do in fact invest time modeling when taking an XP approach –– but only when you have no other choice. Sometimes it is significantly more productive for a developer to draw some bubbles and lines to think through an idea, or to compare several different approaches to solving a problem, than it is to simply start hacking out code.
  3. To communicate agile approaches to modeling that can be used to enhance non-agile projects such as those following the Unified Process (UP) The enhanced lifecycle for the UP includes several modeling-oriented workflows -- Requirements, Business Modeling, Analysis & Design, Infrastructure Management -- which, when applied at face value, can become quite burdensome. AM helps to improve the effectiveness of your modeling efforts on a UP project (or any project for that matter).

I would argue that at its core AM is simply a collection of practices that reflect the principles and values shared by many experienced software developers. My experience is that these practices can be applied to most software development projects. You don't have to be working on a project following an agile software process (such as XP) to take advantage of the approaches described by AM (although one of AM's goals is to explain how to model when following the XP approach). A project team doesn't need to apply all of the practices, principles, and values of AM to benefit from it. I have always been a firm believer that you should tailor your software process to reflect the unique needs of your environment. It is my opinion, though, that, like XP, you are much more likely to succeed if you do adopt all of AM.

In future tips I'll explore the values, principles, and practices of Agile Modeling in detail.


Resources

About the author

Scott W. Ambler is a Practice Leader for Agile Development within the IBM Methods group. He develops process materials, speaks at conferences, and works with IBM clients worldwide to help improve their software processes. Scott is author of several books, listed on his Web site at www.ambysoft.com. Scott is also a recognized Ratonal Thought Leader, whose homepage may be viewed here.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services
ArticleID=86984
ArticleTitle=Agile Modeling (AM)
publish-date=03012001
author1-email=scott_ambler@ca.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers