Article Written by Sanjay Zalavadia, VP of Client Services, Zephyr
Traditional waterfall approaches involved
building a monolithic program that would be coded, tested and released as a
unit. However, if any functionality was missing or if issues emerged in the
product, users wouldn't get any relief until an entirely new version was
created and deployed.
Things have considerably
shifted under agile operations with the introduction of DevOps continuous delivery that ensure that teams will be able to keep up with changing user
needs and can adjust the app at any time to include patches and fine tune
functionality. Continuous everything has become a
necessary part of agile practices to improve defect management overall
and ensure that deliverables are always ready to be pushed out. However, what
do these continuous processes actually entail and what can they offer your
team? Let's dive deeper into four continuous processes of DevOps to identify
their function and how they fit into agile approaches.
Code integration is one
of the biggest risks within software development as any changes could cause
other elements within the application to break. However, the earlier that
builds are integrated, the faster teams will receive feedback on what elements
aren't working appropriately. This can make it much more cost-effective to fix
and will require a significant amount of collaboration across developers.
SD Architect author Sanjeev Sharma noted that under CI, developers working on
different components will deliver their work at the same time into a common
area for an integration build. This will help regularly address integration
issues and verify that integrated components function as designed. CI is
especially beneficial because it reduces the risk of needing to dedicate time
at the end of a sprint to fix issues and can contribute to a better quality
In DevOps, CD can mean
either Continuous Delivery or Continuous Deployment. Although these processes
are very similar, the way that they are carried out has some slight differences
and these characteristics will determine which one is better for your team's
setup. According to Accenture, Continuous
Delivery involves a manual trigger to
bring a build into production, while Continuous Deployment uses an automated
trigger for this need. With delivery, this means that
you can be ready at any time to send off the component, but only when you deem
When determining which
CD is best for you, you'll need to consider if you can reliably automate to
production each sprint or if you'll need extra time before sending out your
deliverables. These practices may seem to be alike, but the manual versus test automation interaction can make the difference for your team.
were relegated to the end of the development process, with little time to fully
evaluate the software. This left significant room for errors and defects to
live in the final product. However, continuous testing means that QA is
involved from the very beginning, often building tests before a line of code is
even written by developers. Sharma noted that QA teams would have their own
separate production-like environment to test the deliverables.
These tests would be run
on a daily or weekly basis to help support CI and CD processes. Continuous testing can also be extended to Ops personnel who conduct their own acceptance tests, smoke tests and system stability tests
before the application is sent to production. Quality testing tools will be required to keep up with these testing needs and
ensure that everyone stays on the same page.
When software is
released, it still requires support from DevOps teams to ensure that it
continues to perform as expected and provides value to the user. Continuous
Monitoring helps to accomplish this feat. With a set of capable tools, DevOps
can monitor their systems, applications and environments to identify any
operational issues. Analytics capabilities will be integral here to providing
real-time feedback and presenting actionable information that will positively impact
DevOps and its
continuous processes can be a challenge to facilitate, but they are necessary
to keeping up with the pace of agile and providing users with quality
applications. By understanding what each practice entails, you can better take
advantage of them within your own team.
DevOps teams use
continuous processes to keep up with agile needs.
About the Author
Sanjay Zalavadia is responsible for driving custom success at
Zephyr. This includes training, consulting, customer support and client
management. Most recently, as the Associate Vice President for Patni
Computers Telecoms IT Managed Services Practice, he established IT
Operations teams supporting mobile content providers.
Sanjay brings more than 15 years of leadership experience in IT and
Technical Support Services teams across multiple geographies for both
large and small companies. Sanjay has a graduate degree from the
Manipal Institute of Technology in India.