In an earlier blog, we discussed the challenges of building a cloud-based estimating and preconstruction solution at scale. We emphasized collaboration (i.e., real-time multi-user capabilities), portability (i.e., an application that works from any browser, anywhere), and security (ensuring everyone's data is safe) in the cloud. Our primary focus was on the performance required to achieve these features. In this post, we will explore the safeguards and guardrails that maintain this innovation for all our users without compromising anything, because trust is our number one priority.
When dealing with estimates involving many interconnected pieces and significant dollar amounts, it’s critical that the numbers are accurate and the process is repeatable to build trust. One error can be extremely costly for our customers. In the cloud, we follow specific safeguards and procedures to maintain accuracy and ensure confidence in the software’s calculations—even across thousands of simultaneous users and as we continually integrate new code to enhance the application. Our safeguards not only ensure accuracy but also allow us to innovate and ship new code daily. This approach enables us to release new product enhancements iteratively, adding another layer of safeguarding. So, let’s dive in.
It all starts with the code base. Developers need a process for writing code, having it reviewed by others, and automatically testing the code in multiple phases—unit tests, integration tests, and end-to-end tests across various environments—to ensure it’s ready for production. This involves numerous checkpoints, and it might seem excessive to deliver code into production through this process every single day to ensure accuracy, but we do. Additionally, this entire deployment pipeline is managed using Infrastructure as Code (IaC). This means that the process of converting our text code into a program in the cloud is fully automated and removed from the error-prone hands of humans running manual processes, resulting in much greater accuracy.
What does this process really look like? Developers write code that requires approval from other developers, and we run localized tests to ensure the code is safe at a high level—but this is just the beginning of the vetting process. After the code has been vetted, the flow continues, including automatically deploying to a staging environment where we further test by simulating real users in Ediphi: creating a project, creating an estimate, adding line items, adjusting formulas, observing the impact across the estimate, and finally duplicating an estimate to ensure accuracy. Once successfully vetted, this new code is automatically deployed into the cloud and used by all of our customers. It’s important to note that one formula could impact thousands of line items. With this in mind, it’s easy to see how one inaccuracy can lead to a serious cascade of consequences—consequences the market has zero tolerance for. Like Excel, no one "checks" its work; they trust it. And achieving this in the cloud is challenging, but Ediphi does it.
Another safeguard is through versioned estimates, which means creating a snapshot of your estimate as it currently stands. This allows you to restore that snapshot at any time, leverage it into a new estimate, or simply have peace of mind knowing you have a backup as you experiment with your current copy. This is yet another safeguard we deploy to allow our users to be creative while remaining secure. Due to the complexity and interconnectedness of an estimate, providing version control in the cloud is very technically challenging, which is why no one has done it well yet—until Ediphi. We also enable users to create an unlimited number of versions, each with their own name, labels, and date/time stamp. Moreover, being able to access very old estimates (e.g., 2 years old) and have them work with the latest version of Ediphi, including all new features, is challenging, but we make it happen.
At Ediphi, building trust with our users is paramount. We achieve this by developing reliable and repeatable processes that safeguard our customers and empower them to be creative, while instilling confidence that 1) the data Ediphi creates is accurate, and 2) they can always revert changes if they venture in a direction that isn’t working. Stay tuned for more “How We Built This” insights right here on our blog.