Project Management: An Agile Approach to Projects.
A basic business technology understanding of the Agile side of Project Management.
Disclaimer
This content is sourced and curated for learning purposes. After struggling to find and collect information for personal research & learning. I’ve embarked on writing about my findings, hoping someone else can benefit fromm what I’ve learned.
Introduction
Before the agile Methodology, the most popular methodology for managing projects was Waterfall Methodology — the oldest and most traditional project management methodology that follows a sequential process where each step must be completed before the next can begin.
The key difference between Agile and Waterfall is that Waterfall breaks down software development into isolated phases that flow into each other, while Agile advocates for iterative development cycles which can run concurrently.
Agile
Agile is the ability to create and deal with uncertainty by responding to constant change, Where teams are able to deliver quality products by upholding central values & behaviours of; — trust, Flexibility, empowerment and collaboration.
In Project Management, the Agile approach centres around step-by-step incrementally and iteratively delivering requirements throughout the project lifecycle to completing projects.
What is Agile Project Management?
Agile Project Management is an iterative approach to managing software development projects by focusing on continuous releases and incorporating customer feedback with every iteration.
Characteristics of Agile
- Agile projects produce and deliver work in short bursts (or sprints) of anything up to a few weeks repeated to refine the working deliverable until it meets the client’s requirements.
- Collaborative relationships are established between stakeholders and the team members delivering the work at the beginning of the project and continuing until the project is concluded or even after.
- Agile projects need documentation, reviews and processes just as traditional projects do to meet requirements, manage costs and schedules, deliver benefits and avoid scope creep
- Unlike traditional waterfall project management, Agile doesn’t need to fully understand the project requirements before work can begin. Instead, emphasis is put on delivering a tangible working product (MVP) in short periods which can then be refined until it meets client needs.
- Project progress is measured in a series of working deliverables. So teams need to focus on that 20% of the User Stories (functional work) that contain 80% of the customer value, do those first, deliver them, and repeat.
Focus on the 20% that matter for an 80% effect.
One of the most effective ways to utilize Agile is using MoSoCoW Prioritisation (MoSoCoW Method) which stands for; —
- Must ‐ Cannot deliver/go live without this.
- Should ‐ Important but not vital
- Could ‐ Wanted or desirable but less critical. ”nice to haves”
- Won’t ‐ the team has agreed it will not deliver
Agile Methodologies
The Project Management methods that fall under Agile include;-
Scrum
Scrum is a popular agile methodology that uses daily stand-ups, backlog grooming, and sprint planning meetings to keep teams aligned and productive.
Lean Methodology
The lean methodology, an iterative process that focuses on eliminating waste is based on the philosophy that “less is more.”
This methodology is perfect for projects with limited budgets and tight deadlines they would only focus on features and tasks essential to meeting the customer’s needs, eliminating extras to keep costs down and improve efficiency.
Kanban Methodology
The Kanban methodology is a great project management tool that helps manage workflow by placing tasks on a Kanban board where workflow and progress can be tracked by all team members.
Agile teams use Kanban boards to map user stories and plan backlogs in software development or other agile projects and lean manufacturing to reduce inefficiencies.
Kanban (Japanese for sign) developed by Taiichi Ohno, an industrial engineer at Toyota, is an inventory control system used in Just-In-Time (JIT) manufacturing to track production and order new shipments of parts and materials. It was studied by Toyota which applied it to their lean manufacturing model, known as the Toyota production system.
Dynamic System Development Method(DSDM)
Is an Agile project delivery framework created in 1994, that focuses on the entire project lifecycle using an iterative and incremental approach to systems development.
DSDM is one of the earliest agile methodologies that was initially used as a software development method originally sought by Project Managers to provide some discipline and governance to the rapid application development (RAD) method for rapid software development and delivery.
Other Popular Project Management Methodologies include;
Critical Path Method (CPM)
CPM is a mathematically based planning technique used to identify and optimize the sequencing of tasks necessary for project completion and determine scheduling flexibilities to achieve the desired outcome.
A critical path in project management is the longest sequence of activities that must be finished on time for the entire project to be completed.
It is used to calculate the earliest possible time an entire project can be completed by identifying the longest path of tasks, or “critical path,” that must be achieved to finish the project on time.
PRINCE2
Projects IN Controlled Environments(the second version of its kind) thus the acronym PRINCE2 is a well-structured methodology that provides the themes, principles, and processes to control and deliver successful projects of any size and complexity.
This popular framework is based on the tried and tested experiences of project management practitioners around the world and has a globally recognized certification. It is also used for managing UK government and private sector projects even though it’s been criticized for being inflexible and bureaucratic.
Six Sigma
Six Sigma is a set of methodologies and tools used to improve quality and business processes by identifying what is not working in the project, reducing defects/errors, minimizing variation, and increasing efficiency.
Six Sigma which also applies to quality management, was introduced by engineers working at Motorola in the mid-1980s, with the goal of Six Sigma of achieving a level of quality that is nearly perfect, with only 3.4 defects per million opportunities.
Extreme Programming (XP)
Extreme Programming(XP) is an agile software development framework built upon values, principles, and practices, with short development cycles and multiple releases to improve productivity and allow small to mid-sized teams to produce high-quality software and adapt to evolving and changing requirements.
Although many of the XP practices have been around for a while. XP was Created by Kent Beck while working on the Chrysler Comprehensive Compensation System payroll project, as a project leader. In 1999, after leading the C3 project for three years, he published a book (“Extreme Programming Explained”) explaining the Extreme Programming process.
Agile Project Management with Scrum
Scrum is a way to get work done as a team in small pieces at a time, with continuous experimentation and feedback loops along the way to learn and improve as you go.
Ken Schwaber & Jeff Sutherland first co-presented a paper, “The SCRUM Development Process”, in 1995 at the Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) Conference ’95 in Austin, Texas. This was its first public appearance.
After its first full implementation at the Easel Corporation in 1993 by Jeff Sutherland, John Scumniotales, and Jeff McKenna. The paper essentially documented the learning that they gained over the previous few years.
Scrum focus on feedback and regular communication where;-
- The team meets regularly to discuss how they are doing,
- what problems they are encountering, and how they can improve their process.
This constant feedback loop helps ensure that the project stays on track and that any issues are dealt with quickly.
SCRUM Values
A project team’s success when using scrum depends on five values — Courage, Focus, Commitment, Respect, and Openness.
The Scrum Framework
A scrum team uses a scrum framework as a way to encourage transparency, inspection, and adaptation when bringing a product from an idea to life.
The Framework guides the scrum development team in creating a product, with the help of a dynamic list of the most valuable things to do thus focusing on value and high visibility of progress.
Scrum Roles
Scrum has three roles: Product Owner, Scrum Master, and Development Team and each team member has a specific role and responsibility within the Scrum framework.
A Product Owner
Who also has a leadership role, represents the voice of the customer and has the authority to make decisions about the product but may contribute as a team member.
- He/She decides whether to release or continue development, constantly re‐prioritizing the Product Backlog, and adjusting long-term targets such as releases.
- As the final judge of requirements questions while considering stakeholder interests he/she is responsible for product vision and the single person responsible for maximizing the return on investment (ROI) of the development effort.
A SCRUM Master
Usually has no management authority over the team but is the keeper of the process, who protects and advocates for the team.
- He/She works with the organization to make Scrum possible by ensuring Scrum is understood and enacted by creating an environment conducive to team self-organization, promoting improved engineering practices, and providing leadership.
- He/She also shields the team from external interference and distractions and helps resolve impediments.
The Scrum Development Team
is a cross‐functional, self‐organizing, self‐managing, intensely collaborative team of five to seven people at “best” who are jointly responsible for the delivery of the product.
- A Scrum Development team plans one sprint at a time with the Product Owner and has autonomy regarding how to develop the increments.
- Scrum Development teams are most successful when located in one team room, particularly for the first few Sprints with long‐term or full‐time membership.
SCRUM Events
Scrum defines several events (sometimes called ceremonies) that occur inside each sprint: sprint planning, daily scrum, sprint review, and sprint retrospective.
- A Sprint is a short, time-boxed period within which a scrum team works to complete a set amount of tasks.
- Sprint Planning initiates the sprint by laying out the work to be performed for the sprint. This resulting plan is created by the collaborative work of the entire Scrum team.
- Daily Scrum is a 15-minute or less everyday activity of the sprint to inspect progress toward a sprint goal and adapt the Sprint Backlog as necessary, adjusting the upcoming planned work.
- Sprint Review focus on inspecting the outcome of the sprint and determining future adaptations where the Scrum team presents results to key stakeholders and adapts the product backlog as needed based on feedback or the product owner can opt to release any of the completed functionality.
- Sprint Retrospectives help Scrum teams plan ways to increase quality and effectiveness by focusing on the process. The scrum team discusses what went well, and areas for improvement as well as making tangible plans for how to improve their processes, tools and relationships.
How SCRUM Roles are integrated with SCRUM Framework
But just going through the motions and having each of the events on the calendar is not enough. To get the most out of Scrum, every Scrum Team needs to understand the purpose behind each event and how each member’s role fits.
Benefits Of Agile in Project Management.
- Businesses/clients that use Agile in project management have increased flexibility, transparency, efficiencies, speed up delivery, improved quality, have happy stakeholders and also decrease the risk of missed objectives.
- Increased flexibility and adaptability to change reducing waste and thus faster turnaround times.
- Builds accountability which facilitates faster detection of issues and defects.
- Optimal project control which increases focus on specific customer needs.
- Encourages diversity of ideas which increases improves collaboration and the frequency of feedback.
Conclusions
The Agile method helps teams be more responsive to change and especially useful when dealing with complex projects with frequently changing requirements, such as software development projects.
Scrum focuses on delivering products quickly and efficiently using small, cross-functional teams, frequent communication, and rapid iteration.
Kanban project management which has been around since the late 1940s is a visual approach to project management that uses visual cues to prompt the action needed to keep a process flowing.
Today, software development teams run lean processes to focus on end-user feedback and increased value, as noted in the Lean Startup, by Eric Ries, who advocates for rapid prototyping, end-user feedback and early and rapid product delivery.
Reading References
- Project Management Simplified: Project Manager best practices.
- Book Review: How to Manage Projects by Paul J Fielding.
- A brief history of Agile Methodology.
- Top 10 Project Management Methodologies: An Overview.
- A Practical Guide to the Five Scrum Events.
- Book Review: Scrum by Jeff Sutherland.
- Was Chrysler Comprehensive Compensation Success?
- The Agile Manifesto.
- Principles behind the Agile Manifesto.
- [The New New Product Development Game by Hirotaka Takeuchi and Ikujiro Nonaka.](https://hbr.org/1986/01/the-new-new-product-development-game)