Jennifer C. CC BY 2.0
- Units of work
- Simplify product work
- Simplify development work
- Product development tools ←
- Universal product tools
Software product development work includes units of work at different scales, from long-term objectives, to individual code changes. For example:
theme → objective → user story → task → commit
A product team that collaborates on this work hierarchy typically represents these units of work in their productivity tools.
The simplest tools manage work at one level, such as Git for version control, or Userdoc for user stories. Similarly, bug trackers manage bugs (a.k.a. issues), but not strategic objectives.
These tools focus on one level in the above hierarchy, capturing data on a specific unit of work, such as a bug’s reporter. Some tools add workflows to support a related process, such as support request resolution.
However, data and process features either reduce flexibility to use different processes and data, or increase complexity if you can customise them. And even if you can customise them, they remain unsuitable for high-level objectives. Ultimately, the team requires multiple tools.
Jira started as a bug tracker to manage software issues, and defeat BugZilla. Version control integration lists related to each issue, so developers can navigate between bug reports and bug fix code changes. In general, product development tools benefit from integration with the units of work at the level below, and links to the level above.
Integrations between units of work at different levels often have a poor user experience (UX). Relying on this integration approach also increase costs, when managing each new level means paying for another tool.
Tools for one unit of work may later expand to cover others, reducing the need for integrations and additional tools. Many Jira enhancements expanded its scope, including:
- higher-level issue types - user stories, epics and themes
- subtasks that add another level below existing tasks
- agile boards for managing epics and user stories.
Despite their value, these enhancements made Jira complex and harder to use, diluting its core value as a better issue tracker.
GitHub took a different approach, with a source code version control user interface to hide Git’s appalling UX. Pull requests (code review tasks) and a simpler issue tracker for user stories and development tasks expand its scope to higher levels. GitHub Projects later added boards that work for higher-level objectives.
GitHub provided simpler functionality and better collaboration, integrated with the core functionality for managing code changes. While that avoided Jira’s complexity, GitHub remains a tool for developers, unsuitable for organisation-wide use by stakeholders outside product development teams.
Product management tools
More recent product management support higher-level units of work. ProdPad and Productboard manage product development objectives, and related work to produce product roadmaps and process customer feedback. They span a broad hierarchy that roughly corresponds to:
product → roadmap → theme → epic → user story
These tools integrate with developers’ tools by synchronising user stories - the overlap between product management and development.
Separate tools for product management and development, with per-user pricing, can end up with half the company having access to each tool, and only product managers using both. That makes you wonder what it would take to use a single more general-purpose tool.