This document studies how to measure project progress by analyzing the time dependence between code changes. It establishes three categories of changes - built-on-new, built-on-old, and independent. Case studies of two open source projects, PostgreSQL and FreeBSD, find that: 1) They have different distributions of change dependencies over time, with PostgreSQL having fewer independent changes. 2) The distribution of change dependencies is similar between regular development and bug fixing for both projects. 3) Building on recent changes carries more risk, as shown by correlations between building on new code and later bugs. Building on new code leads to more bugs.