Putting It All Together
As Figure 3 shows, the development lifecycle is best met by the combined benefits of ALM and MDD. ALM provides the discipline needed for governing and managing the project, while MDD provides the development muscle to handle even the most complex jobs.
The coordinated environment provides a consistent vehicle to handle change requests, bug fixes, auditing, and compliance mandates, all based on a single set of requirements. Project planners, requirements engineers, architects and developers all contribute to the common workflow, where even last-minute changes can be quickly inserted and evaluated for impact and relevance.
The combined ALM/MDD approach is very different from the usual methods of manual coding based on written specifications. It removes the collaboration gap between architects and developers by tying the high-level design directly to the final source code. Traceability is established from requirements to architecture to final code, while changes at any level can be evaluated at each level for impact and effectiveness. Developers can apply their expertise to ensure that optimal applications are designed, while architects and planners can ensure that the original intent is not "optimized out" in the process.
Because these applications have been developed to a single set of coordinated requirements and subjected to rigorous change management procedures, they can easily be migrated to future applications throughout the enterprise. In addition, existing legacy applications can be reverse engineered and inspected for inclusion in the enterprise framework. Since they can be more easily adapted and incorporated into new applications, the organization's intellectual property is protected and applied in new ways as it moves into a services-based IT infrastructure.
Also, the combined framework includes configuration management capabilities that allow you to keep previous design configurations in an easily accessible repositorya handy feature if you need to roll back to an earlier configuration.
Accelerating ALM Tool Adoption
To reduce the risks associated with ALM and MDD tool adoption within your development environment, you must closely link people, best practices, processes, and tools. A recent report indicates that improving technology and process together is 10 times more effective at increasing productivity than improving technology alone. The reason is very clear: Process improvement (CMMI, for instance) enhances effectiveness, while development tools and best practices increase efficiency. Together, they can improve productivity and quality.
Reusing proven best practices is critical to ensuring that your teams choose to repeat a "best practice," not just any practice. Therefore, you should choose libraries that are built on years of experience with real projects. Also, it should be easy to tailor these libraries of best practices to meet specific organizational and project needs. For example, customers using Telelogic products are able to easily tailor their libraries of best practices content for ALM and MDD using the Eclipse Process Framework (EPF) composer from the Eclipse foundation.
With integrated process guidance you will promote best practices, processes, and tools across your organization and accelerate adoption of ALM and MDD. The result is systems and software that better meet your customers' needs.
The combination of ALM and MDD gives you the connected workflow you need to handle the development of even the most complex applications and systems. Particularly helpful is the capability to deal with changes in requirements, no matter when and where they occur during the development process. You can quickly analyze the impact of these changes to control costs and assure correctness. You can also balance business and technical requirements by performing model-based performance/security trade-off analysis before deploymentafter deployment, the cost of miscalculations escalates dramatically.
Since you can simulate designs at any time during the process, there is no need to wait until the final stages of development to determine how changes will affect the application. By providing a common baseline, this integrated environment lets you propagate changes through multiple releases. Roundtrip traceability provides both bottom-up and top-down reporting to ensure compliance. Because the entire team is working from a known set of requirements, the integration of ALM and MDD promotes collaboration, even among teams that are widely separated functionally and geographically.
Independently, application lifecycle management and model-driven development have proven their value in a wide range of industries. No matter what industry you're working in, by combining these two systems and software development best practices, you significantly increase your ability to overcome the many challenges associated with the system and software development lifecycle.