Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Simple modeling tools

Sometimes Post-its are all you need

Scott W. Ambler, Prectice Leader, Agile Development, Rational Methods Group, IBM
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:  Simple tools, such as index cards, paper, and whiteboards, are more than sufficient for the majority of your modeling needs.

Date:  01 Mar 2001
Level:  Introductory
Also available in:   Japanese

Activity:  2915 views
Comments:  

Developers often wonder what modeling tools to use. Although there are as many answers to this question as people asking it, Agile Modeling (AM) (see also my previous tip on Agile Modeling) advocates using the simplest tools possible. Why simple tools? Simple tools are easy to learn, easy to use, and very often easy to share with others. Yes, complex tools have their place, assuming they provide the best value for your investment in them, but never underestimate the effectiveness of simple tools either.

The following simple modeling tools are probably available to you right now:

  1. Index cards
    The eXtreme Programming (XP) community swears by the use of standard index cards for a wide variety of modeling techniques, and in particular Class Responsibility Collaborator (CRC) modeling.
  2. Post-it Notes
    Post-its are also an option. For example, you can develop a low-fidelity user interface prototype using Post-its on large sheets of paper. This is part of a technique called essential user interface modeling, described in Software For Use by Larry Constantine and Lucy Lockwood. It is also described in my own book, The Object Primer 2/e. See Resources.
  3. Paper and string
    Pieces of paper, or index cards tacked onto a whiteboard and connected by strings, can be used for a wide variety of models. For example, the individual sheets of paper can represent database tables and the lines can represent relationships between tables on a physical data model; or the sheets can represent screens and the strings navigation flows between screens on a user interface flow diagram; or the sheets can represent use cases and actors and the strings represent associations between them on a UML use case diagram.
  4. Napkins
    Many an initial system architecture was developed using nothing more than a paper napkin.
  5. Whiteboards
    Regardless of what CASE tool vendors tell you, whiteboards are probably the most common modeling tool installed within organizations worldwide.

Why use simple tools for modeling?
I always advise that you should ask yourself why you are modeling. My philosophy is that you should develop something with an exact purpose in mind -- otherwise you shouldn't begin development. If you are modeling to understand something, then the value isn't in the model that you create but in the modeling itself. Therefore, you don't need to invest significant effort using a CASE tool to make your model look pretty, or to add comprehensive documentation to it. Instead, you're better off using a simple tool -- such as index cards or a whiteboard -- to enable you to get your modeling done quickly so you can get back to developing software.

In my next tip in this series, I'll describe how simple tools can be used to model the user interface for your system.


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.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

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=87001
ArticleTitle= Simple modeling tools
publish-date=03012001
author1-email=scott_ambler@ca.ibm.com
author1-email-cc=

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.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

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).

Special offers