M-Files Case Study

About M-Files

M-Files is an award-winning Enterprise Content Management system which has been named a Visionary in the Gartner Magic Quadrant for ECM. The company enables its clients to organize and access information no matter where it resides and under which system (Salesforce, SharePoint, Dropbox, etc.). M-Files R&D team is charged with developing and maintaining the system’s Windows-based backend service accompanied by its powerful Windows desktop application, as well as feature-rich web and mobile applications for all major platforms.

The challenge:

When it came to significantly reducing compilation times, M-Files’ developers faced a dual challenge: reducing time spent on hefty centralized continuous integration builds on the server side, while still cutting back on tedious builds on the individual developer side.

On the continuous integration front, M-Files has its own, automated build system for CI, which puts out between five to ten 90-minute builds per day. These created a bottleneck which sometimes prevented developers from taking a needed action on the same day.

And speaking about developers, they too compile individually dozens of daily incremental builds which slowed down their entire workflow. As M-Files’ Deputy CTO, Jari Siukonen, told us, “In the past we addressed the challenge with patience… builds were slower and time was spent on waiting for results”. Luckily, M-Files decided to say no to slow builds with IncrediBuild.

How IncrediBuild crunched it:

IncrediBuild’s tech helped M-Files slash both individual and centralized build times by letting each machine/server draw under-utilized CPU power across the network. Subsequently, the change allowed M-Files to double the amount of its daily builds and get a major R&D productivity boost.

“IncrediBuild allows us to complete a full system build within 30 minutes vs. an overnight build and saves developers from frustration”, says Siukonen, ”It’s really important for us to have it in 30 instead of 90 minutes, since it allows us to get faster to testing etc.”

When asked if having faster builds meant a direct impact on the ability to churn out more daily full builds than before, Siukonen told us. ”Earlier we couldn’t run more than 5 full builds per server during the office hours, and now we can run 10, if and when needed. So quite a difference in our capacity to run full builds.”

Furthermore, individual build times have seen a typical improvement of 55% per developer. ”Now,” says Siukonen, “each individual developer gets the feedback of the code change faster, which allows him/her to be more focused on the task at hand and to get to the testing/verification phase of the change faster.”

As M-Files’ developers realized, IncrediBuild’s impact is felt beyond the immediate acceleration of builds. “Naturally faster build times enable faster and more agile development. It’s the difference between if a developer can take action on the same day vs. if a day is wasted.”

The Bottom line:

Before IncrediBuild After IncrediBuild
Continuous Integration centralized build 90 Minutes 30 Minutes
Amount of daily builds per CI server 5 10