Why "Deliver working software frequently"?
"Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale" is one of the Twelve Principles behind the Agile Manifesto. In many companies, software projects and programs can take several quarters or years before the first line of code is delivered to production. As a result, organizations miss out on opportunities to get their product into customers’ hands, impacting another key Agile principle -- "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."
So what is there to gain by following this principle and delivering solutions frequently?
More frequent customer feedback. It is easier and MUCH less costly to adjust a plan or direction early based on learnings and continuous customer feedback. The longer teams wait to share solutions and hear feedback, the greater the risk of missed learnings along the way. Development teams and customers have to communicate frequently in order to have the best information on which to base future decisions.
Faster time to market. In order to survive, organizations must adapt quickly to market changes driven by threats, opportunities, and rapidly changing customer demands. Delivering solutions frequently enables a company to better navigate changing market conditions and to ultimately survive.
Establishing a Cadence with Built-In Quality. Establishing a cadence enables a team to find its “flow” resulting in predictability. A team with a predictable delivery cadence allows for more accurate planning and ability to meet customer expectations. Automation technology provides for cadence consistency and permits more frequent delivery of working software. Increased frequency of software delivery requires built-in quality that is further enabled using automation technologies.
Return on Investment. Deployment of working software to production provides the opportunity for customers to benefit from solutions that can make their lives better. Frequency of delivery determines how quickly the value can be available to the customer and revenues realized by the organization. In this way, frequent delivery of software is a win-win for both customers and solution providers.