By : Liat Palace (Director, Delivery Technology Office Agile/DevOps Coaching Team Lead – Amdocs) & Shirly Ronen Harel (Co-Founder & Agile / DevOps Coach -WeChange)
The Agile framework can work without the involvement of Operations, however DevOps cannot do without Agile practices and mindset. To support the rapid work environment change and the results we are striving to achieve, a sound application structure and solid foundation are mandatory. As DevOps leans on Agile, good Agile practices must take into consideration the end results and evolve into DevOps.So what is the relationship between Agile and DevOps, and what are the differences between them? What do they have in common and what was added to Agile to achieve the DevOps culture and mindset?
There is no doubt that Agile has become a common practice for the
last 10 years and produces great results, much better than any other
"traditional" framework. It fits
a fast-changing complex work environment better than any other development
methodology. However, the current work environment keeps evolving, and so does
the need to improve the provision of high quality continuous customer delivery.
If Agile added speed, with higher quality and the ability to address
unexpected, complex work environments better than traditional processes, then DevOps
now improves this even more.
We can say that while Agile was mostly bound to the development
process, and did not cover Operations, DevOps serves as the handshake between Development,
Testing and Operations to enable better collaboration among them. At the same
time, DevOps, as an enhancement of the Agile framework, is also about improving
stability and the ability to react to change, shortening the time from idea to
production, ensuring better collaboration as a mindset and principle among all
the parties across the entire business, increased use of tools, and maximum
automation as a must.
The Agile flow:
Source:
Moving to DevOps and Beyond https://www.ibm.com/developerworks/community/blogs/invisiblethread/entry/beyond_devops_distributedops_noops_and_bizdevops?lang=en
Following is a breakdown of the differences/additions/emphasize of
the Agile and DevOps methodologies:
DevOps
|
Agile
|
|
The overall E2E service or software
Smooth and continuous delivery to the customer
|
·
Continually releasing small chunks
of working code
·
Continuous improvement
|
Focus
|
E2E results
|
Development velocity
|
Emphasis
|
Focus on the end results and customer
experience.
|
Ensure Customer
Satisfaction through efficient development, with early ROI and an opportunity
for feedback
|
Goal
|
Looking at the pipeline and feedback loop
and creating a continuous improvement mechanism in the organization.
|
The Agile Manifesto
|
Values
|
Extended
implementations of Agile methods such as Scrum with Operations, Kanban with
Operations, etc. Additional methods that should be put in place: Automation,
testing, versioning, visualization, production monitoring
Entire delivery value chain integrated into
one Agile system.
|
Process implementations such as Scrum, XP and
others
|
Methods
|
Based on Agile techniques with the addition
of continuous integration &
deployment, tool chains, metrics, monitoring, virtualization, etc., as well
as techniques to accelerate change and lower risk
|
Tactical techniques such as standups, backlogs,
grooming, scoping, sniffing, retrospectives, planning poker, and others
|
Practices
|
Many tools are used. Expands Agile values and
principles, and provides for integration and automation, from development to
delivery to users.
Tools include: Jenkins, Git, Docker,
Puppet, chef, TeamCity, OpenStack, Log collection utilities.
|
Specific tools or apps to facilitate
processes such as JIRA, Bugzilla, KanBoard, etc.
|
Tools
|
In practice, “Done” is moved from delivery
to the end user.
·
Operations practices and tools are moved
up, as early in the development cycle as possible
·
Silos are flattened, and the value
of incremental releases is allowed to flow to end-users without barriers
|
Agile principle – Definition of Done – for working
software
|
Done
|
·
Entire value chain of delivery must
buy into values & principles
·
SCIO
|
Functional requirements + customer feedback
on development
|
Value chain
|
·
All stakeholders must be part of Agile
collaboration throughout application lifecycle
·
SCIO
|
Only Development team; customer views work
increments via demos
|
Stakeholders
|
Main issue to handle
|
Usually not considered
|
The deployment pipeline
|
·
Test continuously
·
Automate almost everything
·
Continuous integration and testing
is mandatory
|
·
Test as early and as often as
possible
·
Automate testing as much as possible
·
Continuous integration
|
Testing and Automation
|
Continuous E2E integrated monitoring and
optimization
|
Process monitoring / production monitoring
|
Monitoring
|
Development and Business undertake continuous
planning using backlog with ‘end thinking first (OPS)’ and with OPS involvement
|
Continuous planning and design; Scoping,
discovery and grooming, planning and sniffing.
|
Building the backlog
|
Agile + acceleration via actions on the
entire delivery cycle E2E
|
Acceleration of Development, Testing and
integration TTM
|
TTM
|
Agile + improvement of quality via
industrialization and automation of manual tasks as mandatory
|
Embedded Quality, TDD, ATDD, upfront testing
|
Quality
|
Agile
+ Emphasis on collaboration and trust
Testing is done at all stages by everyone involved
·
Build
something that has the quality of our brand written all over it
Quality belongs to all – it is not only the testers’ responsibility
Lean thinking
Reduction of
silos
Waste removal
Bottleneck
identification
Value driven
thinking
“Continuous
integration”
Culture of E2E
E2E shared ownership
QA as enabler (not gatekeeper)
Always working software
Continuous feedback: Shorter feedback loops
- Strong monitoring E2E
|
·
We are all in this together - Dev
& Testing – no Us vs. Them
·
Dev &Testing shared ownership
·
Embedded Quality
·
Working software = Done = end of iteration
·
Early Feedback
·
Strong visualization
·
Continuous improvement
·
Fun
|
Mindset
|
E2E waste reduction, achieving efficiency
using tools, people and methods, and changing mindset
|
Partially
|
Lean thinking
|
Continuous E2E feedback and input
|
Looks more like
backlogs, user stories and success metrics, demos
|
Seek input outside the team doing the work
|
No stages
|
Agile definitely has stage gates of
deployment (alpha, beta, and launch) but has the ability to deploy a solution
that can be seen as a finished product at any point in time.
|
Stages
|
Strive for no iterations – Continuous
delivery
|
Cadence
|
Embrace iteration and Ongoing refinement
|
Decisions are made based on analytics input
from production environments (such as system usage)
|
Data-based decisions
|
Sources:
Some of the insights are collected from the following sources:
I read your Blog, this is the valuable content it helps for learners. Thanks for sharing, Keep share more content on Devops Online Course
ReplyDeleteThis is very helpfull Blog..Thanks for sharing!!!
ReplyDeleteMicrosoft Azure DevOps Training
Azure DevOps Online Training in Hyderabad
I have read your blog its very attractive and impressive.
ReplyDeleteDevOps Training
DevOps Online Training
Nice Blog!!!!
ReplyDeleteDocker and Kubernetes Training
Docker and Kubernetes Online Training
Docker Online Training
Hello! Great article and thank You for Providing Such a Unique and valuable information on The igmguru.com for your readers. I really appreciate it. You can also visit devops course for more igmguru.com related information and knowledge.
ReplyDeletenice informative post. Thanks you for sharing.
ReplyDeleteAgile and devops methodology
kralbet
ReplyDeletebetpark
tipobet
slot siteleri
kibris bahis siteleri
poker siteleri
bonus veren siteler
mobil ödeme bahis
betmatik
OV7
nice...............!
ReplyDeletemulesoft training
pega training
servicenow training training