Define agile workflow for software development teams

Whenever somebody asks me how the workflow should look, the answer is very simple: “it depends”. Every team is different and they don’t have the same agility, but over the last months, I saw a pattern that seems to work in software development teams.

I defined a new workflow using Jira, where in the same process we have the development and also the validation process.

Workflow for software development teams
Workflow for software development teams

The above workflow applies to all issues (epics, story, bug, task, and so on).

The first status To do is the starting point for each issue and the transition (WIP) is very easy to understand. We can move our issues only to In progress status. After we moved the issue into In progress status is no way to go back to into To do status. Some teams hide that they started to work on an issue, but this a very dangerous move (we’ll discuss this in a future post).

The In progress status is the most important part of the entire work. This is where all the work is done, so in theory, in this status, we are going to keep the issue more time. After the issue is done, then we can move the issue into Testing status.

Testing status is where the acceptance criteria are validated and we can move back the issue into In progress or to Done (when the definition of done is meet).

From Done status, we can move back the issue to in progress, but when this action happens, we have a problem in our entire process.

Using this workflow we are ready to have some detailed reports and also to see if we have some bottlenecks in our development cycle.

P.S. This is only an example that works for small teams (4 – 10 scrum team members), but every team should have its process that applies best in the organization.