User Tools

Site Tools


sedev:uqds

(back to SE development page)

Ultimate Quality Development System

The official reference for the Ultimate Quality Development System (UQDS) is http://divmod.org/trac/wiki/UltimateQualityDevelopmentSystem.

Below is a short summary of the method:

  • You only solve concrete problems. Therefore, always first create a ticket with a problem description (one that is solvable in a short period of time, say 1-2 weeks) if it doesn't exist already.
  • The ticket reflects the state of the problem. Discussions about a problem belong in the ticket. The owner of the ticket is the owner of the problem. The state of the ticket shows the state of the problem.
  • You work in a seperate branch. Each problem you are working on has its own branch.
  • You commit only in branches. Since the branches are used to solve problems, you should make (and commit) your changes there.
  • After fixing, have an outsider do a review. After the problem is solved, somebody not involved in fixing it should have a look at the changes.
  • After approval, merge the fix to trunk. After the reviewer approves the changes, the changes can be merged from the branch to trunk.

Combinator

The Combinator software takes care of branch management for you. It makes copies of trunk to a new branch (mkbranch), and merges changes from a branch back to trunk (unbranch).

It also adds the scripts (in the bin sub-directory) of the current branch to your path (use chbranch to switch branches, and whbranch to check what your current branch is). Last but not least, it adds the current branch to the PYTHONPATH, making it very convenient to develop Python code with Combinator.

sedev/uqds.txt · Last modified: Thursday, 20 March 2008 : 09:54:09 (external edit)