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 don’t 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?

Related Interests