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 methods and modeling tools, and enable the benefits of a model-driven approach to be fully appreciated by the development team.
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 freely available community-edition modeling tool in your early modeling efforts.
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 gained from the low-end product should provide valuable ammunition for your cause.
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 putting them into practice on a project with a tight timeframe. Learning modeling skills takes time and must be accounted for on any project plan. A good strategy is to bring in a mentor to help accelerate the learning process.
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.