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