MetaEdit+ revolutionized the way Nokia develops mobile phone software
Effective development tools are vital for increasing productivity and improving the quality of products. When Nokia was searching for an effective CASE tool, the prime criteria were encapsulation of domain knowledge, flexible modeling language support and code generation.
After evaluating a number of off-the-shelf CASE tools, the developers realized that there was a need for tools that fitted the domain, rather than for tools which required the domain and organization to change. There was also a strong need for language flexibility as the domain evolves, so should the language.
The MetaCase solution
Quite early on, Nokia decided to undertake the development of their own solution using a MetaCase tool. Among a number of MetaCase tools evaluated, MetaEdit+ was selected: "It was the most flexible, allowed us to define our own design syntax quickly, and test ideas quickly while developing the method," summarized David Narraway. Report generation capabilities and links to code generation were also highly valued.
By developing and implementing their own modeling language and code generator Nokia has achieved what they were seeking:
- Order of magnitude productivity gains: even early phases of tool introduction showed dramatically shorter development times. "A module that was expected to take 2 weeks even with the new tool now took 1 day from the start of the design to the finished product", said David Narraway.
- Focus on designs rather than code: The modeling language fitting to the domain of mobile phone allowed developers to concentrate on the required phone functionality and shifted the focus from code to designs.
- Results from code generation were astonishing. "In many cases we can generate 100% of the required code. This is a result of innovative method development: domain-oriented metamodels provide the ideal way to link designs to code and to software components. Because all the work is done in the design phase, traditional programming is not needed anymore," says David Narraway.
- Documentation was improved. The documentation generated by MetaEdit+ followed Nokia's standards. As such it was applicable for review meetings as well as for full product description. Automated document generation naturally saved time and improved consistency and standard compliance.
- Other improvements were related to training costs and introduction of new team members. The learning curve of newcomers went down from 6 months to 2 weeks and training costs were cut to a fraction. The main reason was the domain-oriented language: new developers do not need to understand all the details (or even look at the code) as the modeling language directs and the tool enforces the development at higher levels of abstraction.
Nokia now has a tool-supported development environment which fits their needs seamlessly. It automates their design work, generates most of the product code, and structures the development process. All this has improved the productivity of development teams and given Nokia first mover advantage in its market, allowing it to demonstrate full working prototypes of next-generation phones while its competitors can only show empty shells.
In the future, the flexibility of MetaEdit+ allows Nokia to improve development process and languages while still supporting the development of current phone models. "By implementing our own methods into MetaEdit+ we have obtained a flexible development environment which fits our needs," concludes David Narraway.
For more information
- Download the complete case study.