What this blog cover:
- Basic definition of DevOps
- Basic definition of Agile
- DevOps vis a vis Continuous Deployment
- DevOps vis a vis Continuous Integration
- DevOps vis a vis Agile Development
- DevOps vs Development Agile
Basic Definition of DevOps:
DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between Development and IT Operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between the two business units.
(Courtesy www.webopedia.com/TERM/D/devops_development_operations.html)
Question 1: Is it a new Tool?
Answer: NO, NO.
It’s Dev + Ops working together to deliver solutions quickly & reliably.
Question 2: Why do we need DevOps?
Answer: By the time a new IT solution is deployed, it no longer maps to what business owner needs. Businesses are evolving FAST … be it BFSI, Gaming, Travel, FMCG etc.
Basic Definition of Agile:
Dictionary meaning of Agile is: Quick and well-coordinated in movement
Agile methodology is an alternative to traditional project management, typically used in software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development. (Courtesy http://agilemethodology.org/)
DevOps vs CD/ CI/ Agile Development
If we see the diagram, the Agile Development ends by Test phase of the lifecycle. This means DevOps is not a good candidate to extend Agile (Development) up to. However said that Since Agile is a methodology so it can be introduced within the IT Operations.
DevOps vs Agile
DevOps is a small areas of intersection of 3 areas of IT: Development, QA, Operations. It’s small in size, means small set of activities of that area of IT, out of whole activities of that area actually fall under DevOps.
Agile cycle currently embrace the IT/QA (which current Agile methodology covers).
Some of the activities that are common to Development and QA and need support from Operations are:
- Infrastructure access
- Product Deployment
- Product Configuration
- Ticket Resolution (application specific)
- Application Performance and Tuning
- Application security
And so for these set of activities only Agile can be extended for IT Operations team.