The Incremental Improvements (INCR) JIRA project is home to small, straightforward development tasks which must be finished in order to achieve larger, long-term objectives of the Open edX community. All tickets in it should have the following characteristics:
- Quick to implement. Ideally no more than 3 hours for a developer who is already familiar with the contribution process to submit a reasonable pull request.
- Small in scope. Should affect no more than 10 files (preferably fewer), and not require large amounts of new or refactored code. If a similar change needs to be made to dozens or hundreds of files, there should be a separate ticket for each small batch of files (and there should ideally be a script to automate the change). This keeps the pull requests easy to review so feedback can be provided promptly.
- No prerequisites. Each INCR ticket should be doable immediately, without waiting for another change to be made.
- Not urgent. While all INCR tickets are important, they do not have pressing deadlines. A new developer should have time to become familiar with the contribution process and the changes to be made, without feeling pressured to submit something quickly.
- Requires no additional information or clarification. The ticket description should clearly describe exactly what needs to be done.
- Does not require knowledge of the existing Open edX code. All INCR tickets should be implementable by a developer with the appropriate fundamental skills, and described assuming little or no knowledge of the existing code. It can be assumed that the developer has read enough documentation to start a devstack and understand the contribution process.
- Not controversial. If the instructions in the description are followed, it should be feasible to promptly review and merge the changes without extended deliberation.
- Contributes to a larger goal. Each ticket belongs to an INCR epic describing a significant improvement to the Open edX codebase which depends on this small change being completed.
Incremental Improvement tickets are appropriate for many kinds of developers, including:
- Developers who have an idea for a larger Open edX contribution, and want to practice with a smaller task first
- Students of computer programming who want to work on an important project in active use
- New technical employees of edX and other organizations in the Open edX community
- Experienced Open edX developers who want to do something productive with a small chunk of available time
- Hackathon teams who want to make a burst of progress on a big objective