Agile
Four foundational values of Agile project management methodology (manifesto):
-
Individuals and interactions over processes and tools: Managing a project around your agile team rather than your tools can help make your team more responsive and adaptable.
-
Working software over comprehensive documentation: Robust documentation involved in older software development techniques often led to long delays. You’ll still produce documentation in Agile, but the focus shifts to functionality.
-
Customer collaboration over contract negotiation: Instead of working out every detail of a project at the beginning, this method keeps project stakeholders and customers engaged in every stage of the collaborative development process. This is particularly helpful when a customer has unclear or changing requirements.
-
Responding to change over following a plan: Instead of front loading all the planning of a project, Agile encourages short iterations that help make changes an improvement rather than an expense.
When to use Agile:
An Agile approach works well on creative projects where requirements might change along the way and the final details of the product are not yet established. It’s also a good option for projects where clients or stakeholders prefer to offer feedback regularly, rather than only when the final product is delivered.
Scrum
Scrum is a lightweight Agile framework designed to help self-organizing teams develop more complex projects. The framework includes a set of roles and meetings centered on the values of commitment, courage, focus, openness, and respect.
To better understand Scrum, let’s take a look at some of its roles and practices.
Sprint: Short (usually one month or less) development cycle where a team creates a useable and (hopefully) releasable product increment
Scrum master: Team leader responsible for coaching the team in the Scrum method, organizing Scrum meetings and events, and ensuring team members have the support they need to succeed
Daily Scrum: 15-minute stand-up meeting held each day of a sprint where the team plans work for the next 24 hours
Product backlog: Prioritized list of work still to be done on a product
Product owner: Person responsible for maximizing the value of the product by managing the product backlog
Development team: Roles responsible for the actual development work of a project
Sprint review: Informal session where the development team presents their finished iterations to stakeholders for feedback
When to use Scrum:
The Scrum method, best for self-managing teams and a culture open to innovation, can help bring products to market more quickly. The short development cycles and frequent stakeholder involvement can often lead to a better-quality product.
Kanban
Kanban is an Agile method of project management that helps visualize workflow to improve efficiency. The method got its start in the Japanese manufacturing industry before gaining popularity across many fields.
At the center of the Kanban method is a Kanban board—a physical or digital tool that divides workflow into columns organized by development stage, such as to-do, in-progress, and completed tasks. This helps eliminate multitasking by encouraging teams to focus on only a few tasks at a time. It also makes it easy for both the team and stakeholders to quickly see where the team is in the development process.
Six kanban practices
-
Visualize the workflow. The Kanban board visualizes a team’s workload in a way that’s easy to understand and execute.
-
Limit work in progress. Restricting the number of tasks a team is working on at any given time helps maintain focus.
-
Manage flow. This method switches the focus from managing people to managing a smooth flow of work.
-
Make policies explicit. Keep them simple, visible, and easy to understand.
-
Use feedback loops. Revisiting project goals regularly helps the team respond to changes and take advantage of new opportunities.
-
Improve collaboratively. Teams with a shared vision can work together to achieve continuous improvement. These evolutions should be based on metrics and experimentation.
When to use kanban:
If you want to limit planning and meetings and focus on continuous improvement, kanban could be a good choice. It’s particularly effective in helping teams work through big backlogs or deal with frequent requests from stakeholders.