Using Agile workflows in software development for fun and profit
Workflows entails execution and automation of business processes where tasks , information or documents are passed from one participant to another according to a set of procedural rules.
In every software development company the team has a process they use to complete certain tasks. Having workflows ensures the processes are scalable. An iterative approach to workflow management helps the development team meet their goals and exemplifies their culture.
When implementing workflow for the team, always start simple. Overly complex workflows are hard to understand and adopt not to mention adapt. You can use the below stated workflows:
To-Do------In Progress ------code Review ------Done
These flow from one to the next using transitions which structure the workflow. Additional states may be included to help the team track the status of work more precisely.
Each state in the workflow does not need to be handled by a different individual. As an agile team, developers handle more and more work from the design all the way to delivery. An autonomous team can handle heterogeneous work is done of the hallmarks agility.
When you are comfortable with basic workflow and are ready to customize it, create statuses for each type of work in team’s process. Ideation , design, development, code review and tests are functionally different and can be individual statuses. Aim for a lean set of status that will clearly communicate what phase of work is in.
Project statuses can also be shared with the rest of the organization. When building a workflow, think about which metrics are important to report on and what non-team members may be interested to learn. A good designed workflow answers the questions below:
How long does it take to complete an average task?
Are there any setbacks slowing the team down?
How many items are there in each status? Etc
As the team learns to optimize around its work in progress limits, throughput increases. From www.trendpro.co.ke