Cultural Issues in Software Estimation: From Intuition to Model Based Estimation in Upgrade Projects

WHAT IS AN UPGRADE PROJECT Common types of software upgrades include changing the version of an operating system, office suite, anti-virus program, or various other tools. Most of the cases software upgrades are often downloaded from internet in the form of a patch. A patch does not contain the software in entirety, but changes that are required to be made. These patches usually address small additional functionalities and also address concerns related to software security. A software upgrade can be minor or major depending on the amount changes incorporated in the released software. When a major upgrade happens, there would be a change in version number. The common nomenclature adopted for minor release usually follows with a ".01", ".02", ".03", etc. For example, version 10.03 means that that is the third minor upgrade of version 10. The vendor organization generally does not charge for minor upgrades, but insists that major upgrades be purchased. An upgrade happens when an existing product is replaced with a new version of the product or already installed application (Box, 1983; Day, 1981; Levitt, 1965; Dhalla & Yuspeh, 1976). Upgrade projects start after newly developed application is installed at the customer site. During this installation the application would perform required functionalities required to meet business needs. However, these functionalities always need to be modified and new functionalities need to be added to meet changing business needs (Liu, Adkins, Yao, & Williams, 2007; Conde, 2002; Dver, 2003). Sometimes upgrade projects take care of non functional requirements such as performance improvement of the installed application. This is done so that more number of users can access the installed application and can use them simultaneously. Such types of additional requirements are handled by upgrade projects by integrating new functionalities (Raymond, 2009). Through upgrade projects not only software, but also hardware is also modified or replaced so that system can be up-to date and take advantage of new technology. For example installing additional memory (RAM) or graphics card or additional hard disk is also carried through upgrade projects. BACKGROUND OF STUDY J & B Software Incorporation (www.jbsoftware.com) is a leader in providing solution in remittance and payment processing industry and been in existence for last 25 years. It had revolutionized the image based payment processing industry by providing simple-to-install and easy-to-maintain core applications that are capable of meeting specific customer needs. These solutions are developed through domain expertise, using the best-of-breed software development model which allows the organization to meet change in requirements with optimized cost. While all the functionality requirements are met, this model helps to meet delivery schedule. The customer profile includes organizations from regional and money-centre banks, insurance companies and mutual funds, credit card and student loan processors, telecom, utilities, government, non-profit and commercial organizations. Upgrade plays a major role in product development life cycle in JB Day, 1981; Levitt, 1965; Conde, 2002; Dver, 2003). It is expected that these requirements are correctly understood so that estimation can be done accurately. It's also important the estimation process is consistent so that customers can manage their budget apportioned for upgrading installed products. …