Molecule's Software Release Process
One of the (many) reasons why true cloud technology is currently the best software platform for enterprises is that providers can regularly push updates and improvements to the software without the customer having to do anything on their end.
One of the (many) reasons why Molecule stands out for energy traders is that we release new versions of our software roughly every two weeks. Our customers don’t have to take any action to get the latest version nor do they pay any extra fees to get new software that frequently.
I recently sat down with our VP of Software Engineering, Paul Kasharis, who we hired in part to ensure that we lead the industry in testing rigor. Here are the highlights of our testing process.
Our testing process is comprehensive, intensive, and automated.
About 90% of our code is tested automatically, every time a change is made (at both the method-level and whole-application-level). Static analysis tests (for security) are run at the same time. Our developers also peer-review every change for approach, performance, and security. Then the team who requested the change, acceptance-tests it. After that, our CS team sanity-checks the whole of Molecule, for security and functionality.
Finally, we back-test a year’s worth of data to make sure that positions and P&Ls don’t change — to make sure we didn’t change something that can affect users’ numbers. We test use cases and business scenarios to make this as robust a process as possible.
We do this, over and over again. Every. Two. Weeks.
Development might be faster in the short term, if we didn’t take this heavy of an approach. But, we value quality extremely highly. We want to release software that delivers the right numbers, right out of the box, every time. Our goal is Zero Customer-Discovered Surprises.
Many competing software companies don’t use such a rigorous process. They rely on people to spot errors. To make development faster (and cheaper), they don’t use unit- or feature tests. Nobody, but nobody we know backtests old data for quality purposes.
Why is this important to us?
Not only are we offended by the ridiculous implementation and upgrade fees that some legacy providers charge, but we also believe that enterprise software should be just as beautiful and fun to use as the apps on our phones. We also believe that software hosted in the cloud is the best technical solution for enterprise customers — from enhanced security to not having to live with bugs that can be easily fixed.
We truly believe that beautiful cloud software is the right thing to provide to our customers. You can read more about our core values here.
Related Posts
Top Questions Our Sales Team is Asked