The last type of consulting engagement is where the organization needs or wants to rewrite a software application or group of applications. They want to know the total cost and schedule of rewriting the software application. I am required to determine how much functionality is contained in an application or group of applications. Organizations are often shocked to learn how much functionality the existing application represents.
Too often, software applications have evolved over a period of years with no clear plan or vision for the growth. The application is full of functionality. Sometimes, the same functionality appears three and four times within the same software application. If an organization is responsible for multiple applications, then the same functionality often appears in multiple applications, too.
Imagine an organization having only a dozen or so developers chunking out a few hundred function points per month. After only a few years, the organization can have an application that is thousands of function points. If there is no clear vision or plan in place, much of growth in functionality is redundant, disorganized, and not used.