This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.
Anti-patterns in the Continuous Delivery (CD) Practice
This week CollabNet published a new whitepaper “Top 5 Anti-patterns in the Continuous Delivery (CD) Practice“, which discusses common issues faced by companies as they establish best Continuous Delivery (CD) practices. By observing hundreds of companies on their journey to CD, we found that even the best engineering organizations can easily get trapped in process anti-patterns by simply applying engineering best practices used in the traditional software development lifecycle.
Why is this happening?
It is happening because CD is still an emerging practice, and the best practices for it are still forming. It is very hard, if not impossible, to foresee anti-patterns when solving new class of problems. Anti-patterns are not easy to recognize right away since they actually provide workable solutions. Both patterns and anti-patterns require time to be discovered through trial and error, as the problems they attempt to solve become more common and better understood. The negative consequences of anti-patterns can either be experienced only over time, or only in certain conditions.
Is your team struggling to break their work into small, measurable units? Are you concerned with risks of directly pushing “bad” code changes to deployment? Wish you could embrace the culture of continuous feedback and collaboration without losing productivity? Then this whitepaper is for you!
You will also learn more about:
- The most common causes of CD anti-patterns.
- How to identify the top 5 anti-patterns and to prevent them.
- Ways to effectively mitigate and recover from the common anti-patterns.
Here are the key takeaways from the whitepaper:
It is important not to confuse anti-patterns with unworkable approaches, or non-solutions. Since anti-patterns actually provide workable solutions, they can be very confusing.
- A pattern is a known good way to solve a common problem. Correct use of patterns provides long-term lasting benefits.
- Anti-patterns often provide immediate relief, but result in problems down the road.
- There are many causes of engineering process anti-patterns, but some of them are more pervasive than others in CD environments.
When you find yourself trapped in an anti-pattern, it is possible to recover from it and turn things around. But sometimes full recovery is not an option, especially when it requires a significant effort or a monetary investment. It is less than ideal, but you still can live with anti-patterns while mitigating their negative effects and contemplating the recovery plan. Technology can play a major role this process, as well as in prevention and recovery. A good choice of CD platform can help you:
- Achieve better traceability and visibility across your pipeline
- Measure time spent in each phase of your software lifecycle
- Gather feedback early and often, from all business stakeholders
- Encourage company-wide collaboration
- Build a single access control model across for all team members, across your entire tool chain
- Encourage code reuse
- Codify your best practices
To learn more, read the full version of the whitepaper.