You are on page 1of 11

Background Distributed Issue Tracking Introducing Abundant

Features Benefits Demonstration

A planned and structured process to develop a software product ~ Wikipedia Resources available to software development teams often unfeasible for others students, hobbyists, small teams Always use these two tools

Version / Revision Control Issue Tracker

Utility to maintain a global list of bugs and other issues in a software project Critical when issues

can be passed from person to person will be dealt with later

Major players
Bugzilla, JIRA, Trac, FogBugz, et al.

No major distributed product exists


Usually confined to large projects One, centralized issue list is desirable

Benefits of distributing bugs


Issue tracking easily available to smaller users Bug state changes in tandem with source

Necessary features
Still easily maintain a central list Scale in complexity for different userbases

A distributed issue tracker, built in Python VCS agnostic fully functional on its own Primarily targets students and small users Scales nicely as demands change Merge best of centralized and distributed models Hooks into Mercurial, other DVCSs possible in the future

Easily start bug tracking on any project Issues stay with source code No workflow forced on users

Issues need very little metadata Single users never need to assign issues Small teams dont need complex workflows

Cross-platform command line interface

Distributed issue tracking still in infancy


Many projects working towards DIT Limited functionality, little standardization

Another push towards a robust tool Potentially a good resource for WU CS

Abundant uses unique prefixes to lookup issue IDs and other data This lookup needs to be very fast Trie data structure enables O(m) lookup, where m is the length of the string being looked up Wikipedia Abudant Prefix Structure

Single person developing a small project


No effort to set up and start using Abundant Can track work and issues together

Project grows, multiple developers


Scales seamlessly from one to multiple users Able to assign and track issue progress

Workflow requirements expand


Remains just as simple for developers Organizers able to control process

Any questions?