User Classes and Characteristics

YakTrack should cater to the following user classes:

Individual Local Developers. Individual developers should be able to submit issues, edit issues, and perform queries on the database to discover what issues are relevant to them, which issues are open (in the case of issues to which that is relevant, such as defect reports or unsatisfied requirements), etc. These individual developers are assumed to have some knowledge of the development environment and are familiar and comfortable with basic software tools such as text editors etc. As a result, the individual developer tools will be the most "primitive" but also the most efficient for use, probably implemented as text-based command line tools. Since YakTrack is primarily intended as an easy-to-use, free tool for individual developers and small teams, this is the most critical user class to satisfy. The tools must be relatively easy to use, and extremely easy to set up.

Local Issue Managers. Issue managers -- those responsible for keeping track of open issues, etc. -- must have tools capable of querying the database and relating issues to developers. The tools used for issue managers and individual developers will be very similar, as they will be doing similar tasks -- querying the database for open issues, assigning people to issues as appropriate, recategorizing issues or merging/splitting them, etc. However, issue managers may not be as comfortable with "primitive" tools as individual developers, so some thought will be given to more "scripted" or directive tools, possibly involving simple GUI elements. However, the bulk of user-interface issues will be placed on the next user class, remote users.

Remote Users. If YakTrack is used as a defect management system, then remote users (users of software packages submitting reports to a YakTrack center) will constitute the bulk of submissions. If YakTrack is to be used in this way, it must cater to the needs of these users, who will have much lower skills and will require very simple, easy-to-use interfaces. Primarily these interfaces will focus on problem submission, but they will also allow some ability to query the database, etc.