October 01, 2019 By Aaron Cure In Education & training
People are often confused by DevOps and Agile in the software development industry.
You may have a lot of questions such as:
This infographic will break it down and simplify it for you.
Let’s start by understanding each one separately.
This methodology takes an iterative and incremental approach to development.
This approach to operations focuses on communication, collaboration, integration, and deployment.
Features | DevOps | Agile |
Purpose | Managing end-to-end engineering processes | Managing software development projects |
Processes/Practices | Processes like Continuous Deployment (CD), Continuous Integration (CI), Continuous Testing (CT), etc. | Practices like Agile Kanban, Agile Scrum, etc. |
Key Focus Area | Equal priority on timeliness and quality | Main priority on timeliness and integration with stakeholders |
Goal | To address the gap between operations and development and testing teams | To address the gap between development and testing teams and customer needs |
Task | Focuses on constant testing and delivery | Focuses on continuous manageable product improvements |
Implementation | A core focus on collaboration with no commonly-accepted framework | Range of tactical frameworks including Sprint, Scrum, and Safe |
Release Cycles/ Duration | Smaller release or continuous-release cycles with immediate feedback; deadlines and benchmarks built around major releases | Development is carried out in units of “sprints”; each sprint usually lasts about two weeks could take a month or less |
Scope of Work | Agility and the need for automation around deployment processes | Agility around the development and feature delivery processes |
Feedback | Comes from internal team using monitoring tools | Comes from customer |
Cross-Functionality | Development and operations work together; not separately | Any team member is free to take up any required task within the project |
Automation | Primary goal in DevOps as it helps maximize efficiency | No emphasis on automation |
Advantage | Allows rapid and automated deployment of new features, minimizes risk of deployment issues | Capability to accommodate changes during the development phase as features are prioritized |
Challenge | Difficulty integrating build and deployment processes | Difficulty estimating effort and requirements in the early stage of development |
The simple answer is neither. Each of these methodologies fills a different purpose and they are often used together.
Agile allows development teams deliver functionality more frequently.
DevOps allows more efficient build and deployment of delivered functionality to environments like QA, Pre-Prod, and Production.
In either case, secure coding and security testing are not implicitly part of the model.
This can cause a huge disconnect between developers and management in terms of application security.
Since security should be a major concern, it’s crucial that you use secure SDLC solutions in both development and deployment models to ensure your deployed applications are secure.
These solutions should: