Escaping the black hole of technical debt

Traditional software programs have a phase-based approach to development: feature development, alpha, beta, and golden master (GM). Each release begins with a phase where new features are built, and (ideally) residual issues left over from the last released are addressed (but let's be honest: this rarely happens). The development cycle reaches "alpha" when each feature [...]