So what other approaches are there? The mythical 'only use an off-the-shelf solution' is always a possibility, but the constraints of such an approach rapidly become apparent as you search for the increasingly niche vendor which can provide you with that core piece of functionality that you would like, and then goes out of business just after you've implemented their completely unsupportable function.
You could fall back on historical frameworks and Case tools, such as Prince and SSADM, but although these improve project management and promote best practices, code is still underlying the whole thing.
How about a Model Driven Architecture? An MDA provide a means of going from business requirement to functional solution with the least number of steps and the least amount of coding, if any.
How does it all work? MDA has been developed by the Object Management Group as a means of abstracting the business needs from the technical areas for development.
Using accepted and adopted standards, such as the Unified Modelling Language, XML Metadata Interchange and a Common Warehouse Model, MDA provides a means of bringing development teams and the business closer together, and in enabling faster response times in coders being able to provide real solutions to business problems.
One company that has taken MDA to heart is Select Business Solutions. Coming from the mainframe environment, the company has expanded into Java via IBM WebSphere and Eclipse, as well as the .Net world via plug-ins to Visual Studio .Net.
Select Business Solutions' approach is to provide three levels of abstraction which, at a simple level, are as follows:
The Computation Independent Model (CIM)
This is the highest level of abstraction, enabling a business person to specify
their requirements without any knowledge of the underlying technologies,
including the network, servers, operating systems, application servers and
applications.
Rather than just creating a user requirements document, this stage enables a full model to be built that becomes a core part of the documentation of the requirements, and provides the basis for the next stage.
The Platform Independent Model (PIM)
Here, a technology model is created that is still platform independent, but is
aimed at demonstrating the technical steps that would be required to take the
CIM and create a set of functional components that will facilitate the solution.
The Platform Specific Model (PSM)
This is where the models play together. The business model of the CIM, having
been turned into the high-level technology service model of the PIM, now needs
to be actually created as a set of code.
The PSM is the final precursor to this; a model which is focused on the technical items that will need to be created for a specific infrastructure.
A lot of this final stage can be done manually through taking the models and coding directly in your chosen tools set.
However, via the use of a Model Transformation Language, vendors are now looking at taking the UML and XML output from the MDA stages and automating the actual code creation.
Select Business Solutions does this, and you therefore end up with a complete, self contained system that contains all the designs, models, code and libraries which then enable code reuse as time goes on. It all sounds a bit smoke and mirrors, but it works.
While MDA is probably not the death of the hard-core coder, it will certainly help those organisations which have historically been dependent on bespoke coding to be more flexible and responsive to the market's needs.
As we move to a more functionally-oriented world and to using reusable services, responsiveness will be key. And MDA looks like a good way to keep ahead of the crowd.






reader comments