What is Agile workflow?
“Agile is a corporate capability to be able to achieve the Agile benefits.” – Arie van Bennekum
Agile is an iterative methodology for delivering a project. It is often perceived as a philosophy and a way of thinking over a framework or process. That is important to remember because oftentimes Agile gets confused with Scrum. While a team can be Agile without practicing Scrum, it cannot practice Scrum and not be Agile.
Let’s look at the Agile manifesto, its values, and its principles to understand more. They were created by a group of programmers, who were looking for an alternative to software being developed.
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.’’
The 12 principles articulated in the Agile Manifesto are:
- Satisfying customers through early and continuous delivery of valuable work.
- Breaking big work down into smaller tasks that can be completed quickly.
- Recognizing that the best work emerges from self-organized teams.
- Providing motivated individuals with the environment and support they need and trusting them to get the job done.
- Creating processes that promote sustainable efforts.
- Maintaining a constant pace for completed work.
- Welcoming changing requirements, even late in a project.
- Assembling the project team and business owners on a daily basis throughout the project.
- Having the team reflect at regular intervals on how to become more effective, then tuning and adjusting behavior accordingly.
- Measuring progress by the amount of completed work.
- Continually seeking excellence.
- Harnessing change for a competitive advantage.
Ecartic and workflows
At Ecartic there are a variety of projects going on and we use different workflows for appropriate projects. Our current projects vary from implementing product improvement, as well as building entirely new products from scratch. Some are B2C and some are B2B, some are very backend heavy, whereas some are more focused on the front end and user flows. We are always exploring which workflow fits best for the purpose.
Also, the development team sizes vary from very small to larger teams, and taking that and the team’s preferences into consideration is probably the key success factor.
Different types of Agile workflows, as brought out by educba:
- Feature Driven Development (FDD)
As the name indicates, FDD is an iterative and progressive workflow model for system development, primarily focusing on features. The concept of FDD is to come up with high-end features and scope, so as to develop the entire model and execute the same. The FDD goes through the five stages:
- Develop the Entire Model: Firstly, a few models are selected specifically for each domain. And these domain models are successively blended into one entire model based on the concept and scope.
- Develop the Listed features: Features are the list of requirements specific to the customers. These features are to be completed within a timeframe of not more than 2 weeks for release.
- Feature Planning: The listed features are then assigned to the developers.
- Feature Designing: The details of every feature are developed, evaluated and then finalized.
- Feature Building: After the design is inspected and improved, the entire feature is included in the main build to be delivered to the customers.
Crystal is not a set of pre-defined tools or patterns but is a set of various software methodologies. The crystal model is human-centric and considers people as the most important asset in system development, followed by the processes to meet the client requirements. The crystal process does not pre-define the tools or methods at the very start of the project but is determined based on the business and technical requisites of a project. Based on the time duration and project conditions, crystal is further subdivided and denoted by various colors.
- Agile Unified Process (AUP)
The unified process is an iterative and progressive method consisting of four steps. These are, ‘Inception’, ‘Elaboration’, ‘Construction’, and ‘Transition’.
- Extreme Programming (XP)
XP is one of the popular agile workflow models, which is focused on continual improvement through customer feedback. The workflow of XP for system development is comprised of 4 stages. These are, ‘Coding’, ‘Testing’, ‘Listening’, and ‘Designing’.
Scrum is an agile workflow process based on a repetitive approach. Scrum emphasizes continual improvement for customer satisfaction. The workflow of Scrum consists of ‘Product Backlog’, ‘Planning Sprint’, ‘Sprint Backlog’, ‘Sprint’, ‘Routine Scrum Meetings’, ‘Sprint Reviewal’, and ‘Internal Scrum Meetings’.
Kanban is based on the lean development process, which is a popular methodology introduced by Toyota Motors. It is an agile method that is non-iterative and is less structured. It emphasizes on delivering quality on a continual basis by effective team collaboration. The Kanban workflow comprises of ‘Product Backlog’, ‘Requirements’, ‘Design’, ‘Development’, ‘Testing’, ‘Deployment’, and ‘Done’ stages.
One of the agile methods which have been prevailing for the longest time is also used in Non-IT sectors. In this method, the project benefits and requirements are pre-defined clearly before the actual execution. This workflow includes stages of, ‘Pre-project’, ‘Feasibility’, ‘Foundations’, ‘Exploration’, ‘Engineering’, ‘Deployment’, and ‘Post Project’.
How to know what workflow is right for you?
There probably is no right answer to that question. It literally depends on your product, customers, team preferences, etc. Some projects require features to be released in batches and will most likely have to be scheduled, supported with release notes, or even require customers to update software whereas incremental improvement on a website’s navigation is more likely to be done per feature and also A/B tested. Winnings organizations are the ones who choose the right workflow for a specific project and also can pivot to another workflow when relevant.
What are the lessons we have learned on the way?
As stated at the beginning, people and teams are the most important factor, and no workflow is a solution that fits all projects. It can even be refreshing to change workflow and try out new things just to break the routine. Happy teams make the best product!!