When you think of end-user development, you might think of IT taking a back seat as the business defines the type of applications it uses. That approach is all well and good in theory, but what about practice?
While employees might have loads of great ideas about the type of tools that could help the business work more efficiently, they are unlikely to have the requisite knowledge of programming and standards.
And unless you have the right background in place, users will not be able to create the applications that can make a real difference to day-to-day operations.
At that point, you should consider a turn towards model-driven development (MDD) – a design approach that allows your technology team to assert their presence, while providing a structured guideline to help end-users gain the software they really need.
The key to MDD is ensuring the building blocks of a business problem are understood before users take action. While MDD should aim to allow the business to create applications, the approach should rely on IT specialists using programming techniques to create the underlying components.
Open and vendor-neutral, MDD – also known as model-driven architecture – is based on the Object Management Group’s (OMG’s) established standards, including unified modelling language (UML) and the meta-object facility (MOF). OMG’s model-driven approach separates business logic from the underlying technology and allows the business to create platform-independent applications.
Rather than being created in general-purpose programming languages such as COBRA, XML, Java or .Net, MDD is created in a domain-specific language that is dedicated to a particular business problem. The break from a reliance on a particular technical flavour means users can specify the applications they require and then work with the IT team to create tools.
Such independence means underlying technology can be updated without affecting the business aspects of an application. Likewise, such platform independence means the business can generate the applications it needs without fear of a potential impact on underlying code.
So, what does the emergence of MDD – with big companies, such as Microsoft, backing its development – mean for the future of development? If the IT organisation creates applications in-line with the business specific-demands of MDD, the answer is simple: software that can make a real difference to business operations.