What is our primary use case?
We are an implementation partner with Mendix. We build both custom projects and solutions. One of the solutions that we have provided to our customers is an MDM solution that we were planning to set up as a semi-product which allows for some customization with each customer.
Mendix is a platform. All the solutions that we build, we build in the Mendix platform. We started using Mendix in 2012, and we founded our company in 2013. We are a very experienced Mendix team.
We have two use cases.
- To build complete back-end solutions for smaller companies. They are complete back-end solutions and custom built for smaller companies.
- It is for larger enterprises and more for the innovative, differentiating application. So, custom built or semi-custom built innovative, differentiating capabilities on top of ERP and legacy systems.
Both use cases are a used, and we also built solutions in different companies. So, we have some smaller customers where we do the entire IT with Mendix. In addition, we have some very large customers (enterprise customers), where Mendix is the preferred local platform for all custom tools and innovative applications.
How has it helped my organization?
We built our organization around its capability, so we saw the opportunity of Mendix. We saw how Mendix in the market at that time struggled with the right commercial model. So, we built our organization around the platform's capabilities. We have two business units:
- One unit does projects. That is the unit that does end-to-end projects for the customer. The customer, in this case, is the business who wants a cloud-based solution and doesn't care how it is done.
- The other service that we provide is in the Netherlands. Many customers who are adopting their own Mendix, low code teams. They need help and support with this. We provide, in a consulting services capacity, our experience to help them build their team.
We do two things on this level. Many customers start with projects and end up building their own team. This is our progress as we see it right now in the market, at least in the Netherlands, as there is a huge demand for these type of services. It is actually more difficult to find qualified personnel than find customers at this point.
What is most valuable?
- The complete stack: You have a complete cloud operations, and everything is included. For every customer, wherever we go, we can provide a solution within a few days with a complete data environment in a very stable, high performance cloud.
- The development environment is model-driven. We really like this because we can use the information from this for our business engineers to make the information models, and they can also execute the model.
- We do not need programmers anymore, so it is a small team of business engineers who design and build the application without us needing to program. That makes our teams four to six times more productive, but also a lot smaller with no overhead and very flexible. It is something, and not every Mendix partner does this. A lot of them have still use analysts and programmers in different roles, but we do not do this. I like that we use the platform on this level. We stick within the core of the platform, so we don't do anything with custom Java or custom JavaScript.
What needs improvement?
Mendix is right now focusing on developer features while we would like to have more features for the information analyst. Mendix is not going this route because they clearly see the developer as their target group, while we like to see it as more of a tool for information analysts.
What is lacking is the support of higher level modeling features, like the modeling you do is relatively low level, yet it is still close to programming. We would like to see a more business-oriented modeling environment, like BPMN. However, that is not the direction Mendix is going. We are developing our own intellectual property in this direction. Thus, we are building it ourselves.
For how long have I used the solution?
More than five years.
What do I think about the stability of the solution?
Stability is very good. The modeling environment has been very predictable since Mendix 5. Between versions 4 and 5, there was a big problem with them. Since Mendix 5 and Mendix 7, it has been very predictable. Every month, there is a new release and it has stable functionality, although it is not only the functionality. If you look at the cloud environment, it is very stable, especially since Mendix cloud is now run on Amazon. It has always been click and go, but it is even more impressive what they can do now.
Their current announcement that they also run a SAP Cloud and IBM Cloud makes it even more powerful.
What do I think about the scalability of the solution?
We are able to run very high performance applications on very small Mendix app containers. That is because we design our solutions to be high performance from a design point of view. We have not used the Mendix horizontal and vertical scaling options that they provide. Therefore, I am not an experienced user with scalability, but I do know that we can make already quite high performance applications with a single app containers and they can be scaled vertically and horizontally.
Mendix is quite powerful. There are some limitations in Mendix. On the database level, there are still some layers between Mendix and the database. This means that some actions are not efficient, which might seem to be, and they have designed now a stateless architecture which also put some limitations of speed if you use a single instance. However, the stateless architecture allows you to spread horizontally your load. So, it has benefits and drawbacks. In general, it is good enough for what Mendix is supposed to be used for. There have not been any projects where we could not do them because of performance reasons.
How are customer service and technical support?
We use technical support, for example, if there is a performance question, usually in the design phase. In the run time, we are so experienced in Mendix, having such high internal quality centers on what we want the applications to do when we stick within the core of the capabilities of Mendix, that we never contact support about this. In general, we are very infrequently calling support, maybe four times a year. So, we have some contact with support, but it is never about urgent issues. The experience that I have with that support is good, and usually the support engineers know what they are doing. So, no complaints about it.
Because we are an experienced partner, they know that question that we ask are relevant questions. I guess if you are an inexperienced user, and don't know how to ask questions to them, it could be different. However, we know exactly who to talk to and what to ask. As an experienced user, the experience might be different.
Which solution did I use previously and why did I switch?
It is a little bit different because we have built our company around selling services from Mendix.
What's my experience with pricing, setup cost, and licensing?
From a commercial point of view, we would like them to change that they currently sell it as a platform, but as a customer you have to decide upfront the usage of the platform. We would like to have Mendix sell it as a pay as you go model: You pay for what you use, and you don't pay for what you don't use. Mendix is currently refusing to do that, but their competition does not do it as well.
I understand that it is a risk for them. I told the commercial management about it, but there are several customers of ours who say, "We would like to adopt this platform, but we want to grow into the platform." Mendix does this, as they have a custom pricing if you buy the platform for multiple years, then you can get discounts in the first years to grow into the platform. However, I would really like them to have an Amazon model, where you can use it and pay per minute or hour, per user, etc. That is not available at this moment. I would like it, but their competition, like Salesforce, does not offer it either. Therefore, there is no real pressure on them to change.
Which other solutions did I evaluate?
- When we found that we also had the option to choose OutSystems, we chose Mendix for the same reason I always advise my customers: the platforms. Mendix and OutSystems are basically the same, but there are some differences. The main difference for us was Mendix is a Dutch company and has a very large ecosystem of partners. So that there is something to choose from with healthy competition.
- Mendix has always been a more business-oriented platform than OutSystems. OutSystems is more targeted towards improving the developer productivity. Mendix is more about business IT alignment, and supporting the business. This is reflected in the functionality, and the way they build their solutions. Mendix is more like Apple. It is a one click, and everything worked, while OutSystems is more like Android. It is very competitive and great, but it has more technical capabilities and it is a little bit more complicated with too many features for business.
If you're looking for a model-driven low code platform, there are two worldwide leaders, like Mendix and OutSystems. You have some local products in the Netherlands, such as Betty Blocks, which are growing, but they are not as big as Mendix and OutSystems with national brand specific solutions. If you are looking for a global platform that is well established with the right reputation, Mendix and OutSystems are basically the ones to consider. If you are excluding model-driven as a criteria, then Salesforce is by far the largest. Salesforce is much larger than Mendix and OutSystems, but it is not model-driven. It depends whether you want model-driven or not.
Our shortlist was that it should be model-driven and provide all the infrastructure deployment, because we are not likely to hassle with the deployment, infrastructure, etc. Therefore, the main criteria were from a technical point of view:
- Is it model driven?
- Does it allow us to build like administrative applications based on databases?
- What does both the solution provider offer in terms of deployment options and what are all the systems which are available that we have to deploy ourselves?
- Did we have to build our own cloud capabilities? We skipped this because it was too much work for us, and we did not want to build such an organization. Mendix provided us with the complete cloud, and we were happy with it.
What other advice do I have?
The learning curve for an experienced software engineer or information analyst, it is quite steep. If you do not have any of these backgrounds, it will take you somewhere between five to eight months to master the platform. It depends on your experience in Java programming or database programming, if you will go fast. If you do have experience in making functional technical designs of software languages, like UML and BPMN, you will learn it quickly. Therefore, it depends on your track record.
If you want to see what it is capable of doing, you have to do a project with it, end-to-end and not just looking at the technology.
- Do a project with the focus of learning, not the end result in mind, and learn from what you encounter.
- Do a project, not a proof of concept, which does not help. It does not give you the insights you need.
- Do a project, and it once you do the project, you have to do the second step, do multiple projects. If you have success with that, then go for platform.
- Do a project, but start it with one end-to-end project, which should be small. It should not be too big, maybe between 20 to 50 business days of work. So, it is sort of manageable. If it fails, it does not cost you too much to do a project, that's what it magnifies.
- If you have the resources to do a project with the two platforms, try them next to each other and see what the differences are.
Disclosure: My company has a business relationship with this vendor other than being a customer: Implementation partner.