Project Management
Project management is the practice of creating, allocating, applying resources to the completion of a project. A project is an undertaking that seeks to create something new to meet an objective, generally through the creation or enhancement of a product or service. A product is the output of the project. A project is completed when the objective is met or cannot be met based on resource constraints.
The Iron Triangle of Project Management
The iron triangle are the constraints of managing a project. They are:
- Speed: How quickly the project can complete
- Cost: How much money the project requires
- Scope: The requirements and constraints of what must be delivered
Generally speaking, you can optimize for any two points on the iron triangle. For example, to get more done (scope) in less time (speed) often requires spending more money (cost). Of course, it's not always that simple.
Project Artifacts
Project artifacts are the output of project management practices other than the product, such as schedules, budgets, and status reports. Depending on project size, there are many different artifacts that might be produced as part of the project.
Project Charter
A project charter is a founding document that summarizes why the project was started, plus the initial set of expectations for budget, scope, and timeline. Often a project charter is maintained as a "living document" that is updated periodically as the project progresses.
Common elements of a project charter include:
- A vision that describes what is valuable about the project for both the producer and consumer of the product.
- A requirements summary that gives a high-level description of what must be delivered by when.
- A set of stretch goals that describe accomplishments that would be "nice to have" but aren't necessary to consider the project a success.
Project Plan
A project plan is defines the sequence of tasks, dependencies between tasks, and organizational elements of the project. Typically a project plan is a "living document" that is updated regularly as the project progresses.
Common elements of a project plan include:
- A project brief or executive summary that describes the projects purpose, timeline, budget, and scope in a few short paragraphs or bullet points
- A vision statement that describes the purpose of the end-product, or a synopsis of (or link to) the project charter
- A history of achieved milestones and changes to the plan
- A schedule overview that lists each project milestone along with its purpose, scope, and anticipated completion date
- A resources list that includes the teams, tools, materials and the focus/purpose of each resource involved in the project (see also: Enterprise Initiatives)
- A risk list that describes known risks to project success, along with each risk's probability, impact, and mitigation plan
- A definition of done or release criteria that describes the quality, performance, and sign-off requirements needed to consider each feature "done" or otherwise ready to be used by the customer.
Project Management Tips
Plan to Re-plan
Each project is a novel undertaking and it's exceptionally rare that up-front plans are perfect. Instead of spending excessive effort to create the perfect plan, plan just enough to get started and to re-plan as you learn from experience. As the project proceeds, take what you've learned and update the plan regularly throughout the project.
For the long-term plan, use the "cone of uncertainty" to set expectations.
Deeper Knowledge on Project Management
Machine Learning Project Outline
An outline and checklist to guide typical machine learning projects
Backlog Coupling
When work on one team or product excessively depends on work from another team or product
You Aren't Gonna Need it (YAGNI)
A simple mnemonic to help limit project scope
Agile Software Development
Little-a agile, like in the manifesto
Requirements
Elements of well-formed requirements: The fundamental building blocks of product engineering
ROAM: Resolved, Owned, Accepted, Mitigated
A risk evaluation and acceptance model
Jira Align
Notes on Jira Align
Scaled Agile Framework (SAFe)
A product and project management framework for large enterprises
Scrum
A lightweight framework for product and project management
RACI: Responsible, Accountable, Consulted, Informed
An roles and responsibilities model
Timeboxing
How timeboxes work
Broader Topics Related to Project Management
Change Management
The practice of implementing and communicating changes in organizations
Product Management
Resources for Product Management