Painstaking and often done with terrible tools and badly written requirements.