As Plum expanded and various teams formed, incorporating project management became essential. Without a centralized repository to track ongoing work and future plans, achieving a sense of certainty was challenging.
I enjoy using well-crafted tools. Linear piqued my attention from Twitter. They had a stellar marketing website. People were talking about it, copying it. Upon experimenting with Linear, I was impressed by its thoughtful and coherent narrative of software development, reflected in its design.
Linear's commitment to simplicity, paired with its speed that aligned with my thinking pace, greatly appealed to me.
After several months of using Linear within a team of developers, other teams at Plum began to adopt it as well.
This post outlines our refined approach towards project management at Plum, honed over several iterations and adjustments. The information is straightforward and succinct, providing a practical guide for those aiming to give Linear a try in their organization.
Work at Plum is categorized into three primary stages: Plan, Work, and Review.
During each stage, two key roles are actively involved: the Manager and the Contributor. At times, these roles may be filled by the same individual. However, for clear delineation, we've chosen to define them separately in this article.
To structure our work, we use three fundamental Linear abstractions: Roadmaps, Projects, and Cycles.
In this blog post, we explore how both managers and contributors utilize Linear across the Plan, Work, and Review stages in varied ways.
This guide is broadly divided into two primary sections - one dedicated to managers, and the other catered towards contributors. Depending on your role within the organization, you may choose to read the relevant section in isolation.
We start with our OKR sheet.
We create a Linear roadmap for this quarter. For example – OND 2023
Then we create a Linear roadmap for each objective.
We list projects for every key results for every objective. These projects are then associated with their corresponding objective and quarter in the Linear Roadmap.
Managers form opinion on the order of execution for the projects.
Managers can assign leads and members to each project.
Managers can work with ICs to roughly estimate the project scope and assign due dates. This is really a rough estimate.
Managers will review the timeline view of the quarterly Linear roadmap at the end of this exercise. The timeline view will highlight conflicts, such as a team member being unable to participate in two projects at the same time.
Upon completing this exercise, each team will have a clear understanding of their goals for the forthcoming quarter.
Linear Cycles are analogous to sprints.
The team aims to release entire projects or achieve specific project milestones within a cycle.
A cycle aids managers in setting more informed targets by leveraging estimates.
The available bandwidth of a cycle is calculated by multiplying the team size by the number of working days in the cycle, and then multiplying that by the assumed number of work hours per person in each cycle. Subtract the total estimate of work carried over from the previous cycle.
Before planning the upcoming cycle, contributors should define issues in a project and estimate them.
One week before the cycle begins, the manager assigns planned and estimated projects from the quarterly roadmap to the upcoming cycle.
The cycle is planned when each team member has an adequate number of estimated points assigned to them.
Estimate points serve as a guideline to avoid overloading developers during a cycle. They help ensure realistic cycle outcomes. If developers have a lighter workload, they can consider tackling smaller items in the backlog, addressing technical debt, or implementing systemic fixes.
At the end of this exercise, we should have our tentative releases for upcoming cycle – list the projects and milestones scheduled for completion prior to the upcoming cycle's conclusion.
Linear projects are planned by contributors. At Plum, we try to keep our projects short and we do not want them to span more than a couple cycles.
Managers work with contributors to keep a tab on due dates of the entire project or individual milestones.
Managers can use the current cycle view to run standup. Linear allows you to quickly filter issues by assignees.
During a standup, if a contributor highlights a blocking issue, log this in Linear. The issue will visually indicate a blocker. When the blocking issue is resolved, the assignee and subscribers of the blocked issue receive notifications. This serves as an efficient method to foster asynchronous communication.
Mid-cycle, managers can assess the progress of the cycle by referring to the cycle graph. When progress doesn't meet expectations, discuss potential roadblocks. If needed, consider adjusting the scope of the cycle to ensure a release.
Consistently maintain and update the due dates of both milestones and projects.
After updating a project deadline, the changes reflect in the quarterly roadmap timeline view. Use this to adjust deadline expectations for future projects.
This practice ensures a reliable and continually updated understanding of what deliverables can be expected this quarter.
Utilize Linear's project update feature to document reasons for deadline breaches. Employ these insights for learning and adapting in future projects.
Additionally, mid-cycle is the perfect time to prepare for the upcoming cycle. Initiate collaboration with contributors: invite them to review designs, read PRDs, and add issues to the projects.
Get tidy. Name the project. Add an icon.
Link all relevant documents to the project, such as designs, PRDs, ERDs. If there are documents explaining decision-making processes, make sure to include those as well. This assists contributors in understanding the project's goal and rationale.
Once contributors have added issues to the project, collaborate with them to potentially associate these issues with specific milestones.
As previously stated, it's vital to keep the due dates of both the project and milestones always up to date.
If new initiatives arise within a quarter, create fresh projects and assign them to the appropriate roadmaps. Conversely, if a project is de-prioritized within a quarter, promptly remove it from the quarter roadmap.
Additionally, maintain an up-to-date project status. Mark the project as 'Planned' when developers add issues to it. Change the status to 'In Progress' as they are picked up in a cycle, and finally mark it as 'Completed' upon release in production.
Linear's inbox feature consolidates issue updates, comments, and project updates.
When you create an issue, you're automatically subscribed to it. Likewise, if someone mentions you within an issue, you will also be subscribed. But beyond that, you possess the flexibility to manually subscribe to any issue of interest at your discretion.
Consider establishing a routine of reviewing your Linear inbox early in the day.
On the first day of the new cycle, it's time to review the achievements from the previous cycle.
Consider calculating a measure of team velocity. To do this, evaluate the estimated tasks completed in the previous three cycles and use this information to judge what issues could potentially be delivered in the next cycle. This conviction can then be extended to milestones and projects that can be delivered this cycle.
Linear automatically transitions issues in progress to the new cycle. Collaborate with your contributors and exercise your judgement to exclude any in-progress tasks if necessary.
Consider creating a summary document for the sprint. This could include:
- Releases that have been deployed to production
- Items nearing readiness for release
- Updates on milestones within projects
Conduct a review of each project – identify any missed milestones and determine if there's a need to update the project's end date.
Assess the progress of each roadmap that corresponds to the objectives from OKR - determine how many projects still need to be completed to achieve the objective.
Keep your business stakeholders and account managers informed about the progress of objectives. This way, they can maintain up-to-date communication with customers regarding the status of their commitments.
A small note
I get it. I am a dev too.I can appreciate your viewpoint - project management can sometimes feel like an unnecessary imposition or, at its worst, a waste of time.
Here's my pitch from the other side of the fence: beyond daily routines and assigned tasks, developers juggle multiple tasks within a cycle. Retaining all the nuances and priority of each task mentally can be overwhelming. You need a repository, a de facto location to track it all.
Enter Linear. It is more than just a task manager. Consider it a second brain, a trusted sidekick. Let it be your designated platform for recording all work-related thoughts, ideas, and the minutiae that matter. By offloading these responsibilities to Linear, you free your mind, alleviating the anxiety associated with missing out on important details.
Take the initiative to tailor Linear to your needs. Spend time with it, delve into its documentation, identify the features that complement your workflow best. Approach the tool with curiosity and logic so that integrating it into your workflow feels less like a burden and more like a catalyst.
When adequately put to use, the majority of your communication will be async, freeing you from the cycle of indefinitely updating people about the same thing.
Familiarize yourself with the projects in the quarterly roadmap and understand the current objectives of the organisation.
Recognize and nominate tech debt issues for inclusion in the quarterly roadmap. Consider creating a dedicated tech debt project for your team.
Once leads and members have been assigned to project on the roadmap, utilize the filter in roadmap to view the projects you're leading or contributing to in the upcoming quarter.
Work together with other contributors to forecast and plan for work that can be either reused or made reusable.
Should you identify a need for writing a library, or adding components to the design system, feel free to create projects for them. Don't forget to include these in your quarterly roadmap.
Work together with managers to determine rough deadlines for the projects you lead. These are broad estimations, sufficient to provide the organization with a preliminary outlook for the quarter.
Managers are there to aid you in prioritising projects for the quarter, which helps in shaping a rough timeline.
Mid-cycle, managers will need your collaboration to add issues to the project that will be addressed in the upcoming cycle.
Read the PRD, and create an ERD if necessary. Populate your project with issues. Aim to break down your issues to a level that each one doesn't take more than two days to complete. This approach ensures you always have updates to share in standups, maintaining momentum throughout the cycle.
If any aspects of the project remain unclear or incomplete, schedule a meeting to address them. Consider attaching meeting notes to the project for future reference.
Collaborate with the project lead and manager to create milestones like dev hand-off or QA ready.
This is the first day of the new cycle for you.
Take a moment to review the projects and the issues assigned to you. By this time, you would have added issues to the project during the last cycle. Now it's your turn to add estimates.
Use these estimates to determine due dates for milestones. If you're scheduled to deliver the project this cycle, also set the project's due date based on these estimates.
Consider all the due dates within the cycle, whether for projects or for their enclosed milestones.
Make note of your cycle end date.
Use these due dates as pacing guides throughout the cycle. You can create a personal view to list all deadlines within the cycle.
Use the issues you've created as both a thinking and collaborative space. Here is where you can record your thoughts before delving into the implementation.
Feel free to add sketches, diagrams, or anything else that helps you think through the problem.
Linear's comment feature is the perfect tool if new ideas surface during your work that you want to share with or propose to your peers.
Ensure the status of all issues is updated daily before the stand-up meeting.
As a developer, you can take advantage of Linear's GitHub integration feature. This allows you to synchronize the status of issues in Linear with the PR statuses in GitHub. This saves you from the hassle of manually updating the statuses of each issue.
You have the option to append your deliverables, such as design mockups or code snippets, either in the comments or description of your Linear issues. For designers, this might be a link to a Figma prototype; for developers, a link to a GitHub PR. You can even automate this process by naming your GitHub branch as suggested by Linear.
As a contributor, it's important to keep your manager and peers informed about any changes to project due dates during your daily standup.
Make sure that the due dates for the projects and their respective milestones are continuously updated.
Identify and record the tasks that experienced the most delays during the cycle.
Take note of areas that could have been improved to enable more accurate estimation in the future.
Celebrate what you have learned this cycle and share it with the entire team.
Take note of your velocity from last three cycle.
Keep track of your working velocity from the last three cycles. Use this data as a benchmark to gauge how much you can realistically accomplish in the next cycle.