Project Lifecycle
"We bias toward deprecating things that don't bring us continued value. We take enjoyment in deleting code and products that aren't force multipliers."
Projects don't always end with a ship. Sometimes they get cancelled, paused, or handed off. Handle these transitions intentionally.
Cancelling a Project
Cancelling a project is not a failure—it's a decision. Continuing to invest in something that won't deliver value is the real failure.
When to Consider Cancelling
- The original need no longer exists
- A better solution has emerged
- The cost to complete exceeds the value delivered
- Dependencies have shifted and the project no longer makes sense
How to Cancel
- Communicate the decision - Announce in the project channel. Don't let it quietly fade.
- Update Linear - Set project status to Canceled and post an update explaining why. Future you will thank you.
- Clean up - Close related issues, archive branches, remove any half-deployed infrastructure.
- Capture learnings - If there's anything valuable from the work, document it or extract it before archiving.
Pausing a Project
Sometimes a project needs to pause rather than cancel—priorities shift, dependencies aren't ready, or bandwidth is needed elsewhere.
How to Pause
- Mark status in Linear - Set project to Blocked and post an update explaining it's paused and why.
- Document current state - Where did you leave off? What's the next step when it resumes?
- Set a check-in date - Don't let paused projects drift indefinitely. Set a date to revisit.
- Communicate - Let stakeholders know the project is paused and why.
Blocked is for work we may restart. If the project has no owner, no expected next action, or no reason to stay visible in the active project list, cancel it instead.
Handing Off a Project
When a project lead changes, make the transition smooth.
Before the Handoff
The outgoing lead should:
- Update all documentation - Ensure Linear, PRs, and any project docs are current.
- Write a handoff doc - Summarize:
- Current state and progress
- Key decisions made and why
- Open questions or blockers
- What's next
- Schedule a walkthrough - Meet with the new lead to transfer context.
- Introduce connections - Ensure the new lead knows who the stakeholders and collaborators are.
During the Handoff
- Reassign in Linear - Update the project lead assignment.
- Transfer ownership - Access to relevant resources, channels, and systems.
- Overlap period - If possible, have both leads available for questions during the first week.
After the Handoff
The new lead should:
- Confirm understanding - Verify the handoff doc matches reality.
- Post an update - Announce the transition and any changes to approach.
- Ask questions - Don't assume—reach out to the previous lead if anything is unclear.
Completing Projects
When a project ships, close it out properly:
- Mark as Completed in Linear - Set status to Completed and add a final summary.
- Celebrate the win - Share in Slack. We ship experiences—acknowledge it.
- Capture learnings - What went well? What would you do differently?
- Clean up - Close stale issues, merge or delete branches, remove temporary infrastructure.
The final summary should link the shipped artifact, merged PRs, deployment, docs, or decision record that proves the project is actually done.
TL;DR
End projects intentionally. Communicate clearly. Leave a trail for the next person.