Part two is here . This paper analyzes approaches to modern software development, then introduces XP and its practices. All software development projects have to deal with risk. Most projects are unique, containing at least one, if not several elements that are new. But the way business is run, like say, a payroll system, is inherently illogical - and that's what makes it so much harder to do that kind of thing.
Companies are about meeting customer's needs and, usually, turning a profit in the process.
Building a logical, consistent infrastructure is most times of secondary importance. We can't complain too loudly lest we bite off the hand that feeds us, but acknowledging the difficulty of corporate development problems is important. In addition, the people and technology resources used to solve these problems greatly vary from project to project. Finding people who can understand how the business works and manipulate the technology at hand, which often changes too fast, can be difficult and certainly is risky. Moving forward with a thick handful of unknown issues requires sound risk management.