Agile Project Management
There are many different frameworks and methodologies that can be applied to project management. Agile puts emphasis on the ability to move quickly and easily through processes and is a way to manage a project by breaking it up into several phases in order to get real feedback along the way.
Agile project management is a collaborative and iterative approach to delivering projects throughout its life cycle and it is often applied in the IT industry. It focuses on creating self-organizing cross-functional teams and getting feedback through continuous testing that can be acted on quickly, making it possible to make changes at each stage of the product cycle and adapt to those changes quickly.
Agile assumes a different approach when it comes to roles and responsibilities and applies the following four values and 12 principles to organize projects.
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
Principles
- Customer satisfaction through early and continuous delivery of valuable software
- Accommodate changing requirements throughout the development process (even on late development stages)
- Frequent delivery of working software
- Business stakeholders and developers must collaborate daily throughout the project
- Build projects around motivated individuals. Support, trust, and motivate the people involved
- Enable face-to-face interactions
- Working software is the primary measure of progress.
- Agile processes promote sustainable development at a consistent pace
- Continuous attention to technical excellence and good design enhances agility
- Simplicity is essential
- Self-organizing teams encourage great architectures, requirements, and designs
- Regular reflections on how to become more effective
Benefits
Agile approaches allow teams to work more iteratively and flexibly, which in turn brings many benefits:
- Rapid feedback
- Continuous adaptation and improvement
- Increased focus on the specific needs of customers
- Reduced waste through minimizing resources
- Increased flexibility enabling teams to easily adapt to change
- Improved project predictability
- Better control of projects
- Faster project turnaround times
- Faster detection of issues or defects
- Increased frequency of collaboration and feedback
- Risk reduction and increased chances of success because efforts are more focused
- Rapid deployment of solutions
- Greater customer satisfaction and happier teams
Agile Frameworks
There are different frameworks that can be used to run a project, some of the most popular being Scrum and Kanban. When implementing Agile, Kanban and Scrum provide different strategies for managing complex work.
Let’s take a closer look at each of these.
Scrum
Scrum is one of the most popular frameworks used to manage an Agile project.
It addresses complex work based on continuous learning and improvement as well as on quick reactions to changes.
It is often applied for software development, but can also be adapted to all areas of work. Its iterative approach allows for faster detection of issues or defects delivering products of the highest possible value.
What makes up Scrum?
- Courage – to do the right thing and work through problems
- Focus – on the Sprint goal and Team work
- Commitment – to achieving the goals
- Respect – to each other’s autonomy and capabilities
- Openness – between Scrum Team and Stakeholders about the progress and challenges
Scrum Team
The Scrum Team is usually a small group of people with no sub-teams or hierarchies. Its members work cohesively towards the Product Goal and can have one of these three accountabilities:
- Product Owner
Manages product backlog and gives direction to the team
- Scrum Master
Accountable for improving the team’s practices and productivity and ensuring tasks are kept within the timebox - Developer
Processes work agreed on Sprint planning
Scrum Artifacts
- Product Backlog
Collection of user stories (what is needed to improve or create the product) that can be processed by the Scrum Team in the Sprints - Sprint Backlog
Is a visual plan that consists of the Sprint Goal, the Product Backlog items, and a plan for delivering the Increment - Increment
A concrete stepping stone toward the Product Goal
Events
- Sprint
A short iteration (typically 1-4 weeks), where teams work on current Sprint items. When needed, the Product Backlog is refined and the work progress is adapted toward the Product Goal. Next Sprint begins automatically after the completion of the previous one.
Following events take place:
- Sprint Planning
Product Backlog items are discussed and planned for the sprint. - Daily Scrum
A short (5-15 min) event to inspect the progress and do priority adjustments if needed. - Sprint Review
Results are presented and the outcome of the Sprint is inspected to determine future adaptations. - Sprint Retrospective
Review of what went well during the sprint and what can be improved in order to plan ways to increase quality, effectiveness and happiness.
- Sprint Planning
Kanban
Kanban is another framework for project management that was originally developed at Toyota Motor Company to improve manufacturing efficiency. It is Japanese for “visual board” and it uses a visual, pull-based system for optimizing the flow of value through a process.
It focuses on optimizing the workflow in order to optimize value delivery.
Kanban Principles
Change Management Principles
- Start With What You Do Now
Adapt to existing workflows, systems, and processes, roles and responsibilities.
Implementation of changes should be as non-disruptive as possible. - Agree to Pursue Incremental, Evolutionary Change
Changes to the current process should occur incrementally and not all at once.
Collaboration and feedback are encouraged. - Encourage Acts of Leadership at All Levels
This fosters a continuous improvement mindset (Kaizen) to reach optimal performance on a team.
Service Delivery Principles
- Focus on Customer’s Needs and Expectations
Delivering value to the customer is a priority. - Manage the Work
Encourage people’s self-organization by empowering people’s autonomy. - Regularly Review the Network of Services
Delivered results can be improved through continuous evaluation after development.
Kanban System Members
People that participate in the value delivery of a Kanban system.
Kanban System
Consists of the following practices:
- Define and visualize workflow
The Kanban board consists of cards and columns that represent the actual state of the workflow. Cards represent work items and each column represents a step in the workflow. Cards will be moved through the columns until the task is completed. - Limit Work in Progress (WIP)
A maximum of items per column is set and Cards can only be “pulled” into the next stage when there is available capacity. - Actively manage items in a workflow
Manage the work ≠ manage the people.
Focus on creating a smooth, fast flow through the system. - Make process policies explicit
Making sure everyone is familiar with the common goal and work policies to boost people’s self-organization. - Feedback loops
Enables quick response to potential changes and enables knowledge transfer between stakeholders.
Cadences use is encouraged:
Team-level-cadence: Daily Kanban meeting for tracking the status and the flow of work.
Service-oriented cadence: Operations, service delivery, and risk meetings to synchronize and improve the delivery of service. - Improve workflow
Collaboratively implementation of changes based on scientifically proven methods, feedback, and metrics.
Conclusion
Agile project management, Scrum, and Kanban provide a roadmap for organizations to navigate the complexities of modern projects and deliver exceptional results.
By embracing their principles and practices, teams can unleash their creativity, collaboration, and adaptability, leading to increased productivity, customer satisfaction, and overall project success.
However, it’s important to remember that no methodology is a one-size-fits-all solution. Each organization should carefully assess its unique needs, team dynamics, and project requirements to determine the most suitable approach.