Succeeding with Modeling Tools
Given that modeling tools are not always successfully utilized on development projects, this section examines what steps can be taken to ensure that any investment in such tools generates a respectable return.
Here are several guidelines that take the risk out of adopting modeling
Moving to a model-based development approach need not involve purchasing the most expensive and extensively featured modeling tool on the market. A simple paper-based approach is one method for gradually introducing modeling methods to the team. Encourage your peers to discuss designs using the UML diagrams introduced in this chapter. Consider using a
Information and experience gained from these reduced feature-set tools can be used in preparing a business case to management for upgrading to a more sophisticated product. The knowledge
Learn Modeling First
If you are new to modeling, don't let a modeling tool be your first introduction to the practice. Make sure you understand the basics of the UML and the rationale behind modeling methods before you start grappling with the idiosyncrasies of a particular modeling tool. A modeling tool will make you a more productive modeler; however, despite what the marketing material may claim, it is not a teaching aid.
Make the Tools Available to the Team
Be wary of purchasing a modeling tool for just one person on the team. Design is a team effort, and having only a single license for a modeling product means designs cannot be worked on collectively. Models are an effective mechanism for communication, and good communication is essential for a successful project. Give everyone on the design team the means to communicate.
Allow Time to Learn
Do not introduce modeling methods into the pressure-cooker environment of a new project and expect to see spectacular results. Be realistic. Allow yourself and the team time to become familiar with both the methods and the modeling tool before
Remember to Communicate
Finally, although accuracy in UML design artifacts is important, remember that the UML is all about communication. Take the time to learn the UML, but do not become so obsessive with the correct use of the UML notation that you fail to communicate your designs.
Making models part of the development process offers significant benefits. Models help to
Using modeling tools to construct UML diagrams further enhances the benefits of a model-based approach to development:
Martin Fowler's book UML Distilled [Fowler, 2003] covers the different UML models and the associated UML notation.
The designers of the UML have also written a comprehensive guide to their creation, The Unified Modeling Language User Guide [Booch, 1998].
Scott Ambler is a keen advocate of modeling techniques and devised his own development process based on models. Information on his Agile Modeling process can be found at http://www.agilemodeling.com.