Introducing sub-issues: Enhancing issue management on GitHub

Explore the iterative development journey of GitHub’s sub-issues feature. Learn how we leveraged sub-issues to build and refine sub-issues, breaking down larger tasks into smaller, manageable ones.

Shaun Wong
6 min readintermediate
--
View Original

Overview

The article introduces sub-issues, a new feature on GitHub designed to enhance issue management by allowing users to break larger issues into smaller, manageable tasks. It discusses the development journey, implementation details, and the benefits of using sub-issues for better organization and tracking of project progress.

What You'll Learn

1

How to create hierarchical lists within a single issue on GitHub

2

Why breaking down complex tasks into sub-issues improves project management

3

When to use sub-issues to track progress and dependencies effectively

Key Questions Answered

What are sub-issues and how do they enhance issue management on GitHub?
Sub-issues allow users to break larger issues into smaller, manageable tasks, creating a hierarchical structure within a single issue. This feature helps teams stay organized, track progress, and manage dependencies more effectively, ultimately improving project management.
How did GitHub implement the sub-issues feature?
GitHub implemented sub-issues by designing a new hierarchical structure for tasks, updating data models, and using GraphQL endpoints to support nested relationships. This approach allows for efficient data fetching and enhances the user experience without adding complexity.
What benefits did GitHub teams observe from using sub-issues?
GitHub teams found that using sub-issues significantly improved their ability to manage large projects by breaking down tasks into smaller items, which enhanced visibility and control over work. The hierarchical structure also helped identify dependencies and ensured that no tasks were overlooked.
What feedback influenced the development of sub-issues?
Feedback from beta testers was crucial in shaping sub-issues, particularly regarding the amount of metadata displayed in the sub-issue list. This iterative process allowed GitHub to refine the feature based on real user experiences and needs.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Utilize sub-issues to break down complex tasks into smaller, actionable items for better tracking.
This approach not only simplifies project management but also enhances team collaboration by providing clear visibility into task dependencies and progress.
2
Incorporate feedback from team members when implementing new features like sub-issues.
Engaging users early in the development process can lead to a more refined product that meets the actual needs of the community, ensuring higher satisfaction and usability.
3
Leverage GraphQL endpoints for efficient data fetching when working with nested structures.
Using GraphQL can enhance flexibility in how data is queried and displayed, which is particularly beneficial for features that involve complex relationships like sub-issues.

Common Pitfalls

1
Failing to gather user feedback during the development of new features can lead to misalignment with user needs.
This often results in a product that does not meet the expectations of its users, making it essential to involve them early and often in the design process.