Novulo is a revolutionary model driven development platform for Microsoft.NET applications that dramatically improves and enhances the software development process. With Novulo, application modeling finally reaches the business domain. Or at least this is what they say. To find out more I scheduled an interview with Frank Wille (CEO of Novulo).
This is the result of the interview (once transcribed and edited to shorten some of the questions/answers), hope you enjoy it! (And don’t forget to check the previous episodes of the “a coffee with” series )
Jordi Cabot (JC) – Hello Frank and thanks for accepting this interview. To begin with, I’d like you to briefly describe what Novulo is.
Frank Wille (FW) – It is a model driven development tool that is very user centric. The key in our approach is that we want to make software development easier for the end-user. By easier we mean achieving better communication and better management of client expectations. We want to deliver software that supports the business and not software that is a headache for the business. We visualize everything in a user friendly way so that the end-user can participate in the development process
JC – When did you start the company? And the tool?
FW – We started the company in 2003 and the product in 2005.
JC – What was the motivation to develop the product?
FW – The background is our dissatisfaction and disappointing results with the use of traditional development methods. We saw many opportunities for new businesses and new ways in which software could support new business models.
JC – But then why not adopting other existing MDD tools?
FW – First of all, in 2005 there were not many MDD tools yet and the tools then as well as the products that exist now are very technology driven but this is not the focus of what software is about. Our approach is fundamentally different. Instead of working from the technology up to the business, we change the perspective 180 degrees and focus first on the business case, on what the software is about in that context.
JC – I agree that the current trend in MDD is moving to the business level (see also some comments from Sridhar Iyengar´s in this direction). However, this implies that the gap between the initial specification and the final system implementation gets bigger.
FW – Actually, we still manage all perspectives including the technical issues. The difference is that we start the modeling from the user perspective. And when you do this, you can change the way you work; you don’t need TO start by defining the DATA model AND other technical models AS typically done IN other processes.
JC – So, then, what are the models involved in a MDD process with Novulo?
FW – Usually, you start with the definition of the user interface (drag and drop of the edit boxes, DROP down lists,… and anything else that you need). Then, from the USER interface the data model is derived. This is an example OF what I said before about following an opposite development strategy: usually you start defining the DATA model AND ONLY afterwards you start creating the USER interface. OF course, the USER can override the DEFAULT options FOR the generation OF the DATA model AND adapt it if needed. After, you move TO the process modeling perspective, comparable TO BPMN. There, you can DESCRIBE what happens WHEN the USER presses a given button, follows a certain link … we can model the organization OF the different forms/pages IN the application AND the USER path through the whole application. Additionally, we have the expression layer that enables the modeler TO define ALL kinds OF formulas, filters, conditions,… (e.g. FOR validation OF forms, calculations, …) A portion OF this formula may be even mapped TO stored procedures OR triggers IN the database. This IS the LOWER LEVEL specification OF the application. Finally, we automatically generate the code (derived FROM the previous process).
JC – You say that Novulo IS revolutionary
FW – Yes, FIRST because OF the change OF perspective IN the development process we have discussed before. Secondly, because OF the fact that we ARE NOT developing the tool AS an END product but AS a platform plus a SET OF services that enable TO CREATE AND develop several business models.
JC – So, you don’t really sell a tool but a package including the platform, the services you provide…
FW – Yes, we are not selling a tool. We are using the tool to streamline our process. People interested in Novulo can sign a contract to hire our services. As part of the contract we participate in the actual development process of our customer, assisting them in the use of the platform. That’s also why we carefully SELECT the companies we WORK WITH. IN particular, we WORK very closely WITH partners FROM different business domains (aviation, insurance, government) AND we use that INPUT TO determine new features FOR the platform.
JC – But THEN you cannot have a large USER base
FW – We ARE creating AND exploring niche markets WITH growing potentials
JC – Would you say THEN that HAVING a good tool IS NOT enough WHEN following MDD? You also need expertise IN the DOMAIN?
FW – Exactly, this IS crucial. This IS what makes the difference. FOR instance, we ARE eager TO integrate AND combine DOMAIN specific knowledge IN submodels that THEN can be reused IN other projects FOR the same DOMAIN. The benefit OF the platform IN this process IS that it enables continuous organic growth OF ANY TYPE OF business / application.
JC – AND would you say that this IS one OF the factors that explain why SOME companies fail WHEN adopting MDD; they have the tools but NOT the expertise AND skills TO use them properly?
FW – Yes, that AND the relationship WITH the customer. You have TO understand what the customer needs IN order TO make a good product. The MDD tool IS MORE an assistant IN the process AND NOT the main element.
JC – You also say that your platform “dramatically improves the development process”. Have you validated this claim?
FW – We have realized that WHEN making an offer ON a project IN competition WITH companies that plan TO build the product IN the traditional way, our offer represents ONLY 20% OF the development TIME OF that OF the other companies.
JC – You allow developers TO ADD custom .NET code TO cover aspects that cannot be modeled (OR cannot be easily modeled) IN the tool. Does this mean that you don’t believe in having a 100% code generation from the models?
FW – Many times you have different possibilities for achieving a goal and sometimes you want to have a solution that cannot be modeled because it is not supported by the platform or because it is so specific that it cannot be treated in a generic way. Especially since we are combining the growth of the platform with the adoption of new markets, you have to be able to always deliver exactly what the customer needs. To do so, the tool allows you to define black boxes in the model, define their input and output and use them in combination with other elements in the model. Then, you just need to provide the custom code that goes inside the black box.
JC – How do you deal with the evolution of the system? Given a system that it is already in production (with already a lot of data) how do you generate a new version of it?
FW – Actually, this is always the case; we don’t believe IN solid state systems (i.e. solutions that never change). IN the markets we ARE working there ARE new insights every DAY – we even have customers that release a new version OF the product twice a week. We support ALL the migration AND transition needs customers may have.
JC – Does the platform support collaborative modeling?
FW – You can integrate models AND have a kind OF ecosystem OF models that WORK together. However, one specific model can ONLY be modified by a single person AT the same TIME
JC – ARE you planning TO offer the tool AS an Eclipse plug-in as other tools are doing now?
FW – NO. We ARE a stand-alone platform but what we do IS closely integrate with repository tools. IN that way, it IS NOT that important what kind OF IDE the developer uses.
JC – IS it possible TO import/export models FROM/TO your tool?
FW – It IS possible, but limited. You can export SOME models AS UML diagrams but FOR instance, UML diagrams do NOT support interface descriptions, so that part would be lost.
JC – Another aspect that tools do NOT usually support IS the specification AND integration OF non-functional requirements (i.e. quality aspects) IN the process.
FW – There IS NO REAL support FOR this IN the platform itself, but since we assist IN the development, we ARE able TO integrate these aspects AS part OF the process.
JC – How many people ARE working IN the development OF the platform
FW – about 35 people AND growing
JC – What were the users’ needs that you set out to satisfy when you started the development of the tool?
FW – Actually, the platform was developed for myself (i.e. I was the target user). As a non-developer I wanted to be able to develop business applications together with the end user. Since then, we have close links with all our external users – we even exchange employees with them, and use their feedback to determine new features to incorporate in the platform. We are very business-focused so we do everything to make the end user succesful. We are creating a network that adds value to this concept.
JC – What is the development process you internally use to create Novulo?
FW – We use Novulo to generate our new products. Novulo itself is developed following an iterative process.
JC – Can you comment on these new products?
FW – We foresee a future where software is no longer a technical product; it is everywhere in a sort of network. We are making efforts in integrating the platform with sensors, different kinds of user interfaces, mobile devices… but also in the integration of several applications.
JC – What about the quality of the models developed using in the platform
FW – Especially since we combine these different perspectives of the system we have put in place sophisticated consistency checks (e.g. mentions to a function that it is no longer used)
JC – There is a lot of skepticism about modeling. How do you convince customers about the benefits of using your approach?
FW – We just tell them to give us an opportunity to start. I stopped continuously defending it. I just explain what we managed to do in this and that market and that we think we can do the same with you starting with a small case to prove ourselves if necessary.
JC – Who are your main competitors?
FW – From the technical perspective there are other players in the market but the way we are dealing with the market is completely different.
JC – And why did you choose .NET as an implementation platform?
FW – Different reasons. .NET is one of the most used platforms, we liked it ourselves, and it is easy to integrate with office products. However, our models are not restricted to .NET.
JC – What are the most challenging aspects when developing a MDD tool?
FW – The most difficult part is making the technology a success in the market. The technology itself is not a problem. It is more about how we can use our knowledge and experience to help other businesses excel.
JC – What’s your opinion ON DSLs?
FW – I think we can do everything WITH the same LANGUAGE but WITH different artifacts. We ARE incorporating specific knowledge OF niche markets (AND the kinds OF clients AND their needs IN those markets) INTO models that can THEN be reused (AND combined) AS starting points FOR new projects. This IS one OF the assets OF our company.
JC – How do you see the future OF model driven market IN the NEXT years?
FW – IN the END ALL software will be model-driven – it’s as simple as that.
JC – But again, this model-driven would be in your opinion “model-driven assisted”
FW – When the technology becomes more mature, the software will be more productized, and you will have the vertical markets and the functionalities – those would be the two axes that you’ll be able TO combine WHEN developing your product. We ARE thinking how TO productize the DOMAIN knowledge we have now. However, until we reach the required maturity LEVEL you still need the FULL package.
A very interesting interview that I hope you ALL have enjoyed. Visit Novulo’s web page for more information and do not hesitate to give your opinion on the questions and answers of this interview by adding your comments to this post.