5 best practices for getting to continuous deployment

10
5 Best Practices for Getting to Continuous Deployment

Upload: rainforest-qa

Post on 15-Apr-2017

499 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 5 Best Practices for Getting to Continuous Deployment

5 Best Practices for Getting to ContinuousDeployment

Page 2: 5 Best Practices for Getting to Continuous Deployment

The journey to continuous deployment can be a long one…

So we talked with CD experts about how they got there.

And as a result, we’ve come up with 5 best practices for getting to CD quicker and easier.

Page 3: 5 Best Practices for Getting to Continuous Deployment

Speeding up development cycles with continuous deployment

For many companies, agile development cycles are no longer fast enough. As a result, they’re beginning to adopt CD, which promises faster development cycles, higher quality products, and reduced development costs.

In the next couple slides, we’ll cover 5 best practices for getting to continuous deployment, including tips and tricks from the brightest minds in CD.

Page 4: 5 Best Practices for Getting to Continuous Deployment

Invest in tools & practices for your goals

Getting to continuous deployment requires the designing and implementation of infrastructure that enables teams to push code through a delivery pipeline as quickly and efficiently as possible. This infrastructure is made up of tools and processes to keep your team moving fast.

Be prepared to test out different workflows and tools to see which ones fit your CD organization. This includes CI/CD platforms, test management systems, and bug tracking software.

”The key test [of a continuous delivery environment] is that a business sponsor could request that the current development version of the software can be deployed into production at a moment’s notice -and nobody would bat an eyelid, let alone panic.” – Martin Fowler

Page 5: 5 Best Practices for Getting to Continuous Deployment

Focus on collaboration and culture

Cultural and organizational buy-in to implementing continuous deployment is essential. In transitioning from Agile to CD, teams need to make decisions and take action for themselves, ensuring that code is pushed to production continuously.

Empowering product managers and engineering leaders to push code when it’s ready is critical for building a successful CD organization. You simply can’t afford to wait for permission with every release.

This kind of engineering requires transparency and communication across the organization. When designing your CD infrastructure, include collaboration tools like Slack integrations, feature flags, and other tools for high-level objectives.

Page 6: 5 Best Practices for Getting to Continuous Deployment

Shift left: test early, test small

For traditional waterfall and Agile cycles, testing often doesn’t begin until a piece of software is close to being finished. For CD to work, testing needs to start early in the development pipeline.

Continuous QA, otherwise known as Continuous Testing, is critical to the success of CD practices. It’s essential to think about testing at the unit and integration test level, helping find the source of bugs faster, prevent regressions, and avoid technical debt.

Page 7: 5 Best Practices for Getting to Continuous Deployment

Use manual tests as a safety net

In lightning fast CD environments, products and features change at a rapid pace. As a result, automation suites can’t always keep up, and end up being brittle or flaky.

Integration and regression testing are key for stress-free deployments, but oftentimes manual tests get cast aside as “too slow for CD.” For established companies with some testing automation already in place, manual testing provides a human confirmation that automated tests results are accurate.

Page 8: 5 Best Practices for Getting to Continuous Deployment

Gain confidence from the canary launch

More deployments = increased chance of something breaking. And every time you release a new product or feature on your user base, you’re carrying risk. Organizations that practice CD need safeguards in place.

Instead of shipping code quickly to an entire user base, CD teams use canary launches or feature flags, to keep new features from creating regressions. By rolling out new features and builds to a small segment of customers initially, these canary launches can help improve uptime and ensure that frequent deployments don’t lead to frequent outages.

Page 9: 5 Best Practices for Getting to Continuous Deployment

Want more on Continuous Deployment?

These slides have been an overview of 5 best practices for getting to Continuous Deployment.

There’s more. Download our new eBook for:

• Insight directly from CD leaders• Success metrics from Amazon, SAP,

and more• What to consider when choosing

CI/CD tools• How culture and communication

can make or break implementation• Preventing QA testing from slowing

down your development cycle• Techniques to minimize regressions

and bugs

Download the eBook

Page 10: 5 Best Practices for Getting to Continuous Deployment

About Rainforest QA

The Rainforest Continuous QA Platform provides on-demand manual QA-as-a-Service so that agile and continuous deployment teams can develop software quickly without compromising quality.

Powered by 50,000 qualified testers, the platform serves as a management tool for writing, running and getting manual QA results is less than 30 minutes so that companies can focus on building quality software, not managing individual testers. Full feature access is available via API to seamless incorporate the platform into your existing development workflow.

Learn more about Rainforest QA here