Roadmap
How to issues are triaged, prioritized, and discussed.
Internally we don't try to micro-manage, enforce Agile/Scrum, or go hard-core with something like Jira (we tried all that).
- Transparency - Our 1 to 2 weekly support meetings are always on, with the exception of national holidays (US), and 5th Wednesday. Discussion of what we're working on, and when it might be done is common there.
- Agency - We've had a wide spectrum of contributions from collaborators, from spelling changes, to features spanning the full stack. We're happy to work with you to target a level of code-contribution you're interested in.
- Prioritization - When deciding what to work on next we consider a range factors, for example (an unordered list):
- community voice and consensus - "we could all use this now"
- degree of collaborator involvement (highly responsive collaborators, e.g. external devs, are fun to work with)
- externally funded developers - when others commit resources (e.g. salary for external devs) we prioritize their efforts in code and technical support
- bread of impact of the features (how many projects will benefit)
- broader vision, e.g. degree to which goals on the broader semantics of the project are met
- collaborators deadlines, e.g. grants, theses, publications
- balance of innovation versus core functionality, aka developer enjoyment, i.e. its good fun to try new things that resonate that may/not get used ultimately
- general maintenance and upkeep versus new features, its important to do both
- complexity, see below
Practically the core developers scope work by focusing coding effort on a set of targets of varying complexity. That set usually includes:
- 1 major feature, e.g. a new model and it's integration from top-to-bottom
- 2-3 medium sized features, e.g. a new task
- Any number of small features, e.g.bugs or QoL improvements
Collaborators may have isolated and be working on their own set of features, at all levels, well.
Warning
During the 2025 TaxonWorks Together we'll outline additional ways we'll update roadmap, milestone and scope details.