Why choose Merlin ?
For years, software development has mostly been chaotic, with main focus on coding and fixing
bugs, but recently, there has been some improvement in the industry, with the emergence of processes
and methodologies intended to rationalize our development practices (UML,
Unified Processes,
MDA, etc.).
These concepts are great indeed, but most of them haven't been
noticeable for being tremendously successful. In fact, they have even been
more noticed for being unpopular among a lot of developers. Why? Because of the complexity,
because the emphasis is often laid on processes, documents and bureaucracy
rather than on people, communication and working software, creating a feeling of frustration and degradation in the overall
productivity and time to market. And this is not only subjective: In many cases, the techniques are used
inappropriately or are simply misunderstood.
Agile methodologies then showed up in the last few years. They tend to be
adaptive rather than predictive and focused on people and communication rather than on
theory, while keeping processes as important as they obviously are.
The most important message conveyed by these methods
could be the famous quotation of Einstein:
"Things should be as simple as possible, but no simpler".
Obviously, simplicity and efficiency are deeply needed for the existing modern methodologies. Only with guidance, assistance and adequate tools support could they really bring the benefits they claim to deliver.
Merlin can help:
- Merlin enhances existing modeling tools and frameworks within the Eclipse platform, it simplify or complete their usages.
- Generating custom code and dynamically changing the templates for the code generation is easy. The tool allows designers to transform their models into java code or plain text files using JSP-like templates. Using the templates and customizable mappings, you'll be able not only to generate java code, but also documentation, reports or any kind of text based content from any kind of EMF based model.
- You can author and perform model transformations using user friendly interface. Model transformations can be very powerful: you can use them to convert some model artifacts into other related meaningful model artifacts, automating the transitions between activities. For example, it is possible transform a design model into a unit test model, a sequence diagram into an activity diagram, an uml2 model into a graphical model, and so on.
- Merlin promotes Agile methods intended to enhance the developers' productivity.
- Features are developed by following the agile principles. They're intended to be simple to use, and good enough for "real" use-cases.
- Focus on the task to be done by transforming non-related models into task-specific artifacts
- Using Merlin encourages keeping in mind that manual coding is still an important task to cannot be simply dropped
- Merlin provides team members with adequate tools to perform the most painful part of their complex activities.
- Transform complex models into simpler and efficient ones.
- Generate a huge amount of the painful part of the activity.