Incremental Improvements Project

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.
  • Specifies the required skill(s). There should be labels on the ticket listing any development skills required beyond the core ones needed to submit a pull request. Typical labels include "javascript", "python", "css", etc.
  • 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