TNS
VOXPOP
What’s Slowing You Down?
What is your biggest inhibitor to shipping software faster?
Complicated codebase and technical debt.
0%
QA, writing tests, and debugging.
0%
Waiting for PR review or stakeholder approval.
0%
I'm always waiting due to long build times.
0%
Rework due to unclear or incomplete specifications.
0%
Inadequate tooling or infrastructure.
0%
Other.
0%
DevOps / Software Development

Anti-Agile Project Tracker Linear the Latest to Take on Jira

We look at Linear, a new project management tool that is certainly opinionated — about not adhering to the agile software philosophy.
Mar 23rd, 2024 5:00am by
Featued image for: Anti-Agile Project Tracker Linear the Latest to Take on Jira
Image via Unsplash.

Some months ago, I looked at the issue and project tracker Plane. This is part of my ongoing mission to find sensible replacements for the old warhorse, Jira.

Now, when agile planning, there have always been a few disparate tools that extend the issue tracker to deal with Epics, Stories and Tasks. As we shall see, I can’t describe Linear as an “agile” story tracker. Linear describes itself as “the new standard for modern software development. Streamline issues, sprints and product roadmaps.”

What I noticed first about Linear was that it carefully avoids the usual agile terminology. Looking a bit closer, I noticed their docs never mention the term “agile” at all. I simply assumed this was a marketing ploy to sever that connection and avoid getting involved in the agile backlash.

But then it became apparent they were specifically anti-agile: “At Linear, we don’t write user stories and think they’re an anti-pattern in product development. We write short and simple issues that describe the task in plain language instead.”

This attitude will be of interest to some, but will put off others. It is good that a toolmaker gets involved in the philosophy of process, and at least insures consistency. And this is certainly opinionated software: “Flexible software lets everyone invent their own workflows, which eventually creates chaos as teams scale.”

There is some truth to that quote. As a consultant I have seen that unmanaged flexibility does cause knots. However, attempts at “my way or the highway” can annoy teams that have found a happy working pattern that happens to be at slight odds with their peers.

“User stories have become a cargo cult ritual that feels good but wastes a lot of resources and time.” The argument here is that user-centered stories are a product-level thing and that developers should only focus on task-level information. Linear also believes that customers are sufficiently software savvy not to need a “translation layer,” from what they need to what modern development can deliver. This is likely to chime with some, while seeming a bit presumptive to others.

But the upshot is that for Linear, the Issue replaces the agile story, or task. The term Cycle seems to be standing in for sprint. The other first-level objects are the Roadmap, Projects and Milestones. The term backlog remains unscathed from its agile definition. The changelog is a little bit of coding in the open, and lists ongoing changes to a project. This is favored by many smaller, fast-moving projects.

Getting Started

The free tier means that any project should be able to start up without worrying about payment until much further down the line. You can sign in with Google or SAML.

As I’m on PC, I’m using the web-based view; a mobile version is promised (it’s currently in beta). The interactive “getting started” tutor is pleasantly intuitive. It goes through connecting with GitHub and bringing in other team members.

The keyboard gets full support, which will make power users happy. There is also a command palette. The issue editor supports Markdown, which is great. Within an issue you can also embed YouTube and other popular links.

I created a team named TheNewStack, which I think is also the name of the workspace mentioned in the top left. As it should be, the backlog is empty, and we are invited to create an issue.

So before I start this, I’ll do the meta thing of using the creation of this post as an example Issue.

It starts in the Backlog. Now, I can give it a priority of low and assign it to myself.

Note that I could (and surely would) create a project for these stories issues. Below is the issue after I have assigned it to myself, marked as a feature (not a bug), and given it a completion estimate of this week. These activities are all noted in the issue.

I am now ready to move the status of this issue to “In Progress.” This indicates to anyone else that the issue is being worked on. Remember that a task is synonymous with an issue, so I create sub-issues to break down the work. Apparently Linear uses AI to spot similar issues — this is a good idea if it works well, as duplicate issues are a common bane in most systems.

Sensibly, a Linear sub-issue inherits its parent’s assignment and priority — but not its status. These are separate issues:

Now that we have done the basics, let’s look at higher-level things like projects and cycles.

I will retrospectively create a project. This is a larger unit of work that has a completion date and might be a cross-cutting concern, so let’s assume that I am also publishing this week’s The New Stack as if it was a paper magazine and my post is just one issue within it:

I have set myself as the lead and set a start and completion date. A real project would also have milestone releases. The project view shows how your project sits on a calendar. As I’m doing this the wrong way round, I need to associate my existing issue with this new project. My issue and the two sub-issues are now associated with the project:

Finally, let’s introduce the cycle. These can be a set number of weeks long, and reoccur. In fact Linear breaks with its discipline of never mentioning agile by stating these are “similar to commonly used agile-flavored sprints.” If we were publishing The New Stack every week, it strikes me this would make a good cycle. As it is a time-boxed task, any outstanding work flows to the next iteration of the cycle:

Here is a little progress or burn down chart made with my (lack of) progress so far:

Now a few questions I would ask if the tool was attempting to be “flexible.” For example, can I define my own priority or status names to match our system, or can I have a Kanban view? As Linear is opinionated, the emphasis instead is on the tool being written tightly around its specifications. And I think it is. The UI is crisp and has no clunky feel whatsoever.

While I haven’t seen the mobile offering, Linear is neat, tidy and quick. If you don’t want to part with agile methodology just yet, it may not work for you, but otherwise it is worth giving it a shot.

Group Created with Sketch.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.