0% found this document useful (0 votes)
102 views

Agile Vs DevOps

Agile focuses on iterative software development through frequent delivery of working software in short cycles. DevOps aims to bring developers and operations teams together to automate and streamline the process of deploying and maintaining software from development to production. While Agile emphasizes collaboration between developers and product teams, DevOps expands this to include operations. The two approaches can work together, with DevOps applying Agile principles across the full software lifecycle from ideation to maintenance.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views

Agile Vs DevOps

Agile focuses on iterative software development through frequent delivery of working software in short cycles. DevOps aims to bring developers and operations teams together to automate and streamline the process of deploying and maintaining software from development to production. While Agile emphasizes collaboration between developers and product teams, DevOps expands this to include operations. The two approaches can work together, with DevOps applying Agile principles across the full software lifecycle from ideation to maintenance.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Agile vs.

DevOps
Agile
• Agile is a time boxed, iterative approach to software delivery that
builds software incrementally from the start of the project, instead of
trying to deliver it all at once near the end.
• It works by breaking projects down into little bits of user functionality
called user stories, prioritizing them, and then continuously
delivering them in short two week cycles called iterations.
Working of Agile…
• You make a list:
• Sitting down with your customer you make a list of features they would like
to see in their software. We call these things user stories and they become
the To Do list for your project.
• You size things up:
• You size(estimate) your stories relatively to each other, coming up with a
guess as to how long you think each user story will take.
• You set some priorities:
• Like most lists, there always seems to be more to do than time allows. So you
ask your customer to prioritize their list so you get the most important stuff
done first, and save the least important for last.
Working of Agile
• Then you start delivering some value. You start at the top. Work your
way to the bottom. Building, iterating, and getting feedback from
your customer as you go.
• You update the plan as you go :
• Then as you and your customer starting delivering one of two things is going
to happen. You'll discover:
• You're going fast enough. All is good. Or,
• You have too much to do and not enough time.
• At this point you have two choices. You can either a) do less and cut
scope (recommended). Or you can b) push out the date and ask for
more money.
Advantages of Agile
• Customer satisfaction by rapid, continuous delivery of useful software.
• People and interactions are emphasized rather than process and tools.
Customers, developers and testers constantly interact with each other.
• Working software is delivered frequently (weeks rather than months).
Face-to-face conversation is the best form of communication.
• Close, daily cooperation between business people and developers.
Continuous attention to technical excellence and good design.
• Regular adaptation to changing circumstances.
• Even late changes in requirements are welcomed
Disadvantages of Agile model:
• In case of some software deliverables, especially the large ones, it is
difficult to assess the effort required at the beginning of the software
development life cycle.
• The project can easily get taken off track if the customer
representative is not clear what final outcome that they want.
• Only senior programmers are capable of taking the kind of decisions
required during the development process. Hence it has no place for
newbie programmers, unless combined with experienced resources.
Agile Manifesto
DevOps
• The goal of DevOps is to help bring together developers who write
application software and operations who run the software in
production.

• DevOps replaces the old approach of development teams writing


applications then throwing them over the wall to an operations team
who deploys and manages the software with minimal visibility into
how it was developed.
DevOps Three Ways
Similarities/Differences between
Agile and DevOps
• Agile emphasizes collaboration between developers and product
management — DevOps includes the operations team
• Agile centers the flow of software from ideation to code completion
— DevOps extends the focus to delivery and maintenance
• Agile emphasizes iterative development and small batches — DevOps
focuses more on test and delivery automation
• Agile adds structure to planned work for developers — DevOps
incorporates unplanned work common to operations teams
Agile and DevOps- Together
• DevOps :- an evolution of agile practices, or as a missing piece of agile

• It’s an effort to take the innovations of the agile approach and apply
them to operations processes.

• A missing piece of agile, because certain principles of agile are only


realized in their most complete form when DevOps practices are
employed.
Comparing Agile & DevOps
• Agile Practices – tactical • DevOps Practices – agile techniques
techniques such as standups, plus specifics such as continuous
backlogs, planning poker, and integration & deployment, toolchains,
other artifacts metrics, monitoring, virtualization, etc.
• Agile Tools – specific tools or Techniques to accelerate change and
apps to facilitate process such lower risk.
as JIRA, Bugzilla, KanBoard, • DevOps Tools – Many in use. Tend to
etc. overshadow agile values & principles.
Provides for integration & automation
from dev to delivery to users. Puppet,
chef, TeamCity, OpenStack, AWS – among
the tools used widely
In a DevOps Situation
• Dev and IT Ops work as one • Software released to users in
team to manage and release smaller, incremental releases
software as it is ready.
– Responsible for end-to-end – Users can feedback directly to
process of development, Dev Team.
release, and management of • A culture change within
software assets
organization allows a
• Teams work with collaborative continuous loop of
mix of automation, improvement and change in
configuration, integration, and organization
quality assurance.
– Dev widens the scope of their
testing and QA to ensure
software is operationally ready

You might also like