First, scrum and the other agile techniques expect and even welcome change. Because systems are created to help organizations and people achieve their strategies, and the more the requirements change, the closer they come to facilitating strategies. The result is better and more satisfying for both the users and the development team. Second, scrum and other agile development processes are designed to frequently deliver a working version of some part of the product. Frequently means one to eight weeks, not longer. This frequency means that management is at risk only for whatever costs and time have been consumed in that period. And, at the end of the period, they will have some usable product piece that has at least some value to the business. The third principle is that the development team will work closely with the customer, until the project ends. Someone who knows the business requirements must be available to the development team and must be able and willing to clearly express, clarify, and elaborate on requirements. Also, customers need to be available to test the evolving work product and provide guidance on how well new features work. The fourth principle is a tough one for many developers to accept. Rather than design the complete, overall system at the beginning, only those portions of the design that are needed to complete the current work are done. Sometimes this is called just-in-time design. Finally, agile development methodologies are generic. They can be applied to the creation of business processes, information systems, and applications.