inside CirrusOne

Waterfall vs Agile for Quote-to-Cash

By Erich Rusch - Chief Strategy Officer & Co-Founder

One of the things you’ll notice about CirrusOne shortly after engaging with us for the first time is that we come with strong opinions on project methodology. We are constantly asked by our customers, which is the best development methodology for us to achieve our Quote-to-Cash goals? Agile or Waterfall? The answer is a combination of both!

First, let’s take a look at these two popular methodologies on the market. Agile has become widely adopted in the advent of modern web technologies that are more nimble and easier to implement. It emphasizes early delivery and continuous improvement over sequential, non-iterative design and build. Conversely, Waterfall is the antithesis of Agile, having originated from manufacturing and construction industries and follows a rigorous phased approach where the bulk of the design and architecture work is done prior to ever writing the first line of code.

Each framework has its advantages and disadvantages when used in QTC. At CirrusOne, we try to leverage the best of both worlds to create something truly unique. Waterfall often creates costly overhead by enforcing strict documentation of requirements for every minor change within the application while Agile is sometimes overly iterative, requiring significant rewrites of core infrastructure to support changing requirements.

We emphasize an approach that is truly the best of both worlds as we believe in designing and thoroughly documenting core components early in the project that are costly to change and iterating on top of a stable foundation. The three main tenets that drive our thinking as we execute every project are as follows:

1. Document and Solidify What Truly Cannot Change

We believe it’s important to truly understand the requirements and scope of the project’s core components that are architecturally difficult to change. This is critical within the design of the Configure-Price-Quote components of QTC as CPQ involves many interdependent components. When using an Agile approach for designing such an interdependent solution, the iterations of partial solution components tend to hide potential issues until later phases. Such an approach, in our view, is an unacceptable risk to add to our customers’ long-term success. We prefer to identify these issues as early as possible and resolve them across the entire design. Once the core components are designed, iteration is possible as long as we don't change the fundamental assumptions gathered during design. This means we focus more on working software as opposed to comprehensive documentation in later phases.

2.  Process Redesign Over Customization

We believe in leveraging the standard process in the tool rather than iterating constantly to find the right fit for a non-standard process within the application. Many of our customers believe that their complex sales processes give them an edge over their competitors. However, the reality is that for the vast majority of our customers their sales process is not a competitive advantage. If there’s standard functionality that meets 90 percent of a complex use-case, we’ll typically advocate for this plain vanilla approach. We find the most successful companies often have the simplest sales processes in place. Having a simple-to-implement process enables our customers and partners to be more nimble as they respond to changing business conditions.

3.  Iterate with a Low Cost Profile

The further we move away from the critical design sign off, the more agile and iterative our processes become. Once the core design is agreed upon, there isn’t a need for us to reflect every single iteration that occurs along the way. We are not a construction company that must document every change to the construction plan. As a software integrator, we need not worry about sourcing components or applying for permits. We leave buffer in our budgets for some iteration work and will try new things to ensure the solution meets the customer's unique needs. Because the cost profile of changing components outside of the core architecture in software is relatively low, it allows our customers to truly visualize the end state of the application. This is a luxury unique to software. It’s not often you find construction workers experimenting on the fly with farmhouse or top mount sinks to get that truly unique feel to your bathroom!

Are you ready to learn more about our hybrid methodology and how it might work for your QTC implementation? Drop us a note at