An Agile Workflow in a Nutshell

In this chapter, we will discuss Agile to find out what it is and how we can benefit from it.

Many companies have moved away from the waterfall methodology when developing software. They have switched to a more adaptive methodology such as agile, and for a reason. The waterfall methodology just follows the original plan and requirements and there is little to no room for change. It is obvious that such an approach is not going to work for your app. Unless you have a crystal ball, and you are right from the beginning, this approach most likely is going to lead to a lot of waste.

An agile workflow accommodates change through adaptive planning, promotes faster software development and delivery, and is rooted in a continuous improvement methodology. That is exactly what you need to validate your assumptions, and it is what you need to pivot when necessary.

There are a lot of implementations of agile software methodology. They all focus on the ability to adapt and to deliver releasable software as quickly as possible. Some of them focus on managing the workflow in particular. One of the most common is Agile Scrum. We will have a closer look in this methodology to see how well it works with Lean software development.

Specifically, in this chapter, we will learn more about the following topics:

  • An Agile workflow
  • Lean software development, Kanban, and Scrum
  • Epic, stories, and tasks
  • The Scrum team and the daily standup
  • Backlog refinement and the definition of Ready
  • The sprint planning
  • The definition of Done
  • The sprint review, planning, and retrospective
  • Tools that you can use, such as Trello and Jira