How To Agile
Tags: agile, productivity, management, deadline
Published: 2020-08-17 02:04:24

#### Agile development defines a team that shows traits like collaborative efforts, self-organizing, and cross-functionality. There are mainly two frameworks for agile project management *KANBAN* and *SCRUM*.

#### KANBAN

> This particular framework defines a continuous flow of work to the team thus focusing on efficiency as the team always knows what's the next task to come after the current one is finished.
Visualize it as a set of cards with a predefined set of works to be done and the due process completes a given project. These well-defined cards are atomic tasks. Teams can be divided with a set of cards to be completed.

Ex:- 
* DevOps | Github pipelines, dockers and cloud management
* Backend | Api development, documenting 
* Frontend | Boilerplate, Themeing, Component flow mapping

### KANBAN FLOW

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/e95mtf4ljuojh56g8iy7.png)

#### SCRUM

> This framework has a given time frame as the sprint window like 1 week or 2 weeks. Given tasks are divided into sets, estimating deliverables in the time frame chosen. Then these sets of work are allotted to teams to be sprinted upon in the given window. At the end of the sprint window, the external (task creator | scrum master) takes the list of work done.
The incomplete tasks/ bugs encountered in the given window is sprinted in the next time frame.

Ex: - Let's take the 1st-week window
* DevOps:- sets docker-compose and GitHub workflows
* Backend:- Designs API listing to be ingested and documents
* Frontend :- Sets up bolierplate and themeing.

### SCRUM FLOW

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0fwzoh0v1v1v8ivev734.png)

### PROS

#### KANBAN
> 1. **FLEXIBILITY**:- The team is never overloaded with work as it only advances to the next task once the current ones done. The team is free to choose the order of completion of the tasks allotted.
2. **INCREASED THROUGHPUT**:- Efficiency is the first priority as the team always knows what to do next and thus doesn't sits idle or involves time on planning or strategies.
3. **GOOD COMMUNICATION**:- The team works in a closely coupled internal structure as it focuses to its own deliverables.

#### SCRUM

> 1. **QUICK PLANNING**:- As the team only needs 1/2 weeks of task set, so planning could be made quickly to get the progress started sooner. While the team's busy with the current set of work the scrum master can plan for the next window.
2. **GREATER COLLABORATION**:- The interdependence among teams is not an issue as the teams coupled, share a common set of deliverables.
3. **SELF ORGANIZING**:- As the team is provided with a big set of deliverables so the teams can plan atomic tasks on its own. Thus atomic planning is still in the dev team's hands.
4. **RAPID IMPROVEMENT**:- The issues in the current sprinted work can be dealt with in the next sprint. Focusing only on changes assures the robustness of outputs from each window.

### CONS

#### KANBAN

> 1. **CAN FALL APART QUICKLY**:- If a project has a coupling dependency between teams, one team's lag or incompetency causes delivery issues on its end but also creates a domino effect on other teams thus the project falls apart and needs replanning.
2. **NEED CONSTANT FLOW OF WORK**:- As the throughput is high the teams need a constant inflow of work. If it's not attended to, the idle time of the team will increase and thus the project might fall apart.
3. **DEADLINE PREDICTION IS TOUGH**:- As the teams are free to choose the precedence of work and moves to the next set of work after the previous one has clearance thus the final deadline of the whole project is quite a hassle to predict and might often be impossible.
4. **PRIORITY OF WORK IS NOT STATIC**:- As the team itself sets the precedence, it often differs from the planner's perspective and that leads to issues.

#### SCRUM
> 1. **SPRINT REVIEW LEADS TO MORE MEETINGS**:- Each sprint review takes comparatively more time and involves more meetings than kanban. Thus this leads to eating up more dev time in standups and meets.
2. **REQUIRES A LITTLE TIME TO GET IN PREDICTION FLOW**:- When a new project starts off, timeline prediction takes some initial sprints to be set as the team takes some time to get used to the process flow.
3. **PROPER WORKLOAD PLANNING**:- If the task set is not correctly broken down to the team's throughput in a timeframe, each set can take more time to be completed than anticipated thus breaking the flow.

**Some softwares to manage agile projects are**
1. [Jira](https://www.atlassian.com/software/jira)
2. [Trello](https://trello.com)
3. [Monday](https://monday.com)

*wish this helps you follow deadlines better*