# Agile Methodology
An iterative approach to project management.
---
## What is Agile?
A software development lifecycle (SDL): A process in which a piece of software is developed through and interated on during a period called a sprint.
---
## Why is it important?
Agile allows developers to produce production level code in stages. At each iteration a new feature is introduced, an old feature is being sunsetted, or a code breakage is fixed. This process is call CICD (*Continuous Integration Continuous Development*)
---
## CICD
Build, Test, Deploy. til infinity LITERALLY!!!
---
## What is a sprint?
A two week interval in which a certain part of the project is coded. This is where a engineer takes a user story and codes part of the feature by satisfying it's requirements.
---
## Stages of Agile
```
Plan
Design
Deploy
Review
```
---
## Plan
Where all the requirements are gathered and features are created. Each feature is split into small parts called user stories. *Usually while we are working on code form one sprint we plan and refine feratures in an upcoming one.*
---
## Design
Engineers design the parts of the project over the duration of a sprint.
---
## Deploy
Once the code is complete it is deployed to a production environment. *(Jenkins, AWS, Heroku, Netlify, Github Pages)*
---
## Review
Once the code is deployed it is reviewed constantly interated. This Step also appears in the beginning of the process.
{"metaMigratedAt":"2023-06-17T00:24:29.528Z","metaMigratedFrom":"Content","title":"Agile Methodology","breaks":true,"contributors":"[{\"id\":\"5e29e175-4809-4add-a41e-e8982dab52a9\",\"add\":1530,\"del\":63}]"}