How To Use Agile Methodology to Accelerate & Improve Software Product Development


Agile methodology
Agile methodology has a tangible impact on project outcomes according to several studies. The
PMI report came out with startling statistics, 48% of projects are not finished on scheduled time, 43% go over budget and 31% of projects fail to meet the initial goals and business objectives.

Studies have shown that agile methodology leads to improved project outcomes. It has been widely adopted at leading software companies & organisations around the world like Amazon, NASA, Google among many others.

Agile methodology mandates that no one should spend their time doing meaningless tasks. Teams should reduce wastage, improve processes and encourage open communication between all stakeholders. Here’s a look at some of the amazing elements of agile methodology to build better software products:

1. Product Owner

The product owner is the person responsible for translating the vision into reality. When a new product needs to be developed or additional features need to be added, product owner shapes the development process.

A product owner is someone who understands the business scenarios, market needs and customers. The product owner is available for the team, but is generally not a developer. The product owner is the person who answers: What needs to be done? Why does it need to be done?

The product owner has the power to take decisions. The product owner doesn’t involve himself in the architectural or the implementation details but with the business impact of the product. He orchestrates the product teams into action mode with good stories that are essentially value added features for the customers.

2. Team
Agile methodology

The agile team is responsible for the execution of the project. The agile methodology mandates small teams. A team size of 3-8 people is ideal for executing a project. Why? There have been several studies that have shown that small teams work efficiently and effectively. As the team size grows beyond 8 people, it is better to split them into smaller teams. People have limited short term memory span that can hold 4 things at a time. Larger teams slow down team’s efficiency and working capacity.

A Yale study showed that the tradeoff between a great and an ordinary programmer is 10:1. But when it comes to teams that tradeoff is far greater. While the best team took 1 week to complete a task, the worst team took 2000 weeks to accomplish the same task.

The teams that adopt agile methodology create self-organized units, build better systems and show an amazing level of creativity in executing their tasks. Research has shown that the best teams depict three characteristics that propel them to great achievements.

a) Shared Goals: They share a common goal or a shared purpose.
b) Autonomous:  These teams are autonomous, self-organized, and adopt a bottom up approach to take decisions.
c) Cross-Functional: The best teams don’t think in silos. They look at the complete picture and how everything fits together. 

The agile teams are empowered to choose their implementation and strategy. They work closely with the product owners to execute things. 

3. OODA 

Pilots are trained to follow the OODA strategy for making quick decisions while they are flying. The technology teams also need to execute fast and have an adaptive approach. The OODA acronym stands for Observe, Orient, Decide & Act.

a) Observe: Observe the surroundings, user environment and customer needs.
b) Orient: Orient yourself to the needs and feedback of the users.
c) Decide: Decide the next course of action based on real feedback from the teams and users.
d) Act: Take action to adapt and execute your strategy.

The OODA loop gives teams an adaptive framework to execute their ideas. It helps teams see the strategic picture and take informed decisions quickly. When ideas are launched, teams need to adapt and take the next course of action based on real-time data. The focus should be on the changing situation and the end goal.

4. Project Priorities
Agile methodology

One of the most important things before the start of the project is to create an exhaustive list of features that need to be implemented. The list of features is termed as stories. Each story represents the work that needs to be completed in a given time period of 1-2 weeks. This duration of time is called a sprint

The list of features is prioritized as per the value delivered to the customer. The stories that deliver the highest value are executed first. The product owner tracks all the stories and the respective owners.

Agile methodology ensures that teams are constantly working on the highest priority items. There is no point in spending resources on features and tasks that offer little or no value for the customers. The project teams have a meeting every day usually in the morning. Each member can inform others about what they are working on. The meetings are short and encourage open communication. As a thumb rule, the meetings should be less than 15 minutes.

5. Execution Visibility

The agile methodology requires every member to participate in the stand up meeting. Every member knows what every other member is working on. There is high visibility of tasks that are currently in progress. These meetings often bring up any issues or blockers that need to be addressed. When someone brings up an issue, the other members can volunteer to resolve issues.

The work is categorized as done, to be done/backlog, & doing. The current tasks are discussed every day and team goals are clear to everyone involved in this exercise. The team members solicit responses from everyone else on issues and obstacles that need to be resolved. The bottlenecks are uncovered and resolved at the earliest, leading to better flow and work processes. 

6. Sprint Review
Agile methodology

At the end of every sprint, the team discusses things like:
What has gone right during the sprint?
What needs to be improved further?
How can we move faster?
What are the current obstacles and impediments that need to be addressed?
Which features/stories can be eliminated as they don’t contribute much value?

The improvement discussed need to be actionable. These are implemented in the next sprint. Teams need to adopt a mindset of continuous improvement and incorporate it in what they are doing.

The sprint review is done typically after the sprint demo. The demo covers all completed features and activities in a given sprint. All stakeholders like the scrum master, product owner, team members, customers and users can be present in the sprint review.

The sprint review discusses the key outcomes and features. The outcomes are the criterion to see whether a feature delivers value for the customer. The improvements to existing processes are also discussed along with an action plan for the next sprint.

7. Working Software

Many large software projects have gone awry because it took a long time to release the software. What was initially conceptualized and eventually executed couldn’t have been more different, several large scale ERP implementations fall in this category.

Agile methodology prioritizes working software. Every piece of functionality that is added to the product adds value and is functionally complete. The features are added incrementally and every feature needs justification for building it. The agile best practices lay emphasis on smaller but functionally complete features.

A large number of projects never see the light of the day, when they are developed in a silo. The development efforts and the customer interactions shape the product. Agile requires that all development efforts be quantified by stakeholders. The efforts should result in adding valuable features for customers that help them achieve the outcomes they’re looking for.

The sprints break down big projects into small manageable features. In every sprint, teams add incremental value to the product. Teams don’t work in silos, but interact with their users, customers and team members to make progressive efforts. These efforts can be benchmarked and tested against objective customer outcome criterion leading to successful execution.

Kreyon Systems is a SaaS product development company. If you have any queries for us or need help in building software products, please reach out to us.

 

Please Share this Blog post

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>