Project Management - C324

icon picker
Lesson 2: Selecting the Project Framework

Last edited 351 days ago by Makiel [Muh-Keel].
Many project management methods and frameworks exist today. Even a single project might use multiple frameworks, and even though each framework has strengths and weaknesses, they all solve specific problems and work well in certain scenarios

Frameworks and Methodologies

Frameworks and Methodologies are the processes, tasks, roles, and guiding principles that form the structure of completing work.
image.png

Waterfall

Waterfall is a software development model where the phases of the SDLC cascade so that each phase will start only when all tasks identified in the previous phase are complete.
This method predates software and was actually used in manufacturing; Software needed a starting point, so people used what they were familiar with.
Waterfall is a linear, sequential project management framework.
Delivers value at the end
Uses a Big Design Up Front (BDUF) approach
All work gets completed in one phase before another phase starts.
Work only flows one way in waterfall, too.
Ex. If a project is in the testing phase, and the team realizes they missed a feature during implementation.
In that case, the team cannot go back to the implementation phase.
Instead, they must go back to the first phase and start the project over.
image.png
There are 6 Phases in the Waterfall dev model:
Requirements - define the project requirements
Design - use the defined requirements to create a specified design
Implementation - Complete the necessary work.
Ex. Write the code for a software project and start building the foundation.
Testing - Verify that the work completed meets the requirements and quality specifications.
For instance, perform tests on a software project and obtain inspections on a construction project.
Delivery - Move the product into production for customers to use.
Maintenance - Solve and issues as they come.
Examples: A project to design and manufacture a new vehicle uses waterfall.

Strengths of Waterfall

Easy to learn and use
Easy to measure progress
Clear transitions between phases
Include thorough documentation
Can be used in any industry

Weaknesses of Waterfall

Not very flexible
Not friendly towards last-minute revisions or anything that deviates from the original plan.
Change management is expensive

Use Cases for Waterfall

Projects with fixed requirements and no unknowns.
Projects where change costs are incredibly high later in the project.
Short, simple projects.
Waterfall is not good for:
Projects with unclear requirements or expected changes.
Projects with high research and discovery needs.

Agile

Agile is often described as iterative and incremental development, meaning it’s adaptable to change and designed to work with uncertainty.
Agile methodologies will be more adaptable with shorter release cycles, and waterfall methodologies will require more information early in the project.
image.png

Iterative Development

Iterative Development is a process by which product development, such as software development, is broken down from a large application into smaller chunks. A product or product component is designed, developed, and tested in repeated cycles.
Small parts of features and improve them often
Doesn’t focus on one component at a time
Iterative refers to a repetitive step or process
Ex. The team works on small portions of the spending summary, color scheme, and category structures in one iteration.
During this iteration, they receive feedback at the end of the iteration and improve each feature the next time they work on it.
Customer’s perspective: Nothing changed about the product and the team didn’t fully finish anything and nothing could be released.

Incremental development

Incremental Development means features are completed and released often throughout the project. An approach that breaks the software development process down into small, manageable portions known as "increments."
Each increment builds on the previous version so that improvements are made step by step.
Ex. The team may develop and release and entire piece of the product and not work on any other portion.
The dev team did not receive any feedback during the development process, which means they missed opportunities to improve the final product.
Customer’s Perspective: They received a new login screen.

Using Both Incremental and Iterative Development

A method that builds an incremental model that is developed in multiple cycles of iterations.
A product may begin with relatively small components or steps, and incremental milestones are made during each cycle of the iterations until the final product is achieved.
image.png
Focus on one feature at a time. However, they would gather feedback at every iteration. It’s the best of both worlds: continual improvement of features and frequent value for customers.

Strengths of Agile

Great for uncertain environments with an expected bit of change.
Promotes more testing and adjustments early on and typically produces higher-quality results.
The speed of change and volume of competitors makes long development cycles impractical for many technology companies.

Weaknesses of Agile

Changing requirements can make a project’s end seem like a moving target.
Agile’s flexibility can lead to scope creep.
The extension of the project scope caused by unapproved and uncontrolled changes that impacts the cost, quality, or timing of the project.
The iterative and incremental designs are complex, relying on stable and highly skilled teams, which can be challenging to assemble.
Can lead to less documentation.

Use cases for Agile

Agile is ideal for the following:
Projects where requirements will change or emerge throughout the project.
Stable, skilled teams capable of self-organization.
Agile is not suitable for the following:
Short, simple projects that fit in a single iteration and increment. The overhead of agile frameworks isn’t valuable if the team does not have time to inspect and adapt the product.

Scrum

Scrum is a lightweight, customer-focused framework agile framework used to manage and deliver complex projects, particularly in software development. However, its principles are flexible and can be applied to various project types.
Iterative and Adaptive: Scrum emphasizes delivering value in small, iterative cycles, which allows teams to adapt to changes and refine the product continuously.
The focus is on delivering the most important features first, rather than attempting to plan and deliver everything upfront.
Minimalistic Approach: Scrum deliberately covers only the essential requirements to start the project, leaving room for teams to adapt and fill in details based on their experiences, company needs, and other frameworks that might complement Scrum.
Sprints are specific to Scrum.

How Scrum Works:

Empiricism: Scrum relies on empirical processes, meaning it emphasizes learning from actual experiences and adapting based on what is known rather than making predictions or assumptions.
Teams observe what is happening in the project, make decisions based on these observations, and adjust their approach as needed.
Lean Thinking: This principle within Scrum focuses on maximizing efficiency by eliminating waste—such as redundant processes, unnecessary tasks, and anything that doesn’t add value.
The goal is to streamline the workflow, ensuring that the team’s efforts are focused on delivering high-quality results efficiently.

There are 5 scrum values:
Commitment
Focus
Openness
Respect
Courage
There are 3 Scrum pillars of transparency:
Sharing information improves decisions
Frequent reviews disclose problems and needed changes
Incorporating results of inspection
You cannot adapt without inspecting problems and changes
Inspecting will achieve nothing if the work you’re doing isn’t transparent.

Scrum Process

The Scrum process is easily described in four steps:
The product owner prioritizes work into a product backlog.
The Scrum team selects the top items in the backlog. The top items create a sprint backlog, which will deliver a working product that helps solve the top problem in the product backlog.
The Scrum team and stakeholders review the sprint results and adapt the product and the team’s approach for the next sprint.
The steps repeat as long as the product backlog exists.

Scrum Roles

Scrum Team

The group of people who work together to deliver increments of value.
Team is very capable of deliver a product increment each sprint.
Still small enough to form cohesive relationships.
Normally 3-10 team members.
Includes:
One Scrum Master
One Product Owner
Developers

Product Owner

The team member that creates maintains, and owns the product backlog. They also maximize outcomes and selects and prioritizes the work that the agile team will complete.
Product Backlog - an ordered list of product changes or enhancements.
Product Goal - is used to describe the product’s longer-term target and the product backlog should deliver the product goal.

Scrum Master

The agile team’s Scrum coach. They help the team, product owner, and organization improve how they apply Scrum.
Offers coaching, training, and guidance.

Developers

View “developer” as a shorthand term for a Scrum team member. They can be any job title or function that helps the Scrum team produce value.
Professionals who program an application or other piece of code that executes on a computer.

Difference between Scrum Master and PM

A Scrum master helps a team get work done by helping the team adopt Scrum principles. For example, a Scrum master can encourage the team to look at new metrics or teach the group how to estimate work.
They want the team to perform well using scrum frameworks, but they don’t have a particular interest in what the team is creating.
A PM is highly invested in the specific outcomes and the team’s dynamics, works within any given framework, and helps the team deliver work by ensuring they have all the resources and information needed to complete it.

Key Scrum Terms

Product Backlog

Product Backlog - an ordered list of product changes or enhancements.

Product Goal

Product Goal - is used to describe the product’s longer-term target and the product backlog should deliver the product goal.

Sprint Backlog

Sprint Backlog - The Scrum team’s plan for the upcoming sprint. It includes what the team will do, why they think it is important, and how they will get it done.

Sprint Goal

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.