|
MDA Success storyM1 Global Solutions
Date: November 2004 Industry: Software development Company Name: M1 Global Solutions Contact:
M1 Global Solutions Object Management Group
Description: The Problem: When the team set out to determine a go-to-market strategy they realized that the multi-media interaction channel infrastructure would take 12 months to build. That meant a software beta had to be in the marketplace within that period. In addition to the time constraints, the team also had to reduce the amount of capital needed to fund the development of the software product in order to conserve enough capital to develop the multi-media interaction channel infrastructure. Finding an efficient development methodology, affordable tools and low-cost, high-quality technical resources became paramount. The Solution: "Modeling has long been viewed as a viable and
efficient way to create high-quality, Having chosen MDA as the foundation for application development methodology, M1 Global had to find a toolset for development. Having chosen to build on J2EE, Eclipse was an easy choice for the IDE. The team chose the Model-driven Development Environment (MDE), an MDA plug-in to Eclipse. MDE is a complete MDA toolset offering UML modeling and model transformation technology. MDE worked because of its simplicity. Typical modeling techniques model an application's implementation. These other techniques require a model element for each element in the implementation. This would have resulted in a complex model, cluttered with technical detail. Implementation models are difficult to understand and maintain, and their usefulness is questionable. That is why so few model their software before they build it. In fact, M1 found MDE so empowering that they became the primary sponsors of the MDE open source initiative and now host the servers for the MDE project and for MDE downloads. MDE facilitates modeling what the application does, not how it is built. It created a specification model. By capturing the bare essentials of what the application did, not how it is implemented, the specification model was fast to create and easy to maintain. Developing with MDE provided clear benefits to modeling first, implementing last, and a real reason to use UML. M1 Global did not need to write any code before they knew what the application was supposed to do. An additional benefit of MDE is that it provided automatic code generation capabilities by way of MetaPrograms. A MetaProgram is a program that takes the model as input and generates a high percentage of the implementation code, leaving a small remainder of the code to be manually created. This time saving was critical in meeting the aggressive project deadlines. "It is exactly M1 Global's amazingly successful outcome of
implementing an MDA solution that OMG has been proclaiming since
announcing our MDA initiative in 2001. This is one among many MDA case
studies that continue to prove that the time-savings and cost savings are
very real," said Richard Soley, Chairman and CEO, Object Management
Group. "The communication channels never broke down. Our guys would model what was to be built. The offshore team would then build exactly what was modeled. The time savings of the model driven approach, combined with the cost saving of offshore development, enabled us to succeed in what looked like an impossible undertaking in terms of scope and time-to-market" - David Zygmont, Chief Technology Officer, M1 Global Solutions. The Result The R&D expense for the software project was $1,007,354. M1 Global was able to realize a cost saving of $7,500 per month per offshore development resource. Given that this was a large scale project, M1 had an average team size of 20 offshore resources over the 12 month period. The low cost of the offshore resources resulted in a net savings of over $1,200,000 over the life of the project. That was just the resource cost, the MDA approach brought about another significant benefit illustrated in the following table.
The MDA approach and the MDE tool increased developer productivity by over 50 percent. The team's final productivity for the period was 177,963 optimized quality source lines of code (LOC) for an application that totaled 161 unique screens and 45 tables. With an iterative development process the team had actually produced over 3x that number of LOC throughout the project. Using MDE, the team generated 112,506 LOC or just over 63 percent of the final implementation. This meant the hand written LOC in the final version were 65,457 and at a cost of $5.66 per hand written LOC, the benefits of model driven development where clear. Without it, it would have taken the same team over 32 months to complete the same work that was accomplished in 12 months. The total cost would have exceeded $6 million. The combination of MDA, MDE and offshore resources saved M1 over $5 million in development costs and reduced time to market by over 62%.
|