Building any piece of software is no small task. From the first meeting with the client up until the final product release, things can either go smoothly and according to plan, or quickly spiral out of control. Over the years, frameworks and procedures have emerged to...