From 2006 to 2009, the FBI wasted half a billion dollars trying to develop ‘Sentinel’ – a software that would digitize their case files and automate related processes.
The project was never even completed!
The FBI’s development team, in partnership with Lockheed Martin, was following a traditional software development process, which they finally realized was the culprit. In 2010, they switched to an agile project management methodology. That is considered the main reason they were able to successfully complete the project in just a year while only spending $30 million – a fraction of the estimated cost.
The FBI saved 90% of what had been estimated to finish the project.
How did adopting an agile project management approach make such a drastic difference?
In this post, we will explore:
- What is agile project management?
- Why is it the preferred software development methodology for project teams across startups and Fortune 500 companies?
- How does work in agile help build far better products that the market can’t wait to buy?
- How can you start applying agile in your own company?
- And how can ClickUp help?
Why Traditional Software Development Fails
Traditional software development methods are nearly guaranteed to exceed their budgets and timelines. Moreover, customers are always less satisfied with software built with this approach.
There are two major reasons why it’s faulty:
1) Unrealistic and Rigid Plans
“Here’s the plan. Do this”
Essentially, that’s how traditional software development works.
A cross-functional group of senior leaders will decide what the software should look like and determine a timeline and budget. They will tell project managers / scrum masters to make a plan to complete within those time and budget constraints.
Agile Project managers will create impressive-looking plans of different stages and milestones of the project. But you don’t need the FBI failure example to understand that your work will not always go according to plan.
Top-down plans are unrealistic because they don’t consider the inputs of those people who will actually do hands-on work on the project.
Rigid plans are also counterproductive because they make it difficult to quickly change the work when something goes wrong. Besides, they also put enormous pressure on the product owner and the developers which damages their productivity.
2) Incorrect Assumptions
Every project begins with a vision of what the output is supposed to look like. This vision is based on certain assumptions about what would be most useful to the customer.
But that’s all they are – assumptions.
The truth is, human beings are not great at predicting what they want. The only way a customer will actually know what’s useful to them, is through actually using the product.
In traditional software development, you spend months of work building a tool based on assumptions about what your customers want.
And if you are wrong? Your customers reject your product and you lose millions of dollars of project work.
This waste was all too commonplace before companies started implementing Agile project methodologies.
What is Agile Project Management?
Agile is a project management methodology that involves the customer in the development process. Rather than have one major software release at the end of six months or longer (which is the case with traditional project management), there are multiple releases every one or two weeks. Teams (often self-organizing teams) work in sprints to build these releases.
Which Companies follow Agile Project Management?
The popularity of the Agile approach has exploded in the past decade for managing software development work. It’s now followed by companies including Fortune 100 companies (IBM) mid-sized companies (Red Hat) to startups (ClickUp).
Although agile is primarily used in software development, it’s also used in domains such as professional services, manufacturing, financial services, healthcare, etc.
Advantages of Agile
Agile project management is far superior to traditional software development because of several reasons.
1) Customer First
Agile development keeps customer satisfaction as the most important success metric. Rather than make assumptions about what the customer wants, it delivers just a few features with each release. Customers then determine their particular usefulness of those features through direct, hands-on experience. Having high customer satisfaction is an important benefit of agile project management.
2) Continuous Feedback
Customers share their feedback with every feature release. That helps determine the usefulness of each specific feature and provides better ideas about what else the customer will find useful.
Agile is an incremental and iterative approach to software development. It allows software teams and the produt owner to rapidly change their assumptions and product roadmap in response to customer feedback and changing priorities.
4) On Time and Budget
Adaptability helps project teams take quick decisions to make tradeoffs between time and budget constraints and goals. Consequently, projects experience faster turnaround times and stay within budget.
Agile empowers software developers to take initiative rather than blindly following the instructions of their project managers. People on the ground can see what’s working and what’s not. Empowering them to take decisions dramatically improves productivity.
6) Increase Motivation
Empowered teams working in short sprints are far more motivated than those following rigid plans and deadlines where they have no say. Another reason why agile improves team productivity.
7) Improve Quality
A more motivated and empowered team with a customer-first approach makes people more diligent, leading to fewer bugs and higher-quality software.
There are several approaches to agile project management. The most common are:
- Scrum project mangement
- Kanban board
- Scrumban (a hybrid of the above two)
- Agile Unified Process
- Adaptive software development
- Extreme Programming
The vast majority of companies do not use a single agile methodology, but rather a combination of approaches. Some of the biggest companies in the world use these methods so they shouldn’t be overlooked! In this article, we will share examples predominantly around Scrum and Kanban, because they are the most popular.
How Agile Teams are Structured
Different organizations and agile systems have their own jargon for their agile team roles. Here are the most commonly used roles in agile teams:
The product owner directs the vision of the product. He stays in touch with customers and understands their needs and priorities. He gathers, compiles and analyses customer feedback and communicates these changing needs to the development team, which helps them to adjust their course whenever necessary.
Project Manager / Team Lead / Scrum Master:
The project manager leads the development team. She takes inputs from the product owner and uses them to guide the team’s agenda in upcoming sprints.
Development Team Members:
They include the people who do hands-on work on the project – programmers, testers, designers, and data engineers. Team members are required to share their inputs for setting the agenda for sprints, pointing out problems and actively helping each other to resolve those problems.
These are people who are not part of the team, but have a connection to the project. This is a cross-functional team of senior managers, marketing, sales or customer support team members who share their inputs based on customer feedback, finance team members who allocate budgets and so on.
Some companies also have agile mentors – people who have extensive experience in Agile implementation and can guide the team to follow agile processes and overcome challenges.
How Agile Projects Are Managed:
Agile project management is all about being…agile!
I will now discuss the two most prominent components of this management process – planning and development cycles (also called sprints.)
Remember that planning in Agile is a quick and minimalistic process. You don’t need days to prepare a plan with complicated charts to get started. You begin with three things:
Product Vision Statement
Agile projects begin with a Product Vision Statement. This is a short description of the project scope that specifies what goals the product is supposed to achieve and how it benefits the customer.
The product roadmap specifies the product features that you plan to work on and how each of those features contributes to the product vision. It also includes an indicative timeline of when each feature is expected to be released.
The product backlog is the complete list of all the items in the product roadmap.
Keep in mind that project teams don’t spend tons of time in the beginning preparing an exhaustive product backlog. Instead, the backlog keeps getting updated as the project moves forward in line with customer feedback and changing priorities. Things get added or deleted in the process.
Each project will have several release plans at progressive stages. Each of these plans will include a set of features to be released during a specific development cycle – called a sprint.
Agile projects have short development cycles which usually range from one to four weeks. Sometimes, a sprint can be as short as a day. These cycles are called sprints.
How do these sprints help? In two ways:
First, sprints break up a project into smaller manageable chunks which are easier to tackle. Working on these smaller tasks is FAR less overwhelming than long projects whose end goal is vague, or months away. Small, incremental wins are motivating and keep people engaged, helping everyone consistently work at maximum intensity!
Sprints also allow project teams to evaluate their progress at short intervals. Team members can discuss what worked and what did not, and accordingly modify their approach.
Here are a few things about Sprints you must know about:
Every sprint begins with a sprint plan where team members agree on goals to be achieved. They also determine the tasks each of them has to complete to accomplish those goals, and commit to those tasks. The goals and tasks are referred to as the Sprint Backlog.
Daily Scrum Meeting
Every day, the project management team holds a scrum meeting. Team members discuss what they achieved the day before and what they expect to accomplish today. They also discuss roadblocks faced, possible solutions and how the team can support each other to resolve those roadblocks.
This is usually a stand-up meeting lasting not more than 15 minutes to ensure that the discussion does not drag on.
This is the deliverable at the end of the sprint, such as a new feature that’s been developed.
During this meeting, the product development team demonstrates the deliverables of the sprint to stakeholders and customers. The product owner gathers customer feedback and updates the product backlog.
While the Sprint Review is for reviewing the deliverable, the Sprint Retrospective is for reviewing processes. The scrum team discusses what they did well, and what needs to improve in upcoming sprints.
Another big element of agile is creating user stories around the feature or product that you’re working on. It forces developers, product owners and product managers to go beyond the tech specs and think about how the user will respond when using the feature.
Typically user stories are short and descriptive statements. This can be stored in your task description with the feature you’re working on, or in the list description in ClickUp.
Here’s a basic example of a user story:
As a <<user>>, I want <<to do this>> so that <<I achieve this>>.
With user stories, the conversation changes from writing requirements to discussing how the feature will be used and what it can do. When writing user stories, ask “What will the user do and what will it help them accomplish?” Sometimes this will be different for the various use cases. Oftentimes, teams will do this activity together along with relevant stakeholders towards the beginning of a project or sprint. For more on user stories, check otu this helpful reference document.
Agile Project Management Software
There are plenty of Agile Project Management tools in the market. The best-known names are Asana, Trello, Jira, Basecamp and so on. However, each of these tools has several limitations that make them difficult for many teams to adopt.
The Agile principle is all about flexibility in the project management process. That’s why you need a tool which allows your team to be more flexible, not less.
ClickUp is an Agile project management software that gives your team flexibility by making it extremely easy for project managers to keep track of sprints, for scrum teams to efficiently collaborate and communicate and for cross-functional teams and stakeholders to stay in the loop.
Let’s see how.
One of the best things about the ClickUp project management tool is that you can visualize your projects in different views.
ClickUp allows you to visualize your projects in a Kanban/ Scrum format – the Board View. It’s an extremely effective way of visualizing your product backlog items as well as all other tasks in a high-level view.
Sprints with Lists
Product development teams love kanban or scrum-style views. Sprints in ClickUp can be arranged by setting up lists under each project, and then they can be viewed as a board, box or list. Tags can be used if tasks need to be used in different sprints or lists and can then be filtered to view related tasks.
ClickUp also has Story Points or Scrum points that you can use within lists to help you estimate your sprints and how long it would take to knock out your product backlog.
This flexibility helps product stakeholders in other teams to easily coordinate with the product team, completely devoid of all the hassle from using multiple tools across the organization.
What are people working on ClickUp allows you to check the flow of activities in each task? (Everything that you can do in Basecamp!)
You can also check out the tasks and progress in each sprint. This is a great way to evaluate the effectiveness of your sprints in your Sprint Reviews. Create custom statuses
Don’t get bogged down by rigid definitions of project statuses. ClickUp allows you to define unique statuses in each project.
Priorities help each team member understand what’s more important.
Continual discussions among team members is an integral part of agile project management.
ClickUp is a social project management tool with commenting features. This allows team members to have discussions right in the task window and avoid a confusing deluge of emails.
ClickUp also allows you to turn comments into Tasks and assign them to particular Team Members. This unique, proprietary feature prevents tasks from slipping through the cracks.
How far do you have to go? How much work did your team finish today? In ClickUp, you’ll get burndown and burnup charts to help you measure scope, any changes in scope and how much work you’ve accomplished before your deadlines.
Implementing Agile software development approaches will dramatically improve your productivity and profitability. It’s one of the top project management methodologies, especially when compared to waterfall project management. ClickUp is an Agile tool that gives you all the ammunition you need to successfully kickstart the agile framework in your company. So why not check out ClickUp?