Organizations develop custom application software themselves or hire a development vendor. By developing custom software, an organization can tailor its application to fit its requirements. Custom development is difficult and risky. Staffing and managing teams of software developers is challenging. Managing software projects can be daunting. Many organizations have embarked on application development projects only to find that the projects take twice as long-or longer-to finish than planned. For custom-developed software, the using company must pay all of the adaptation costs itself. Over time, this cost burden is heavy.