Model-driven development, or MDD, is one approach to the creation of computer programs. The focus of MDD is on writing, testing, and implementing the computer program as quickly as possible. Generally, this approach of model-driven development will also attempt to complete the task as efficiently and with as little cost as possible.
One of the characteristics of model-driven development is that multiple developers may be employed to work on the same end product. In order to speed up the process of creation the software programs, each developer in the project may take on specific tasks associated with writing the program and testing the results. This can allow persons with specific areas of expertise to contribute to the project, while leaving more mundane tasks to other project members that lack the same level of expertise or background. Producing a finished product through this collaborative method is thought to be a more efficient use of time and resources, as everyone involved performs tasks suited to his or her abilities.
Along with making the best use of available resources, the purpose behind model-driven development is to get the program into the hands of users as quickly as possible. In some instances, this sense of urgency is based in old fashioned economics; the sooner that the program is ready and can be released to the consumer marker, the faster the manufacturer will begin to make a profit from the sale of the program. At other times, the desire for a quick turnaround has to do with meeting a specific need, such as creating customized order processing software for a company that wishes to drastically increase their order fulfillment process in a very short period of time.
Depending on the working environment, model-driven development may be known by a couple of other names. Model-driven software development, or MDSD, is often employed as the identification for this time and cost efficient process of creating new programs. In like manner, MDD may also be known as model-driven architecture or MDA, referring to the design and building process associated with the effort.