Recently the word agile has become popular as many organizations start to jump on the bandwagon to use agile to decrease the time-to-market of new products, new ideas or new features/enhancements to existing products. This desire to beat the time-to-market has become more evident recently due to the rise of the new startups or nimble companies that have cut out the red-tape that the old organizations tend to go through to get simple activities accomplished , for example, access to an application or to procure a new laptop. It is also clear that if organizations do not embrace the new technologies then they risk being eliminated or new nimble organizations taking the market share. We can remember how Amazon (amazon.com) has impacted (and continues to do so) many brick-and-mortar high-street outlets as consumer habits change to do more online shopping that offers easy returns and purchasing options compared to visiting local malls.
So we agree that we need to be more agile in our ways of working and to be quick to market. But what is agile as many people have different definitions or approaches when asked? This is where this post is going to focus on.
This desire to beat the time-to-market has become more evident recently due to the rise of the new startups or nimble companies
The Waterfall Way
We start by looking at what was available before agile ways of working were introduced. Looking at the past, a waterfall approach was followed religiously. This included following a sequential set of steps as outlined above:
This approach was great and is still being used by many organizations as well as individuals. However, some of the challenges we have with waterfall approach are:
- Everything is done in sequence so appropriate resources are assigned to the project as the project progresses. The risk is that key resources may get reassigned to other projects if the project timelines are changed
- Whatever project scope was decided in the beginning, it was then analysed, designed and built as per the project timelines. So if anything changes during the project life-cycle, it will be be considered as scope-creep and therefore will impact time, cost and scope of the project
- There is a risk that by the time the project completes, the organization requirements may have changed therefore, the business value of the project maybe less
The Agile Way
The agile way to do things is to develop or do things in an incremental way, that means doing all the steps that are followed in a waterfall are completed in a shorter cycle, typically 2 weeks. This allows the project team to decide what they intend to deliver and do analysis, design, build and test for that work and demonstrate to the stakeholders and get early feedback on the work completed. This will allow the project team to pivot if necessary to make sure that the end project deliverables will be what the stakeholders are expecting.
This agile way can only work if the work environment is conducive for agile activities and the people have an agile mindset. Agile mindset is not just hearing about what is agile but it is to understand agile, make the environment possible to execute agile specific activities and to promote agile values and principles. An agile mindset is the set of attitudes supporting an agile working environment. These include collaboration, desire to improve and learning cycles, pride in ownership, focus on delivering value, and the ability to adapt to change. This mindset is necessary to cultivate high-performing teams, who in turn deliver amazing value for their customers.
This agile approach has gained momentum recently as more and more organizations try to be nimble and quick to deliver to the market and is further propelled by new technologies and consumer behaviors. Here are some of the capabilities that agile approach brings:
- Everything is done in an iterative manner, meaning products/features are built, tested and deployed in an incremental way; allowing the Agile Team to demonstrate to the product owner for get an early feedback
- All requirements are continuously reviewed and prioritized to make sure only the most relevant work is undertaken by the Agile Team, therefore, allowing scope creep (which was possible in waterfall approach but at a cost to the project and impacting the project timelines)
- The agile final project delivery would be relevant as the products/features built were based on continuous feedback from the product owner – hence, greater business value
The Scrum – Agile Way
Scrum is a lightweight yet incredibly powerful set of values, principles and practices. Scrum relies on cross-functional teams to deliver products and services in short cycles, enabling:
- Fast feedback
- Continuous improvement
- Rapid adaptation to change
- Accelerated delivery
Source: scrumalliance.org
Using Scrum to apply agile core values and principles, helps agile teams to form, storm, norm and perform faster. Each member of the Agile Team is a dedicated, subject matter expert (SME) and part of a cross-functional team, tasked to deliver a minimum viable product (MVP) after each 2 weeks sprint.
Scrum is an approach originally used in software development as a creative way to get products or results both effectively and efficiently. The method is designed for teams of 3 to 9 members as an ideal team size. Work packages (i.e. sprints) are created that can be completed within time-boxed iterations (normally 2 weeks).
There are two critical roles in the Agile Team:
The Product Owner
The Product Owner (PO) prepares and prioritizes a list of tasks called the product backlog and is responsible for the success of the project. A team takes over the tasks from the backlog during the sprint planning and completes them in a predefined period (sprint). In the end, the results are presented to the customer in a sprint review. Within a sprint, a team creates real results rather than rough sketches. In the process the team is completely free and decides on its own how to proceed.
The Scrum Master
The Scrum Master facilitates and makes sure that the team can work without interruption. He/she ensures that everyone understands and follows the agile/scrum processes. However, the Scrum Master is a Servant Leader, meaning it does not have any power like a Project Manager against the Agile Team (or the Scrum Team) and therefore, works with the team in a collaborative manner. The Scrum Master has another critical job to remove any impediments/blockers that the Agile Team may face.
The Scrum Ceremonies
- Daily Stand-ups: For the Agile Team to meet daily for 15 minutes to discuss the workload in the active sprint, making sure the team is working towards completing the undertaken workload as part of the sprint
- Backlog Refinement & Sprint Planning: The Agile Team reviews all the user stories in the backlog that are prioritized to make sure they are complete as per the definition of ready and have all the necessary information like: Acceptance Criteria and estimation in Story points in every user story, to mention few
- Sprint Demo: The Agile team demonstrate their effort for the previous sprint to the Product Owner for early feedback
- Sprint Retrospective: The Agile Team discusses what went well and, therefore as a team, wants to keep doing and what can be improved. Those items that can be improved upon are prioritized by the team and assigned to someone in the team to make sure it will be addressed before the next sprint retrospective
The Sprint Fundamentals
- Each sprint is time-boxed to 2 weeks
- Each member of the Agile Team is 100% dedicated
- The Agile Team works as a single unit, cross-functional and experts/superstars in their own ways
- The Agile Team tries to be consistent in their sprint delivery to determine the team’s velocity – i.e. the number of story points completed by the team in a sprint
- After each sprint (i.e. 2 weeks), the process repeats – it is like rinse & repeat
In Conclusion
Agile approach can be used not just for software development but for everyday life as well. We can plan our work day or anything else by using the same principles used in a Scrum by adding tasks to sticky notes to remind and track the progress. It is an excellent approach that is simple to understand, flexible and fun to do – give it a try!