Sunday, December 7, 2014

Evaluation of the SPI approaches and activities to propose an effective Software Process Improvement (SPI) methodology for Small and Medium (SME) software development organizations to optimize their productivity.

1.     Introduction


It’s largely recognized that the process used for the creation of the software is a major influential factor of its quality. Many companies have started to realize software process improvement (SPI) is a useful tool in enhancing software quality as well as the company’s overall productivity (Scott et al, 2001). Software processes can be defined as many interconnected resources managing an entire sequence of activities through utilizing relevant practices and methods for developing software that are in accordance with the requirements of the customer. The result is cost-effective software. As it is understood that the process largely influences the quality of the software, therefore any software enhancement would have to begin from there. Such processes are incredibly useful as they enable the coordination of large teams within organizations so that they are always interconnected. Ideally, such software should be a combination of creativity and flexibility, but in reality this is rather hard (Glass, 1995).Much evidence has indicated that a large number of small software companies have not been adopting the standards as they consider them to be rather made for larger organizations. Studies have also indicated that the reasons for their negative perceptions in this regard are as a result of the different levels of bureaucracy, documentation, and costs involved. A number of software organizations have yet failed in adopting methodologies for improving their software, which results in them bearing greater costs and therefore un-competitiveness in the global market where organizations are increasingly adopting such methods (Herrera, 2003).Many models have been identified for increasing the quality of software, for instance the ISO 9000 norms provided by the ISO, the Software Process Improvement and Capability Determination (SPICE), and the Capability Maturity Model Integration (CMMI). Quality patterns are provided by such models that need to be implemented by organizations for improving their software development processes. However, it has often been experienced that such models fail to apply to SMEs as their size is rather small and they are therefore unable to afford such costly investments. Moreover, as a result of limited resources and time limits, they are unable to properly implement software engineering techniques (Wangenheim, 2006). External assistance is usually required by small organization is conceiving and implementing such projects to keep up-to-date with technological advancements and practices. A number of SMEs have identified such requirements of enhancing software quality, but it is well understood that the quality cannot be enhanced without working on the process carried out in achieving that outcome. Thus, process and product evaluation is being inferred by such firms. Moreover, it has also justified the researches of many scholars that such organizations are rather limited in their usage of HR, deficiency of supporting and lacking environments, budget shortages an dependency on larger companies, and therefore this is a huge challenge for them. Process culture is also not present in such organizations as well as process management principles and process-oriented thinking as they are the major influencers of employees’ behaviors and customs (Valtanen, 2008). It was indicated by Dyba (2003) that SPI can be utilized as a competitive advancement strategy for all organizations alike.
It has been established that the process capability of various small and medium-sized software developing companies has enhanced using the help of process improvement program (Cater-Steel, 2004). Among all other industries, software sector is one of the leading industries in terms of expansion and growth. A continual increase in the number of small companies, out of which many have an eye for software process improvement (Calvo-Manzano, 2002), helps in improving the economy (Wangenheim, 2006). Small and Medium-sized Enterprises comprising of 1-50 employees produce a large number of software all around the world (Gresse, 2003). The market for such SMEs in Germany was 77% and in Brazil was 69% during the year of 2001. The small sized software firms in Ireland require an improvement in their software process (Richardson, 2002). Around 73 % of software firms in Northern Ireland would like to benefit from process improvement program of software using Capability Maturity Model Integration (Mcfall, 2003). A project with less than 20 members and a company with less than 100 employees are named as a small setting. Majority of the total budget of such companies would be utilized to provide for the process improvement program as outlined on the website of Software Engineering Institute. Additionally, a company with less than 50 software developers is known as Small Organization and a project with less than 20 developers is termed as Small Project (Johnson and Brodman, 1998).

1.1 Related Works and Rationale of SPI in SMEs


The aim behind the evaluation and enhancement of a process is to gather data about the required changes and to find out the ways in which those enhancements so that product quality is maximized and development cost is minimized (Pettersson et al, 2008).
In order to assess the capacity of a process, process evaluation is used (Makinen et al, 2008). As per available organization development literature and software engineering, there are basic operational discrepancies between large and small companies (Dyba, 2003). Large organizations prefer formal process whereas small organizations prefer practice (Dyba, 2003). It was noted by Russ and McGregor (2000) the process of software development can be crucial to the success of a small project as it can be crucial for a large one because of the amount of dependencies for every team member. It was further argued by them that its aim is to generate timely and greater quality outcomes for the today’s market without putting a great overhead cost on a small scale project. It was identified by Paquin (1998) that project focus, evaluations, desired functions, documentation and maturity attributes pose as problems for small scale organizations. Six ways of software process enhancement are identified by Abbott (1997) which is applicable is small organizations:
ü  Support by senior management
ü  Appropriate staffing
ü  Linking process improvement with project management philosophies
ü  ISO 9001 certification
ü  Support provided by process development consultants
ü  Emphasis on the provision of value to the business and the project
Seven challenges which can be faced by small organizations are identified by Johnson and Brodman (1998):
ü  Handling needs
ü  Preparing documents
ü  Handling projects
ü  Assigning resources
ü  Determining the progress of the project
ü  Carrying out reviews
ü  Carrying out training sessions
When these organizations plan to incorporate process improvement programs they are hesitant because of the huge amount of expenses they expect due to the costs of process assessment, tools and trainings and investment of time and personal resources. Without the assistance of external consultants, it proves to be very challenging for the SMEs to choose and implement improvement programs in their organizations. Ample investment and time of their software managers are imperative too. Also, the developers are faced with antagonism from their employees who resist changing and the management side which labels the efforts required of them for better quality as an extra load (Kuvaja et al., 1999). The culture of the country also puts some effects on the methods of process improvement (Biro et al., 2002). The leading problem faced by SMEs is that they ought to purchase the necessary expertise needed for software process improvement from the extrinsic sources since they cannot sustain on their own. Additionally, these SMEs are challenged as to how to determine the way to initiate the process of improvement and whom to use as an expert (Kuvaja et al., 1999).
The managers have realized the importance for achieving international quality standards to ensure a fine quality program and thus, are trying hard to get there, expecting to gain benefits from it in the future. However, owing to lack of ample budget, consulting an expert organization is nearly impossible for these SMEs. If the characteristics of these organizations are kept in mind, the software process improvements are very beneficial even for small companies (Kautz, 1999).
Large organizations and small organizations both implement software process improvement to enhance the performance and quality of their organization (Dyba, 2003). As outlined by his study, the small software organizations ought to invest on their strengths by opening new arenas of information and by active participation of its employees. There are multiple ways, languages and instruments to achieve process definition. However, these are infrequently implemented in routine and particularly by small sized companies.
Moreover, an insufficient number of studies are conducted with reference to small software organizations (Kurniawati, et al, 2004, Scott et al, 2001, and Scott et al, 2002). It is very important for the small sized companies to repeatedly enhance and improve their software process on the basis of feedback gained from the multiple stakeholders, to overcome the pressure of the competitive environment of software development worldwide. For the betterment of the organization, it is imperative for the small sized firms to maintain equilibrium between the work done under direct supervisions and mutual adjustment of the parties with the predefined documented procedures (Mintzberg, 1993). Although, In US majority of the software producing companies are small and require improvements they however, have little knowledge about SIP.Small sized companies, even with 2 or more than 2 software developers can gain benefit from working upon an outlined methodology (Kautz, 1999).  Determined by his research results, if procedures are outlined with succinct detailing and testing, the results from these procedures can determine and be worked upon to enhance procedures and routines.
Kuvaja et al (1999) states that it is commonly believed among SMEs that large scale evaluation techniques are fruitful only in large companies and cannot cater to the needs of SMEs properly. However, small teams of software development can make the processes of software better and so can the large ones (Damele, 1995). To conclude we can say that majority of the formerly mentioned research is aimed at SPI models, case studies and evaluation techniques which can be executed in SMEs. As opposed to this, this research paper adopts a comparative view point, and deliberates and relates software process enhancement techniques for SMEs. According to our knowledge, Mishra and Mishra (2008) provide the best work in this regard. They studied and linked numerous SPI techniques on various important features possessed by different researches. This paper considerably covers the former work Mishra and Mishra (2008). The main parts which make this study more interested includes:
1) latest SPI models of OQPL and iFLAP;
2) reviewed and detailed deliberations;
3) Added points of comparison;
4) Difficult and latest literature review comprising of recent referenced linked with SPIs being used in SMEs .

1.2 Need and History of Reserach

Watts Humphrey and his co workers began developing the SPI in the 1980’s, and these early thought were the base for the CMM. At that time only a single major line of software engineering study focused on software infrastructures and factories. Process modeling came to assist the making of third generation CASE tools which would allow tailor made software methods to be explained in formal models. The focus on formal model goes back to a highly recognized 1987 research paper by Leon Ossterweil which was published when he Watts Humphrey developed the initial CMM version. The earliest movement to develop process programming came when Leon Osterweils met with Watts Humphrey and his colleagues at IBM in the early 1980. Osterwiel recommended that we should explain software processes by programming them as much as we program computer applications. The activity where software process descriptions are expressed with the help of programming techniques is referred to as process programming and it also suggests that such activities need to be the focal point of software engineering.
A similar view was adopted by Peter Feiler and Watts Humphrey when they argued that software processes tend to have a number of artifacts in common and similar methods disciplines are also required. Therefore, they suggested that SPI in software should be considered from a developmental perspective. Still, such approaches distinguish software process designs from usage in space and time, much similar to the traditional linear sequential waterfall paradigm. Even though they suggested that prototyping or evolutionary approaches be utilized, in the end the process use is disconnected from the process design. The IDEAL process improvement model for instance presents the various steps for software process design, analysis, diagnosis, and assessment alongside the process rollout for the process users. This model is very similar to the waterfall approach and is one of the most well knowing user guides for enhancing processes. Such programming approaches also externalize process knowledge through the representation and formalization of the users’ heads. Various CMM concepts indicate how CMM is pervaded by formalization. For instance, capability maturity model describes the various stages software companies have to pass when defining, implementing, measuring, controlling, and eventually improving their software processes. Software process maturity indicates how clearly processes are controlled, measured, managed, defined, and most importantly, effective. In a similar manner, software process description operationally indicates process components that have been identified in the defined process of the project or the company’s standard process. It accurately verifies the documents, its requirements, behavior, and various other characteristics including its design. This can be referred to as structuration—which is defining the process parts for forming coherent systems.
Even though explicit models of the software processes or the process parts are required for supporting the developers with tools and methods, such methods are not recommended for achieving the SPI goals. Structuration, separation, and externalization can be considered important for mapping the present behavior of people, but not as much for changing them.
Yingxu Wang and Graham King (2002) states that concepts and methodologies of software process improvement (SPI) have been largely inspired by the work in management science, particularly in quality system principles and enterprise reengineering research. Shewhart developed a concept of plan-do-check-act iteration based process improvement which was later extremely used in Japanese manufacturing industry known as KAIZEN method and that was later extended and interpreted by Deming known as Deming Cycle. The "Plan-Do-Check-Act" cycle described by Deming (Deming, 1992) might be a candidate for a generic model because the CMM as well as the ISO 9000 quality standards are based on this cycle. However, the issues of changing software processes seem to be underrepresented in this cycle: Only the "Do" element deals with changing the process. In last two decades, a number of SPI methodologies were developed, they are either model based or benchmark based. The model-based SPI has been developed by Humphrey, Paulk et al. where the benchmark based SPI was developed by IBM. Software process improvement is a very complicated, systematic task, requires theories, models and highly skilled technical and managerial professionals and contribution and commitment of top management. In model based methodologies, SEI CMM, ISO 9000 norms can be adapted for SPI. CMM uses maturity model to measure software capability and improvement where ISO uses quality standard for SPI. Research has found that it is easy to adapt these models for larger software organizations where because of cost, resources it is difficult for SMEs to go for model based SPI. There is evidence that the majority of small software organizations are not adopting existing standards as they perceive them as being orientated towards large organizations and studies have shown that small firms’ negative perceptions of process model standards are primarily driven by negative views of cost, documentation and bureaucracy (Laporte, Alexandre et al, 2008). It is further supported by many researchers that small software organizations are characterized by their insufficient human resources, lack of development and supporting environment, lack of budget and dependency on the large organizations and find software process improvement a major challenge. Several authors (Curtis 1997; Mattingly, Abreo 1997) suggest that the problems software companies encounter while implementing process improvement initiatives might result from insufficient organizational change management. Therefore, various authors have stressed the importance of organizational change in software process improvement programs (Bottcher 1997; Curtis 1997; Humphrey 1989). Some authors (Coffman, Thompson 1997; Goldenson, Herbsleb 1995; Stelzer et al. 1997) indicate that software organizations usually underestimate the efforts needed to accomplish the change process. Here the concern is cultural mind set of the top management to the bottom level employees. Resources and knowledge can be limited but 2-4 person release is not a very hard task even after meeting the project deadline. Implementing software engineering technique may be difficult task but we will produce a methodology and framework and approach where the positive mind set can easily implement SPI in SMEs. Even some of the important process establishment of CMM is not also very costly. It is even better to work for employees as a role based workers where now they are working wherever they can contribute which also creates complexity (Individual skill based). Since it is found that CMM and ISO 9000 based SPI is difficult in SMEs, there are some SPI methodologies like OWPL, ASPE-MSC, iFLAP, PRISMS, SPM, MESOPYME for SMEs which were significantly applied on SMEs. Most of them requires external consultant to conduct SPI. Our proposed SPI will follow Deming cycle along with PSP, assessment and continuous improvement. Our SPI will show the step by step guidelines from start to several cycle of process improvement serve as a built in consultant for SPI for the SMEs.

1.3 Dissertation Aims and Objectives

The overall aim of the dissertation is to gain an in depth knowledge of the SPI approaches both in goal oriented, model based methodology for SPI and benchmarked based approaches. In the research, we will aim to find out the advantages of SPI for big companies as well as small/medium size enterprises. We will focus why the SPI approaches are not suitable for small/mid size companies and we will propose a SPI methodology for the SMEs which will be suitable for increasing their productivity. We will test our methodology by more than 20 software development organization’s key players.
We will achieve the aim by the following objectives:
1.      To research the software process improvement frameworks, approaches and methodologies by using online journals, case studies, eBooks and Google search engine to understand their weakness and strength.
2.      To find out what is the current state of software engineering and management practice in the SMEs.
3.      To find out the weaknesses of SPI in SMEs and also the key process areas which can be applied to the SMEs while SPI.
4.      Based on the SPI research and knowledge, find out the strengths of different software development approaches and methodologies.
5.      By doing quantitative and qualitative survey, find out the processes and principles that can be used to develop a SPI methodology for SMEs.
6.      We will validate that our proposed solution that will give more productivity for SMEs in development projects. 

1.4 Flow of Dissertation


Chapter 1: Introduction
The introduction is given in this chapter, along with the reasons behind carrying out this research. A short summary is given of brand equity, identity and personality with regards to smartphones. The chapter also shows who will benefit and who should show interest in this research.
Chapter 2: Literature Review
The ideas which were put in use for this research are shown in this section next to the relations in the conceptual models. A software process improvement was defined and along with the models that are mostly used. As SPI was the keyword we have defined it first, as it should help in bringing about an ease and utility to carry out the research which made the research much simpler and comprehensible.
Chapter 3: Methodology
The techniques which were used to collect and evaluate the findings are shown in this chapter, by using interviews.  The techniques which were adopted were reliable and legitimate for data collection and analysis.
Chapter 4: Findings and Analysis
The score of preferences shown by the students regarding the two brands, apple and Samsung, were gathered with the help of interviews.  The experimented information gathered was a detailed analysis of the concepts and theories in the research to reach a definite conclusion.
Chapter 5: Conclusion
The main aim of the chapter is to present the final results of the study which was carried out by analysing the data gathered from different sources. Furthermore, this chapter will conclude the overall findings of the study and will reveal the key points which were known through this research. Also, the aims and the purpose of the study will be verified in this section, so that the reliability of the study can be established in a proper manner.
Chapter 6: Recommendations

The aim of this section is to give the recommendations on the basis of the data gathered and is mainly dependent upon what is revealed by the overall material gathered by the researcher. The suggestion put forward on the basis of the research is that if Software Process Improvement is a massive process and by proper planning and management it can give long lasting progress and prosperity to the SMEs.

No comments:

Post a Comment