How do modeling tools fit into a company’s ALM processes?
Most modeling tools are considered to be part of the ALM tool kit, but as for where they fit into a company’s specific ALM process, I find that it heavily depends on the tool and the process. Modeling tools range from high-level process and portfolio modeling tools to low-level technical design models, with many variations in between. When you think about various ALM processes, modeling tools tend to play a significant role, particularly with ALM processes for delivering well-defined solutions, like embedded systems. In this case, we tend to have exact requirements, modeling tools that support the specification and, in many cases, the ultimate delivery of the working software.
On the business application software front, things are not as clear-cut. We have many different classes of modeling tools, covering areas like business process modeling, database modeling, modeling of object-oriented concepts like class diagrams and use cases, etc. And last but not least, there is a growing wave of new tools that deliver domain-specific modeling capabilities that have their own languages and modeling paradigms. These tools all fit into various ALM processes and, depending on the tool, require integration with other aspects in the ALM tool kit.
Today, we should look for modeling tools that help reduce complexity, facilitate the delivery of working software and dramatically reduce the cost and risk associated with change. These needs are driven by the current state of custom software development where the complexity associated with hand coding using native languages like .Net or Java is proving to be costly and slow. There is an emerging wave of modern model-based application development platforms that provide flexibility while dramatically improving speed to delivery and reducing the cost of change. A few tools that I have run across include Alpha 5, WaveMaker, Servoy and (the one offered by my company) OutSystems Agile Platform.
This was first published in June 2011