Software Cost Estimation and Capability Maturity Model in Context of Global Software Engineering

Software Cost Estimation and Capability Maturity Model in Context of Global Software Engineering

Ayub Muhammad Latif (PAF Karachi Institute of Economics and Technology, Pakistan), Khalid Muhammad Khan (PAF Karachi Institute of Economics and Technology, Pakistan) and Anh Nguyen Duc (University of South-Eastern Norway, Norway)
Copyright: © 2019 |Pages: 24
DOI: 10.4018/978-1-5225-9448-2.ch011


Software cost estimation is the process of forecasting the effort needed to develop the software system. Global software engineering (GSE) highlights that software development knows no boundaries and majority of the software products and services are developed today by globally-distributed teams, projects, and companies. The problem of cost estimation gets more complex if the discussion is carried out in the context of GSE, which has its own issues. Temporal, cultural, and geographical distance creates communication and software process implementation issues. Traditional software process models such as capability maturity model (CMM) lacks the dynamism to accommodate the recent trends in GSE. The chapter introduces GSE and discusses various cost estimation techniques and different levels of CMM. A couple of GSE-based case studies having CMM-level projects from multiple organizations are studied to analyze the impacts of highly mature processes on effort, quality, and cycle time.
Chapter Preview

Global Software Engineering

The world has become a global village and software engineering industry has kept pace with the changing circumstances by establishing a new dimension known as Global Software Engineering (GSE) in which geographical location, culture and distance is no more a barrier and software engineers across the globe must collaborate and play their part in achieving the desired goal (Carmel, 1999; Prikladnicki et al, 2003). There are many technological factors that have made it possible but the most important is the advent of low cost international telecommunication infrastructure that facilitated the outreach of internet and email (O’Brien, 2002). Further, the political circumstances across the globe has also played its part as getting visa for the work force is no more simple and getting the people to fly to one location and providing them all the necessities is expensive as well. Letting the highly skilled software engineers work from low cost locations such as Eastern Europe, Latin America and Far East (Crow et al, 2003) is a better proposition. Another benefit of GSE is that the operations are established near emerging markets which has its own advantages. A variation of this model is just to shift the application development and maintenance by using out sourcing model to remote third party organizations. These remote organizations can even be subsidiaries of big companies established in low cost economies (Carmel et al, 2005; Toaff, 2005).

There can be several challenges in a typical GSE environment but the top most is team building and project management. The success of any GSE project depends upon the operations of virtual teams which forms the core building block of the virtual organization (Davidow et al, 1992; Jarvenpaa et al, 1994; Mohrman, 1999). Virtual teams are bit different from traditional teams hence they needed to be managed differently as well. A traditional team is a group of individuals who are gather to achieve a common objective. They undertake interdependent tasks, coordinate among each other and share responsibility of the outcomes (Powell et al, 2004).Though virtual teams also behave like traditional teams but with certain challenges involving different time zones and geographical location. There are no organizational boundaries as the environment is multicultural and multilingual. The most complex area of handling virtual teams is of communication as it is mostly dependent on electronic communication infrastructure. It is asynchronous with very few possibilities for synchronous contact. The virtual team may assemble / disassemble as per requirements which is true for traditional teams as well.

Project management become complex with virtual teams due to co-ordination, communication and cooperation (Nidiffer et al, 2005) challenges. The electronic and asynchronous means can never be equivalent to a good face to face discussion. Even the video calls cannot capture the emotions of all the participants or the positive / negative energy in the room. The distance is not just geographical; it’s the temporal and cultural distance that creates new barriers and complexities in the project management activities (Herbsleb et al, 2003).

Complete Chapter List

Search this Book: