How To Implement Agile In a Project?

How To Implement Agile
Share

“Agile” has gained tremendous popularity in recent years and many organizations have adopted agile ways of working for their project/product delivery. But what is the fuss all about? Let’s understand in detail. 

Time has become a critical factor in delivering a product, you snooze you lose. That is, if you delay delivering a critical feature, your competitor has already taken a portion of your market. With evolving technology and changing customer requirements, your delivery methods need to be flexible and iterative to enable you to deliver value faster and more frequently. This has pushed businesses to move towards just enough planning and incremental execution. This enables them to experiment, innovate, and pivot as and when needed. This way of working is called Agile. 

Over the years, because of the benefits of Agile ways of working, Agile has become the way of working for almost all teams & organizations. Once the decision to adopt agile is made the million-dollar question that arises is:

  1. What is agile and How does it work in Project Management? 
  2. What are the principles of agile?
  3. What are the different frameworks available?
  4. What are the roles and ceremonies?
  5. How to implement agile in a project?
  6. How to implement agile in your team?

Well, this blog aims to cover all the questions in a structured manner to help you implement agile in your project. 

What Is Agile? And How does it work in Project Management?

Agile in general is the ability to be quick and pivot based on circumstances. Let’s understand this with an example – Imagine you are traveling from one city to another via a train, and the route is blocked because of some technical problem. The only option you have is to wait till the blockage has been removed and proceed with the journey. This comes with the understanding that you have already planned your journey, and route and also have booked your tickets and there has been a commitment to fulfill your plan. 

But imagine you are traveling from one city to another via a car, and the route you are driving on is blocked because of some accident, your immediate action is to check for another route and take it to fulfill your journey. In this case, while you are committed to an outcome of reaching your destination, you are not following a plan. You quickly inspect and adapt to change to fulfill your journey. This is Agility in general. 

Agile in software development also follows the same footsteps. A project/product is a set of requirements committed to be fulfilled in a certain duration. Against conventional project management, where the requirements are planned exhaustively at the beginning and the plan is followed religiously over the duration, agile focuses on:

  • Delivering smaller chunks of requirements continuously 
  • Keeping your user/customer close to 
    • Get feedback 
    • Understand the change in requirements
  • Reducing the feedback loop
  • Continuously improving the product and people competency
  • Prioritizing and planning the next increment 
  • Focussing on cross-functional teams to collaborate effectively 

What is Agile Project Management?

Agile Project management refers to a set of principles of practices that helps teams plan and deliver products in smaller increments, get feedback, and pivot continuously. Agile is a way of working where teams plan just enough based on priorities, deliver, and pivot based on feedback, generally in shorter cycles. This enables teams to be flexible in terms of responding to changes during the course of execution. 

Agile project management emphasizes on:

  • Delivering smaller increments continuously against one big fat release
  • Getting feedback as quickly as possible versus waiting till the end 
  • Close collaboration against the silo mode of working 
  • Just enough planning against planning everything at the start 
  • Adequate documentation versus sign-off culture 
  • Being flexible in working on changes required versus resisting it 

How Do Agile Approaches Work?

Agile, as mentioned above, is a mindset whereas in terms of project delivery, there are several frameworks/practices available which when implemented in a project help teams to bring agility and reap the benefits of agile. The picture below shows different approaches/frameworks that help promote agility in your teams. While all the frameworks help in bringing agility in your teams, not all of them can be used concurrently. Choosing the right framework is based on the type of project, the nature of your requirement, and the system’s demand.

how agile approaches works

Let’s quickly discuss a few popular frameworks. 

SCRUM

  1. A lightweight framework that is widely used. It follows fixed-length iterations. Requirements are planned, delivered, and inspected across time duration called sprints
  2. It has predefined roles – Product Owner who owns the requirements, Development Team which converts the requirements into working software, and a Scrum master to keep the agility aspect intact and 5 ceremonies with fixed intent
  3. It gives good predictability because of its fixed-length sprints
  4. Any new project development or delivery with rather new teams can adopt SCRUM

adopt SCRUM

KANBAN

  1. Second widely used framework where the work is continuously delivered with no fixed length iterations. 
  2. Focuses more on the flow of work and visualizing it with a board. 
  3. There are no prescribed roles or ceremonies in the framework as it emphasizes on pulling of work by the team members with specialized skill set 
  4. Usually adopted in project where there is continuous input of work with continuous outcome of value delivery expected and teams with higher agile maturity

Kanban cards

A Quick Preview of Other Frameworks

  • BDD (Behavioral Driven Development) – An agile framework which promotes shared understanding of the system behavior between developer and the stakeholders. Automation and common understanding of requirements is the primary focus with requirements written in plain english (GWT format) and then the system is built around it
  • TDD (Test Driven Development) – An agile approach where tests are written before the development, functional code is written and refactored until the requirements are met.
  • XP (Extreme programming) – An agile approach which focuses on the programming part of the development. Special emphasis is around coding standards, pair programming and peer reviews. 

The Four Principles of Running an Agile Project

Agile Manifesto is the core foundation document which was formalized in 2001 by a group of software people to overcome the gaps in the traditional software development models. This document serves as the base for running an agile project and all the practices and frameworks ultimately promote these values in the team. 

  • Individuals & Interactions Over Process & Tools – Agile emphasizes on people collaborating, owning and solving problems together rather than becoming a slave of a process. The idea is to involve people in decision making, planning, owning success and failures together and giving them autonomy
  • Working Software over Comprehensive Documentation – A software which meets the end user needs is the primary measure of success and agile values over exhaustive documentation. Agile believes in adequate documentation. But a team would rather spend time building the software rather than preparing a lot of documents which may not be useful for the end user
  • Customer collaboration over contract Negotiation – Agile values focuses on keeping the customer close during the execution to understand the priorities, changes and to get feedback. Involving the customer at the early stages may reduce risks that might pop up later and deliver the value which is needed.
  • Responding to Change over Following a Plan – The idea of agile is to inspect and Pivot. New technology is emerging everyday, there are new systems coming out frequently, new design patterns are being rolled out frequently and changes become inevitable. So rather than following a plan which was drafted a long time back, it only makes sense to accept and work on the changes needed.

While these are the core values around which Agile Software development was built, there are 12 principles that were further derived. The picture below mentions the 12 principles of Agile.

principles of Agile

Getting Started With Agile Project Management (Step by Step)

How do you implement agile in your project? If you have decided that you want to implement agile in your project and are wondering where to start, well you have landed on the right page. Here is a step by step approach on “How to implement agile in your project”

  • Step 1: Get a Buy-In from all the Stakeholders 

Agile ways of working involves change of mindset and culture across the team and at all the levels. So it is important for everyone including the stakeholders, customers, to know why we are doing agile, what are the benefits, what will change and how will we proceed. So it becomes vital to get a common consensus with what, why and how part and buy-in across all levels on the decision for a smooth adoption journey.

elevator pitch technique

  • Step 2 : Pilot with a few projects Initially

Creating a success story acts as a catalyst for agile adoption across the organization. So it is important to minimize the blast radius by selecting 1 or 2 projects, implementing agile, creating success stories and cross pollinating it to other projects.

Build Your Product Roadmap

  • Step 3 : Select a Framework 

Agile comes with a lot of frameworks suited for different types of projects. Not all frameworks can be used for a single project and also Scrum (widely used framework) may not be best fit for your project. Based on the project nature, technical systems, team structure/maturity select the framework which best suits your criteria and context and get a buy in from everyone involved.

Train the teams as per your context (knowing agile). For example, in Scrum, there are 3 specific roles and 5 ceremonies and certain artifacts. Implementing Scrum and starting Sprinting without training the teams will become chaotic as there will be a lack of understanding. Hence scope learning for a few days, have dedicated training sessions with the team on the framework, set expectations with the roles and then move to the implementation phase.

  • Step 5: Implement and Coach

Handhold the team when they start adopting agile in their projects during the first few iterations. Identity stakeholders who will drive the change, create the invites for the ceremonies, facilitate the ceremonies, work with the POs in creating and prioritizing the backlog, create one increment and get feedback. This will promote understanding of the actual implementation (the doing agile part) and will help teams to contextualize their learning from the agile training sessions.

  • Step 6: Monitor and Improvise 

Once the cadence is set, teams will become aware, processes will mature with time and we will slowly start to see the benefits from agile adoption, it should now become a continuous journey to improvise on what we have built. Continuously monitor the metrics, process and people aspect and keep injecting the improvements so that it becomes a habit and eventually teams are mature with Agile (being agile)

How to implement agile methodology in a project?

Now that we have understood the backbone of the Agile project implementation plan, let’s see the step-wise approach of implementing agile in a project. 

Step 1: Set your project vision and scope with a planning meeting

The first step is to derive/identify the vision statement. Vision statement helps the company/customer or the team in understanding various aspects of the product like what is the product they want to build, why they are building it, what are the key benefits of the product, what problem statement the product will solve and for whom.

Teams can use elevator pitch technique to brainstorm on a common vision statement

Step 2: Build Your Product Roadmap

The vision statement gives a direction to what we are building. This should give us a fair bit of idea into who our target customers are, understand their pain points and what is their “As Is”  state. Which will in turn help the team and the product managers to derive the “To Be” state and translate it into the features set and requirements (Maybe a Story Map)

Step 3: Create a Release Plan

But with the list of stories, there comes a question of what goes first?, use simple techniques like MOSCOW or Now, Next, Later to slice the release and version of your product which gives you a rough timeline roadmap.

Create a Release Plan

Step 4: Sprint Planning 

Sprint planning Meeting happens at the start of each sprint and helps us in knowing the just-enough goals that we need to focus during the sprint.

Product Owner is responsible to identify the most meaningful outcome that a team could deliver within a time-box duration of sprint. The goals could include new requirements from the Product or Release backlog, undone stories from previous sprint/s and feedback from the previous sprint review meeting. The development team gets answers for all their concerns and that should help them in giving commitment.

Step 5: Keep your team on track with Daily Stand ups

The purpose of Daily Stand Ups is for the team to communicate and discuss the progress made against what was planned in the sprint planning meeting and to communicate impediments and dependencies. Daily Stand ups promote shared ownership and decision making within the team. This is a 15 mins meeting which happens every day at the same time and same place.

Step 6: Sprint Reviews

Sprint reviews are done to give feedback on the increment which has been developed. Goal of sprint review is to showcase the working software and collect feedback on the product so that we can improve and make better decisions. This happens at the end of every sprint. The feedback collected helps the team to prioritize the backlog to focus on delivering value in an efficient way.

Step 7: Decide what to focus on next in your sprint retrospective

Sprint refinement / backlog refinement / Backlog groomings is one of the important ceremonies in a sprint. There are several goals of the ceremony while the intent is to get ready for the next sprint. Some of the goals include detailing the requirements, prioritization in next increment, estimation of stories, splitting large stories to smaller work items and identifying potential problems for the upcoming sprints. 

How Consulting firms are helping in implementing agile? 

Consulting firms play an important role in helping companies in agile project implementation. An agile consulting company like Benzne with consultants who are subject matter experts with a lot of Agile implementation experience across multiple organizations, geographies and domains are unbiased in their approach with a time bound outlook. Here are a few pointers on how consulting firms can help bring agile within teams, 

  • As Is Assessment and Strategic Roadmapping 

Agile consulting firms start their implementation journey with an assessment to understand the current team’s maturity and practices. Based on the assessment, they create a tailored customized roadmap to align with the problem statement & goals

  • Framework Agnostic, Outcome Driven Transformations

Agile consulting companies have required knowledge, exposure and implementation experience of working with various Agile frameworks. They design and recommend frameworks or a mix of frameworks based on need rather than just applying one framework because of organizational norms. They cater to solving a problem with best suited framework with agility in mind versus adopting agile for the sake of it

  • Education/Awareness and Education 

Consulting firms provide training and programs to train teams and stakeholders with Agile principles, practices, and frameworks such as Scrum, Kanban, SAFe, LeSS, Extreme Programming (XP) & many others. Training sessions may include workshops, Instructor led classroom sessions, and hands-on exercises to reinforce learning based on the need.

  • Coaching and Handholding 

Agile consultants work closely with teams and leadership to guide them through the Agile transformation process. They provide ongoing support, feedback, and guidance on implementing Agile practices, resolving challenges, and adapting to change.

  • Unbiased, Outside-In Perspective 

Consultants are generally contract based and the contracts are usually outcome driven. Their experience having worked with multiple companies enables them to overcome challenges/resistance with a lot more ease and help organizations with insights which have an outside-in perspective & thus leverages the best of the industry trends

  • Metrics and Milestone Based Transformations 

Consulting engagements are outcome driven with intermediate and final milestones. This enables the transformation to be faster and more effective. Check more about these at our page – Benzne agile enablement and transformation services.

Conclusion

Implementing agile in your project is not a one time activity, it is a journey. Additionally, applying any framework within agile does not necessarily mean that you are agile as a team or organization unless you are leveraging the benefits that an agile approach of doing things should bring to your teams, metrics, transparency and overall organizational culture.

The Agile implementation journey typically includes getting buy-in from the stakeholders, educating the team members, selecting a framework or a mix of frameworks, and implementing it. It is a journey where teams need to be continuously monitored, educated, coached and supported 

Always remember, Agile is not a methodology, it’s a mindset and a journey toward delivering value-driven outcomes that meet the changing needs of your customers and stakeholders.

With this our blog on “How to Implement Agile in a Project” comes to an end and we hope this blog was insightful. Please write to us at “consult@benzne.com” for any feedback, suggestions or if you want to explore our agile enablement and transformation services.

 

FAQ Questions:

1. What is the Agile implementation process?

The agile implementation process involves several key steps and practices aimed at adopting Agile methodologies effectively within an organization. These Steps include:

  • As Is understanding of the current state
  • Getting leadership and stakeholders buy in 
  • Selecting a few pilot projects to start with 
  • Selecting a framework to implement 
  • Educating the team members on the framework 
  • Creating the backlog 
  • Implementing the iterative and incremental process
  • Measuring the progress 
  • Introducing best practices to sustain and bring the rigor 
  • Continuously improve based on feedback

2. How to implement Agile in support projects?

Support Projects have continuous incoming work with an expectation of continuous delivery of work. As the nature of the work demands everyday planning, Kanban framework is best suited for these kinds of projects (subject to the nature of the project). Below are the steps to implement agile in support project:

  • Understand the flow of the tickets and the team maturity 
  • Implement the process and tailor as as per the assessment report and gaps to fill 
  • Educate the team on the new process 
  • Set expectations with respect to roles and responsibilities
  • Promote open communication and collaboration within the team 
  • Introduce best practices by removing waste in the process
  • Set up metrics to continuously monitor 
  • Bring in continuous improvement mindset

3. What is agile vs waterfall?

Both Agile and Waterfall are two models of software development. Below are a few differences between them:

  • Waterfall is a sequential method of delivering software where as Agile is more incremental and iterative approach 
  • Waterfall focuses on planning everything exhaustively upfront while agile emphasis on just enough planning and iterating continuously
  • Waterfall have longer development cycles while agile has short increments developed in short time span 
  • Waterfall focuses on one release at the end of the lifecycle while agile promotes frequent smaller deliveries 
  • Changes in requirements in waterfall requires a change management system to be implemented, while agile changes can be easily implemented based on the priority

4. Why do we implement agile?

Time has become a critical factor in delivering a product, you snooze you loose. That is if you delay in delivering a critical feature, your competitor has already taken a portion of your market. And with evolving technology and changing customer requirements, your delivery methods have to be flexible and will have to iterate over a plan not waiting for a long time to deliver something.  Agile project management emphasizes on:

  • Delivering smaller increments continuously against one big fat release
  • Getting feedback as quickly as possible versus waiting till the end 
  • Closely collaborating against silos mode of working 
  • Just enough planning against planning everything at the start 
  • Adequate documentation versus sign off culture 
  • Being flexible in working on changes required versus resisting it

5. How do you implement Agile testing?

Agile testing is ensuring quality across all the stages of a project, starting from planning, development, and integration till deployment. Here are a few things to consider to implement agile testing:

  • Bring in an incremental testing approach 
  • Start testing well in advance – Use TDD concepts 
  • Utilize automation testing 
  • Involve test teams early 
  • Embrace continuous integration – Continuous testing and Deployment

Leave a Reply

Your email address will not be published. Required fields are marked *