1. Organisation Culture (41%)
Organisational culture is probably the most important aspect to consider when adopting sustainable Continuous Delivery principles. 41% of respondents said that organizational culture was seen as the primary barrier to Continuous Delivery adoption. Organizational culture is capable of blunting or significantly altering the intended impact of even well-thought-out changes in an organization. Organisations seeking to adopt Continuous Delivery will primarily focus on evaluating and improving working practice, but to truly embrace Continuous Delivery, organizations must ensure that their employees encompass its primary principles. Continuous Delivery adoption is usually impossible unless management is bought in and at least some of the engineers are willing to change the way they work.
As organizations mature their Continuous Delivery adoption they must seek to embrace a culture which;
• Is open, honest and transparent.
• Encourages collaboration.
• Promotes innovation, accountability and responsibility.
• Builds and Rewards trust across organizational boundaries.
• Enhances visibility of change and risk.
Organizational change is hard; it’s well known, theorised and documented and culture is the most difficult organisational attribute to change. For Continuous Delivery to be truly successful, the entire organisation must adopt its philosophy; to provide high-quality, valuable software as quickly as possible.
2. Lack of integrated development and operations
(DevOps) (19%)
DevOps does provide an implementation strategy for Continuous Delivery principles, but neither philosophy is truly dependent on the other. Continuous Delivery and DevOps are working towards common goals by providing business value through software delivery, within a culture that enables collaboration and understanding between the functional groups that deliver IT services where everyone is
responsible for delivery.
Within the DevOps movement, Silo’s between teams are being removed so that software can be delivered quicker. That is, business value can be delivered quicker. Developers are learning how to create production-ready software that can always be deployed, thus delivering high throughput and Operations are learning that Agile principles can enable effective and low risk change management, thus protectingstability.
A recent study by Forrester Consulting and ThoughtWorks found that;
• Companies are looking to prioritize innovation through developing software services.
• Software development providers can’t deliver new services at the rate business leaders want.
• Corporate culture and development process immaturity impede communication and slow service delivery.
• Few IT organizations regularly perform advanced continuous delivery practices. Therefore, it is not surprising that 19% of respondents consider a lack integrated development and operations capability as an adoption barrier for Continuous Delivery.
3. Technical hurdles (15%)
While Organizational Culture might be the primary adoption barrier for Continuous Delivery, there are also a number of technical hurdles to overcome. The technical challenges fall into 4 broad categories.
• Configuration Management
• Continuous Integration
• Automated Testing
• Automated Deployment
In each of these areas tools and associated best practice are becoming more advanced. Infrastructure-as-Code as promoted by OpsCode and Delivery Pipeline Management tools such as ThoughtWorks Go are being combined with an ever growing set of Cloud enabled services and platforms to make Continuous Delivery adoption easier from a technical viewpoint. However 15% of respondents believe that technical hurdles are significant in preventing adoption of Continuous Delivery.
4. Lack of understanding (15%)
Education of Continuous Delivery principles was seen as a big adoption barrier by 15% of respondents. Lack of understanding spans each of the possible responses in our survey from organisational culture through technical knowledge. But there are more basic misunderstandings of the terminology, principles and practice of Continuous Delivery. As Paul Stack points out Continuous Delivery is not continuous deployment. Paul correctly defines Continuous Delivery as the process of having shippable software after each check in to source control, whereas Continuous Deployment is the process of shipping your product after every check in to source
control. The difference is subtle but significant. Another misconception is that Continuous Delivery and DevOps are basically the same
thing. As Stephen Smith observes, Continuous Delivery and DevOps are interdependent, not equivalent. Some of this confusion may have arisen from the misinterpretation of the DevOps principles leading to differing opinions of the relationship between Continuous Delivery and DevOps, especially as “People often talk about DevOps and Continuous Delivery in the same breath.” as Jeff Sussna notes.
5. Business readiness to accept change at a fast pace (10%) In many organizations, change can often feel constant. However as Isaac Asimov said “The only constant is change”. In general, people don’t like change, so methodology that promotes the acceleration of change is likely to face opposition. Only 10% of respondents saw business readiness to accept change at a quicker pace as a barrier to
Continuous Delivery adoption. However, this may be influenced by the mainly technical community completing the survey. Reducing the Mean-time-to-deploy can have significant business advantages. Continuous Delivery aims to provide high-quality and valuable software as quickly as possible. That is, to deliver business value is less time, whilst protecting the value quality. Given, respondents saw this reason as the least important factor is preventing Continuous Delivery adoption – could mean that organizations are aware of the benefits of getting to market faster. For organizations aware of the benefits of delivering value at a quicker pace, and for
those willing to embrace cultural change, Continuous Delivery provides a set of principles, which if implemented can provide significant benefit.