1. Agile without DevOps?
ASHUTOSH RAI
IMPLEMEN
TATION
ITERATION
PLANNING
DELIVERY
&
FEEDBACK
DE
V
OP
S
DEVOP
AGILE
@ashurai77
Ashutosh Rai (ashurai77@hotmail.com)
3. Why Agile?
Time to Market
High Quality
Increase Productivity
Project Process Tracking
Self Managed Team
Customer Demands
• Priority based work.. Who decides priority…. PO. How PO.
• Delivery in iteration.. Is it shippable… Our work dose not..
• Team decide what need to be done…
• Team provide estimation .. Team plan for work… Is this self
managed team do.
• Team is committing and delivering…
• Measuring velocity…Do you have any historical data.. No
• We track burndown.. What story point, Estimated Hrs, Count
• We do daily stand-up…SOS…..
• We do TDD…
• We involve testers from day one… DOR/ DOD
• Customer attend daily stand-up
• Customer priorities…….. Is he/she available to the team if
required?
4. Why DevOps?
Continuous software delivery
More stable operating environments
Faster resolution of problems
Faster delivery of features
Less complex problems to fix
More time available to add value
(rather than fix/maintain)
• Continuous integration help deliver faster
• Performing regular deployment and checks
• Automation leave rare complex issues
• Reduces technical debt
• Log monitoring help to identify & resolve problems faster
• Monitoring helps to not to leak any issue
• Working in iteration for faster feedback
• Configurable Provisioning help to create environments faster
• Identifying issue takes less time
• Auto messaging for issues improved time to fix.
Technical Benefits: Business benefits:
5. What is DEVOPS?
Evolution of Agile
Dev Working with Ops
Missing Link in Agile Dev + Ops
Subset of Agile Agile is Subset
DevOps is about the culture, collaborative practices, and automation that aligns Development
and Operations teams so that they have a single mindset on improving customer experiences,
responding faster to business needs, and ensuring that innovation is balanced with security
and operational needs.
6. What is AGILE?
A set of guiding values and principles
Applicable beyond software development
Brought to life via framework, standards, Methodologies and processes
More prospective then prescription
Agile is a process management, or
simply agile refers to an iterative, incremental
method of managing the design and build
activities of engineering, information
technology and other business areas that aim
to provide new product or service development
in a highly flexible and interactive manner
Agile is the ability to adopt to change as fast or
faster than the change occur. Agile is an
umbrella term for a set of Values, Principles
and Practices that have been shown to
improve the Efficiency, Productivity and Quality
of software delivery.
7.
8.
9. Source Code
Repository
JOB’s
Extract Files Compile
Unit Test
Execution
Publish Results
Package
(Artefacts)
Publish
(Repository)
Environment
Provisioning
Deploy
Environment
Integration
Testing
Publish Reports
Deploy
Environment
Integration
Smoke Testing
Publish Reports
GITCVS TFS
Perforce
Bit Bucket
Git Hub
J Unit
Mockito
N Unit
C Unit
CPP Unit
Code
Quality
Sonar
Find Bugs
Check Style
Nexus
Artifactory
Ansible
Puppet
Chef
Selenium
QTP
Cucumber
CI
Jenkins
Bamboo Maven
Gradle
SBT
Devops PipeLine
Production
Monitoring
Log Monitoring
Rancher
Data Dog
ELK Stack
LogStash
Kibana
Elastic Search
Process
Management
Jira Rally
Self Healing
Mechanism
Feedback
CD
10. Devops with Agile
Automate :
• Regression Test so that iterative
releases can be performed
effectively and reliably.
• Performance Test so that you
should not get surprises from
production
• Acceptance Test so that stories
should accepted based on
acceptance criteria
• Automated Unit testing so that
each unit writing should be
tested properly
• 20-30% of technical debt stories
per iteration.
• Collaborate with operation to
have them updated about their
stories.
• Sufficient Logging to capture
relevant data to identify
problem area faster.
• Regular code check-in.
• Automate CI as par
organisations requirement
/Standards
• Plan with Agile Teams
• Attend Agile Team Meetings
• Automate Monitoring
11. Agile With DevOps
Devops helps to achieve Iterative shippable workAgile recommends iterative mind-set
Devops helps to manage priority work globallyAgile recommends prioritized work
Devops helps to achieve continuous integrationAgile recommends continuous integration
Devops helps to achieve automationAgile recommends automation
Devops provide means to ensure quality software
shipped any time (Continuous Deployment).
Agile recommends working software each iteration
Devops provides mechanism to change fasterAgile helps in responding to change
13. Title Slide
Title - Agile Narrow (size 48)
Contact - Calibri (size 13.5)
Following Slides
Title – Agile Narrow (size 40)
Following Text – Calibri (size 13.5)
Editor's Notes
Time to Market
Have buy-in on the plan & priority from everyone involved
Identify gaps to improve process, Implement Automation wherever you can.
Remove duplicity of work.
Self Managed
A group of people working together in their own ways, toward a common goal, which is defined outside the team.
Increased Productivity
It’s the system which can help you to improve productivity and not the people as we are not working in a factory
Making a habit of what our team likes to do…
Project Tracking
Do you know how many test cases you have automated and how much time you are saving.
Do you know your code coverage
Do you have a comparison of defect dencity….
High Quality
Do your team have DOR? How are we making sure team understood story as par our expectation
Do your team get enough time to do integration testing sprint by sprint?
Customer Demands
Do your customer help to remove technical debt?
Do our customer understand the importance of writing unit testing. Do you have it in DOD accepted by your customer
Time to Market
Have buy-in on the plan & priority from everyone involved
Identify gaps to improve process, Implement Automation wherever you can.
Remove duplicity of work.
Self Managed
A group of people working together in their own ways, toward a common goal, which is defined outside the team.
Increased Productivity
It’s the system which can help you to improve productivity and not the people as we are not working in a factory
Making a habit of what our team likes to do…
Project Tracking
Do you know how many test cases you have automated and how much time you are saving.
Do you know your code coverage
Do you have a comparison of defect dencity….
High Quality
Do your team have DOR? How are we making sure team understood story as par our expectation
Do your team get enough time to do integration testing sprint by sprint?
Customer Demands
Do your customer help to remove technical debt?
Do our customer understand the importance of writing unit testing. Do you have it in DOD accepted by your customer