Meet Jim. Jim is the development manager in charge of a very important software project. He and his team of developers are responsible for seeing this high priority project to completion. After a few months of development, the sales team asks for a few changes to the application. Jim promptly reorganizes his team and their priorities to incorporate the new requests. Later that month, the quality assurance team requests additional time to retest various functional areas. Jim sits down with the QA group and works out a plan to provide them with more time. A few weeks later, Jim’s team approaches him voicing some concern about some of the coding and requests that it be refactored. Jim immediately works with his team to identify the problem areas and redirects their efforts. One month later, the project’s deadline is missed and the company looses their sales opportunity. What went wrong? Jim did everything he could do, right? Almost.