With support from Dave van Reese.
Enterprises inspired by Agile and Lean startups often embark on innovation projects only to be disappointed. Although they faithfully implement many Lean practices, entrenched processes elongate cycle times and can dampen the benefits.
This article examines the negative impact of delivering large releases infrequently, techniques for shortening cycle times and the benefits associated with success.
Common Enterprise Malfunction
The impact of compliance, IT and business-approval processes and multiple stakeholders in complex organizations results in a development cycle that is typically prolonged.
Long-term cycle times have widespread effects:
- Unreliable release dates and departments that are untrusting of others
- Customer experience does not evolve fast enough because learnings trickle in slowly
- Unclear impact of any given change because too many features were deployed
- A learning environment does not take hold in the team; experimentation seems random
- Precious development resources are wasted on features that do not produce ROI
- Marketers resort to experimentation using DOM manipulation tools to work around unresponsive development teams increasing the system’s overall complexity
- There is a lack of product market fit
Tools and Techniques for Shortening Cycle Time
Shortening cycles requires implementing Lean/Agile processes across all parts of the organization that contribute to the software delivery. This can be challenging in complex organizations, but also offers the opportunity to build a common vision and trusting partnerships.
As non-IT stakeholders are exposed to the Lean processes, they will have the opportunity to see the value firsthand. In turn, they become essential participants in the prioritization of features based on the business value delivered that is required to build impactful products. Releasing the smallest possible initial feature set requires informed trade offs. This requires insights from many parts of the organization.
Often the business has invested in writing “a big spec”. The team can use it as a key reference, opposed to a task list, so that this investment is leveraged while avoiding a waterfall methodology and the associated slow downs and risks.
A strong DevOps organization sees the needs of developers and operations as one, thus creating natural synergies.
Analytics and developer team members benefit from working together early on in the project because it establishes a firmer understanding of what is meant by business success. Developers can also implement a better data collection design when they have a detailed understanding of the required metrics..
Individuals with compliance responsibilities can participate in standups and other Agile ceremonies. This allows for more proactive management and avoids significant delays.
Within the development team, practices that will shorten cycle time include:
- Working software that is exercised by automated tests
- Short sprints and small stories by breaking apart big stories into cohesive, related but independent smaller stories
- Backlog prioritization decisions should be made in the context of hard data and trusted facts through the use of web and mobile analytics
Technology and architecture choices also play an important role in contracting cycles:
- Separate the customer experience front-end from the transactional back-end by overlaying microservices on top of enterprise architecture
- Use modern, cross-platform frameworks to accelerate simultaneous development of mobile, mobile web and web
- Establish a continuous delivery pipeline through the judicious implementation of modern DevOps, automated testing and deployment tools and containers
- Demonstrate stability of continuous deployment on staging environments to pave the way for rapid production deployment
- Correctly use feature toggles as a way of managing experiments, deploying canary releases and lightning-fast rollbacks
- Develop a robust configuration management strategy by unifying development, test, staging and production environments
- Use the analytics tools that your team is most comfortable with and build in tool switching strategies
When you have reduced cycle times, each incremental deployment is a fraction of the cost of larger cycles.
Tightly regulated spending, constant inspection, retargeting to maximize value.
By reducing the Build-Measure-Learn cycle time, enterprises will benefit by:
- Enabling the launch of new customer experiences quickly
- Efficiently using of developer resources
- Clear outcomes from experiments and the ability to react to learnings
- In flight adjustments that maximize the impact of your product
- More engaged customers and better product market fit
- On time delivery
- More productive, less stressed staff
Rolling feature releases have become the norm in consumer cloud services. When a new feature in a consumer product just shows up, no one is surprised and everything still works. The velocity, stability and data-driven decisions pioneered by companies like Facebook, Pinterest and LinkedIn can be adopted by enterprise IT.
We can help you guide your enterprise by starting with the Build-Measure-Learn Readiness Assessment and Roadmap.