There’s one thing certain in product development: your product will always need fixes and upgrades.
Consumer behaviour evolves, user need changes, technology moves rapidly, your competitors are always innovating, and bugs will always be there.
There is a perpetual need to be agile and adapt to the market, technology, and more importantly – your users.
”“Failure is not fatal, but failure to change might be.”John Wooden, basketball coach
Agile product development is about continuous product delivery to users, in shorter timeframes, done through extensive collaboration between users, teams and stakeholders. You will be developing your product iteratively, with incremental improvements and fixes.
It is based on agile principles as outlined in the agile manifesto.
What is the agile manifesto?
The agile manifesto started in the software industry, when 17 developers gathered to find a new way of writing code. The traditional process of developing software, called the waterfall, was bogged down by heavy documentation, protracted negotiations and research, siloed teams, and long and elaborate processes. This process was linear and sequential, leaving little room for changes.
Together, they wrote the agile manifesto in 2001, which focused on 4 values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Based on the 4 values, they wrote 12 principles of agile development:
- The highest priority is customer satisfaction through early and continuous delivery.
- Changing requirements are always acceptable, no matter how late in the development process.
- Frequent software delivery, with a preference to a shorter timescale of a few weeks.
- Management, designers, and developers must work together daily throughout the project.
- Build projects around motivated individuals, providing them with the right environment and support to get the job done.
- The most efficient and effective method of conveying information is face-to-face conversation.
- The main barometer of progress is a working software for users.
- Agile processes promote sustainable development, maintaining a consistent pace of development.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity–the art of maximising the amount of work not done–is essential.
- The best architectures, requirements, and designs happen when teams are self-organising.
- At regular intervals, the team reflects on how to become more effective and productive, and then adjust accordingly.
Since then, the agile manifesto has permeated across many industries, influencing the way businesses approach problems, from product management to manufacturing.
Why use agile product development?
1. Release products faster into the market
Agile principles deliver incremental improvements for the customers instead of one massive release. If you’re building a new product, you will launch a minimum viable product (MVP) first, with the most important features that will solve your users’ biggest problems.
Cutting the time to market gives you a competitive edge and early feedback from users. Knowing what’s good or bad in your products will help you pivot quicker to a changing market and user behaviour.
2. Build higher quality products
The traditional way of building digital products with a longer timeframe means that by the time you release the product, it might be riddled with bugs. Or worse, it no longer satisfies what the user wants.
Smaller product deliveries translate to manageable issue tracking and management. You will be doing regular troubleshooting and detecting mistakes faster, before they snowball into something bigger. Fixing a huge issue will eat into development time and resources.
3. Better cross-collaboration between teams
Agile product development promotes regular updates and tighter collaboration between designers, developers, managers, and marketers. Each team brings specific skills and different point of views, which will create a more cohesive and creative product for users.
You can adopt it for multiple projects across different teams. Planning and managing agile projects become easier with established sprints and resources. Creative collaboration across multiple functional teams also gives everyone greater transparency to what’s going on.
4. Adapt to changes quicker
Change is the only constant in life. With agile development, you are more open to changes, and able to adapt quickly without much disruption to your teams, workflow, and business. You’re also able to scale or downsize faster according to what’s needed.
How to do agile product development?
Agile product development involves adopting a specific or a hybrid of agile methodologies and then customising it to how your business is run.
An agile methodology or framework typically outlines:
- How to set up teams
- Team roles and function
- How to divide and manage the development work
- How to set up processes and workflow
- How to deal with issues and backlogs
A few well-known agile methodologies are:
- Xtreme Programming
- Feature Driven Development
The two most widely used agile methodologies are Scrum and Kanban.
What is the Agile Scrum methodology?
You can think of scrum like the rugby scrum, where it happens at intervals or after an incident or foul when you can reset play. During a scrum, everyone gathers to re-strategise, reorganise, or fight for the ball before resuming play.
This is similar to the scrum methodology. The basic framework is:
- A product may have more than one scrum team. Big and complex products will usually divide the teams based on product features.
- Teams are autonomous to do their development work including building, testing and review. They are composed of developers, designers, a scrum master, and product owner.
- The team size should be large enough to undertake a set of incremental improvements, or sprints, but small enough to be agile on its own.
- Each team has one Scrum Master. Their job is to find solutions to roadblocks and issues so the team can spend time doing development work. They also make sure teams adhere to processes, and are responsible for improving the development environment, tools and processes as needed for the team.
- Each team has one Product Owner, who is the user’s advocate. They interact closely with the end users to get their input and feedback. In smaller companies, the product manager does this work across a few teams, instead of one product owner for each team.
- The product development work is divided into regular sprints, where teams will work on chunks of the development to deliver to users. This is usually 1-2 weeks.
- Sprint planning is done by either the product owner, scrum master or the whole team.
- Everyone meets regularly during a sprint to give updates, discuss issues, share findings, and re-strategise if needed. It can be a daily stand-up or a weekly sprint and are usually 15-30 minutes long.
What is the Agile Kanban methodology?
The Kanban framework does not impose a set of strict rules or team structure, unlike the Scrum method.
It manages development work on a visual plan, usually done with a Kanban board. A simple Kanban board has three items: To Do, Doing and Done.
There are typically no designated roles in a team. Everyone chips away at the work according to the Kanban plan and their skills.
And unlike Scrum, the deliverables are not segmented into sprints. The due dates are based on an as-needed basis, determined by the product or project managers. Because of this, priorities can change instantly, and tasks can be moved around, unlike a planned sprint.
Which agile methodology is best?
You can choose to do either a Kanban, a Scrum, or a combination of both. Many development teams pick the best parts of Kanban and Scrum, and then tailor it to the business and product goals, user expectations and existing resources.
There is a variety of agile tools for project management, development work and issue tracking and management. Popular tools include Jira, Trello, GitHub, and LeanKit.
While the process and tools are important, what is more crucial is the product for the users. If your users are happy with what is delivered, their input is considered, and their grievances are tended to quickly, then you know you are doing product development right.