The software development industry is full of contradictions. For an industry that is ever-present in both our personal and professional lives, it is amazing to think of the countless examples of its failure to deliver (Ricky Morton, 2006). The well-known Standish Chaos Survey (The Standish Group) tells us that over two-thirds of IT projects fail to deliver “on time and on budget, with all features and functions originally specified.” And yet, the demand for new software continues to outpace our capacity to supply it.
While Confluence built our business and our reputation on developing innovative solutions, many industry and economics factors coincided in such a way that as recently as two years ago, Confluence was lagging behind in delivery of fit to purpose new software. In fact, 88% of our product development investment was being spent on software maintenance activities. Since that time, we’ve made a dramatic shift, and we are on track to spend nearly 70% of our investment on new products this year!
While there is no silver bullet that accounts for this shift, a move to agile development practices accounts for much of it–that and a decision to get back to our roots of innovation. Agile acknowledges that product development is a learning process and all requirements cannot be identified upfront. As such, agile methods are focused on delivering software in small increments and getting constant customer feedback so that a project team can converge upon the best solution. The result is getting the solution to the customer sooner, without a need for rework and other costly maintenance that slows the pace of meeting demands for new product.
This is not to suggest that there is no place for product maintenance. We believe this shift to new product development will allow us to continue providing world-class support while dramatically adding value to our customers’ businesses, solving their problems, and giving them a voice in the process. We are confident that maintenance needs diminish when we partner with customers to build solutions that solve their problems, and we believe that using agile methods allow us to best understand their requirements, deliver results rapidly, and satisfy the ever-increasing demand for new solutions.