How to Use Agile in Project, Part 2

In our previous article, we spoke about waterfall projects and their process and definitions, as well as, agile and its core values. In this article, we will go deeper into how to use agile in projects.

We will go through the most popular frameworks in my own opinion.

1.       Scrum
2.      Kanban
3.      Hybrid: Blend of Waterfall and Agile (Flexible Development and Thorough Project Planning)
4.     Bimodal: Traditional Waterfall Combined with Agile

Scrum: Most Widely Used Agile Framework.

Scrum is a dominant Agile methodology that dictates the process flow. It’s used exclusively by 58 % of organizations while another 18 % of the companies combine it with other techniques.

Scrum Roles and Accountabilities

Scrum is aimed at sustaining strong collaboration between people working on complex products, and details are being changed or added. It is based upon the systematic interactions between the three major roles with defined accountabilities: Scrum Master, Product Owner, and the Team.

  • Scrum Master is a central figure within a project. His principal responsibility is to eliminate all the obstacles that might prevent the team from working efficiently.
  • The Product Owner, usually a customer or other stakeholder, is actively involved throughout the project, conveying the global vision of the product and providing timely feedback on the job done after every Sprint.
  • Scrum Team is a cross-functional and self-organizing group of people that is responsible for product implementation. It should consist of up to 7 team members to stay flexible and productive. Recently, the focus has shifted from a self-organizing scrum team to self-managing, meaning it is up to a team to decide who does what, when, and how internally.
Sprints and Milestones

A basic unit of work in Scrum – Sprint – is a short development cycle that is needed to produce a shippable product increment. A Sprint usually is between 1 and 4 weeks long: More lengthy iterations lack the predictability and flexibility that are scrum’s fundamental benefits. Having no standard duration (as long as it is less than 4 weeks), all the Sprints within a project should have a fixed length. This makes it easier to plan and track progress.

Scrum relies on three main milestones that are used to manage the requirements and track progress – Product backlog, Sprint backlog, and Sprint burndown chart.

The Product Backlog is an ordered list of feature items that might be needed in the project’s final product. It is a single source of requirements. The product Backlog updates as new requirements, fixes, features, and details are being changed or added.

The Sprint Backlog is a list of tasks the team must complete to deliver an increment of functional software at the end of each Sprint. In other words, team members agree on which product items to deliver and define a plan on how to do so.

The Sprint Burndown Chart is an illustration of the work remaining in a Sprint. It helps both the team and the Scrum Master as it shows progress on a day-to-day basis and can predict whether the Sprint goal will be achieved on schedule.

 Scrum Meetings

The process is formalized through a number of recurring meetings or events, like the Daily Scrum (Standup), the Sprint Planning, the Review, and Retrospective meetings (the Sprint Retrospective).

The Daily Scrum is a timeboxed meeting, during which a Development Team coordinates its work and sets a plan for the next 24 hours. The event lasts 15 minutes and should be held daily at the same place and time.

The work to be completed is planned at Sprint Planning. Everyone involved in Sprint (a Product Owner, a Scrum Master, and a Development Team) participates in this event. They answer two key questions: which work can be done and how this work will be done. The Sprint Planning lasts no longer than eight hours for a one-month Sprint. For shorter Sprints, the meeting usually takes less time.

At the end of each Sprint, the team and the product owner meet at the Sprint Review. During this informal meeting, the team shows the work completed and answers questions about the product increment. All participants collaborate on what to do next to increase the product’s value. The Sprint Review is a four-hour timeboxed meeting for one-month Sprints.

The whole team goes to Retrospective Meetings to reflect on their work during the Sprint. Participants discuss what went well or wrong, find ways to improve, and plan how to implement these positive changes. The Sprint Retrospective is held after the Review and before the next Sprint Planning. The event’s duration is three hours for one-month Sprints.

When to Use Scrum

Scrum works well for long-term, complex projects that require stakeholder feedback, which may greatly affect project requirements. So, Scrum may be the best choice when the exact amount of work can’t be estimated and the release date is not fixed.

By setting customer needs and on-time/on-budget delivery as the highest priority, Scrum has gained the trust of 89 % of Agile users.  Thus, the list of companies using this approach is impressive. In fact, there is a public spreadsheet with such organizations, including Microsoft, IBM, Yahoo, and Google.

The latest research by the Scrum Alliance suggests that Scrum goes beyond IT. Companies in finance, consulting, education, retail, media, and entertainment choose this approach to organize their work processes and enhance cooperation with customers. The majority of State of Scrum Report respondents (98 %) said they were going to use this framework to move forward.

Kanban: Comprehensive Solution to Handling Work in Progress

Kanban is another common framework used to implement Agile project management. That said, 43 % of companies have stated that they use Kanban as one of the Agile approaches. Kanban is a simple, yet powerful approach to developing software products. Its origins go down to a visual system of cards used in Toyota manufacturing as a production control method.

Kanban Working Principles

Translated as “visual signal” in Japanese, Kanban focuses on the visualization of the workflow and prioritizes the work in progress (WIP), limiting its scope to match it effectively to the team’s capacity.

As soon as a task is completed, the team can take the next item from the pipeline. Thus, the development process offers more flexibility in planning, faster turnaround, clear objectives, and transparency.

No standard procedures within the process, as well as fixed iterations, are required in Kanban, as opposed to Scrum. The project development is based on workflow visualization through a Kanban board, usually represented by sticky notes and whiteboards or online tools like Trello.

Trello automates and digitalizes Kanban. Due to the succinct information about a work item each Kanban card contains, everyone in the team knows who is responsible for the item, what each person’s task is, when it’s supposed to be finished, etc. Team members can also leave comments, attach screenshots, documents, or links to provide more details.

Teams using Kanban tools work in a cooperative manner. The ability to track progress helps coworkers understand everyone’s personal input in achieving the common goal, resulting in a focus on completing the task well and on time.

When to Use Kanban

Using Kanban, teams can do small releases and adapt to changing priorities. Unlike Scrum, there are no Sprints with predefined goals. Kanban is focused on doing small pieces of work as they come up. For example, if testers find errors in the product, developers try to fix them right away. Kanban, for instance, works well after the main release of the product and suits update and maintenance purposes. 

Companies like Spotify and Wooga (a leading mobile games development company) have been using this approach successfully over the years. Yet, 8 % of organizations combine Scrum with Kanban techniques, using so-called Scrumban rather than the original frameworks.

Hybrid: Blend of Waterfall and Agile (Flexible Development and Thorough Project Planning)

Agile and Waterfall are two different visions of software development management. The former is about iterative development and being flexible, while the latter, promoting step-by-step development, requires careful planning, and rejects making changes along the way.

23 % of companies realized that using principles of both approaches can be more beneficial than choosing one of the two. The combination of the traditional Waterfall project management approach and Agile is called Hybrid.

Hybrid Framework Working Principles

Specialists use the advantages of the Agile philosophy for software development. When it comes to budgeting, planning, and hardware setup, Waterfall works well. On the other hand, by embedding Agile practices into a traditional Waterfall work process, companies can increase their chances of realizing successful projects.

For example, project planning can be done in sprints, testing can be incorporated into development, and feedback can be gathered regularly. Other ways of modifying the Waterfall model include using Kanban boards and organizing retrospectives.

It should be noted that the feature choice of the hybrid framework may depend on the project. The hybrid frameworks not only imply using both approaches, depending on the project phase but also include options to inject Agile practices into a Waterfall process.

When to Use Hybrid

Hybrid is an effective solution when product delivery relies on both hardware and software operations. But, there is another reason to choose Hybrid. The situation in which a customer is not satisfied with an unspecified timeframe and budget, as well as the lack of planning, is not rare. Such uncertainty is typical for Agile. In this case, planning, requirements specification, and an application design can be accomplished in Waterfall. Agile is in place for software development and testing.

Bimodal: Traditional Waterfall Combined with Agile

The Bimodal approach is quite popular: It is estimated that 16 % of companies choose it. The term “Bimodal IT” was introduced by Gartner in 2014.

Bimodal Working Principles

Bimodal is the practice of managing two separate but consistent styles of work: one focused on predictability and the other on agility.

Mode 1 is traditional; thus, it works perfectly in well-understood and predictable areas.  According to Gartner, it focuses on exploiting what is known while transforming the legacy environment into a state fit for a digital world.

Mode 2 involves rapid application development. It is exploratory, nonlinear, and optimized for solving new problems. Mode 2 is especially useful for working on projects that need to be finished as quickly as possible.

Both modes require different skills, techniques, and tools. Therefore, two separate workgroups are needed. These teams have two distinct goals — ensuring stability while adopting innovations. Team members focus on projects that suit their mode best.

The Mode 1 team develops and maintains applications and core systems to support long-term business needs. A company’s technological capabilities depend directly on the work that’s done by this team.

The Mode 2 team frequently delivers innovative applications to engage new customers and meet short-term business needs. This team may change the product’s functionality after having received feedback and analyzed the market.

The teams use different delivery mechanisms and report through different organizational structures. Nevertheless, they need to communicate with each other to exchange ideas and share results, Mode 2 relies on the information and services infrastructure provided by Mode 1, while Mode 1 relies on Mode 2 for testing both new product ideas and new development methods that may eventually be rolled back into Mode 1.

When to Use Bimodal

If the company specializes in both long- and short-term projects that require different development and management approaches, Bimodal might be the right choice. This framework is about keeping the balance between maintaining IT system infrastructure and driving innovations. When successfully implemented, Bimodal helps organizations quickly deliver solutions that users need to stay competitive.

How to use Agile in Project Management

Before moving forward to use Agile philosophy in Project Management you need to know how to implement Agile project management successfully. While the process may differ from one company to another, there are a few general steps to follow.

Step 1: Get your manager and stakeholder buy-in

Before you start implementing the new way of doing projects, make sure that everyone is on the same page and supports the change. So, it’s a good idea to talk to the key players and get their buy-in by explaining the benefits of Agile, addressing any of their concerns, and answering questions.

Step 2: Start small

Since incremental progress is the cornerstone of Agile, it makes sense to begin the methodology implementation with one small project, evaluate the feedback, and then apply it to other projects within your organization.

Step 3: Get your team excited

The success of Agile projects relies on the ability of different team members to cooperate and communicate. If your team isn’t excited about the whole idea and/or doesn’t support change, implementing Agile will be a tough task. After all, one of the main principles of Agile puts individuals and their interactions over processes and tools.

Step 4: Choose a fitting framework and stick to it

As you see, there are a lot of different Agile frameworks and practices to use. Each one has different requirements and focus. It’s important to pick an Agile framework that fits your processes in the best way and stick to it. If, say, you decide to implement Scrum, make sure your team strictly follows a work plan for each Sprint and attends daily meetings.

Using Agile in project management involves implementing an iterative and flexible approach to project planning, execution, and delivery.

Here are the key steps to using Agile in project management:

  • Define the project scope: Clearly outline the project’s objectives, requirements, and deliverables. Focus on creating a product backlog that includes all the tasks and features to be completed.
  • Form an Agile team: Assemble a cross-functional team with members possessing diverse skills necessary for project execution. The team should include representatives from different disciplines, such as development, design, testing, and business analysis.
  • Break down the project into iterations: Divide the project into manageable iterations, often referred to as sprints. Each sprint should have a fixed time duration (typically 1-4 weeks) and a set of specific goals or user stories to be completed.
  • Prioritize tasks: Collaboratively prioritize the tasks or user stories in the product backlog. Focus on high-value items that can be accomplished within a single sprint. Use techniques like MoSCoW (Must have, Should have, Could have, Won’t have) or relative prioritization techniques like voting.
After finishing the above three steps, you continue with:
  • Plan the sprint: During the sprint planning meeting, the team selects the tasks they will work on from the prioritized backlog. Define the acceptance criteria for each task, estimate the effort required, and establish a realistic sprint goal.
  • Execute the sprint: The team works on the tasks during the sprint, following Agile principles and practices. Daily stand-up meetings are conducted to discuss progress, challenges, and any adjustments needed. The team collaborates closely, ensuring transparency and frequent communication.
  • Monitor and adapt: Regularly review the progress of the sprint against the sprint goal. Hold sprint review meetings at the end of each sprint to showcase completed work to stakeholders and obtain feedback. Also, conduct a sprint retrospective to identify what went well, areas for improvement, and actionable insights for the next sprint.
  • Iterate and refine: Repeat the process for subsequent sprints, incorporating feedback and making adjustments based on lessons learned. Continuously refine the product backlog, reprioritize tasks, and adapt plans as necessary to meet changing project requirements.

By following these steps, you can effectively use Agile in project management to increase collaboration, adapt to changes, and deliver value to stakeholders in a more iterative and efficient manner.

Now we reach our conclusion

The Agile approach is often mistakenly considered to be a single methodology. Yet, there are dozens of methodologies and certain practices that have not been touched upon in this research.

Regardless of the exact methodologies and techniques they use, Agile teams have proven to increase profits 37 % faster and generate 30 % more revenue than non-Agile companies. Higher speed, flexibility, and productivity achieved through such approaches are the key drivers which motivate more and more organizations to switch to Agile.

Agile methodologies allow for delivering cutting-edge products and cultivating innovative experiences while keeping the product in sync with market trends and user requirements.

However, there is always a place for diversity. Depending on your business requirements and goals, you might still benefit from using the Waterfall model or the combination of the two.