Can MDA Play a Role in Global Sourcing of Software?
I like the idea of model driven architecture (MDA) as a software design and development tool because in involves modeling the software and then generating code with the help of tools. I don't know if MDA is widely used yet, but at least anecdotally many seem to consider MDA important. Software tool vendors seem to claim support for MDA although the support may not always cover the full OMG MDA specifications. One aspect of MDA that intrigues me is the potential for using it as a way to assure that code conforms to design when software development is outsourced, whether within the country or offshore. Here's the idea.
The in-house design team develops the platform independent model (PIM) for the software based on the requirements. This would be a creative step that requires experienced software designers and experts on MDA. Then the in-house team provides the PIM to the outsourced development team who prepares the platform specific model (PSM) and checks out the design by generating executable code from the PSM (I assume that an automated tool is available to generate code from the PSM). The PSM is then delivered back to the in-house team, who reviews the PSM and then uses the automated tool again to generate the executable code, run any static analysis tools to check the code, put it under change control, and give the code back to the outsourced team to do quality assurance. The idea is for the in-house teams to assure themselves that the design conforms to the requirements (after all, an in-house team designs the PIM) and that the PSM-to-code step is performed under in-house control. I think using MDA in this manner might be a good way to use outsourcing without relinquishing the key software design steps and mitigate any potential risks that code does not fully conform to the design.
Tags: mda uml model PIM PSM OMG softwaremodel outsourcing offshoring risk

Comments