“Adopting a best practice approach to Software Development
and Software Process Improvement, is fundamental to the
growth and survival of many Indigenous Software Start-up
Companies in Ireland”
Robert Staunton
National University of Ireland Galway
(Atlantic University Alliance)
A Research Dissertation submitted in partial fulfilment for the Degree of Masters of
Science in Technology Management of the National University of Ireland, Galway.
Head of Department : Professor Roy Green, NUI Galway.
Thesis Supervisor : Dr. Kathryn Cormican, NUI Galway.
M.Sc. in Technology Management
September 2006
ii
Executive Summary
For a long time Ireland was behind other industrialised nations in terms of low
employment levels in industry and in its ability to attract Foreign Direct Investment
(FDI) to its shores. Throughout the past 20 years however, there has been a notable shift
in this, with Ireland seen as the leading recipient of FDI in the EU in 2002.
This has resulted in the creation of indigenous jobs through foreign companies
purchasing products and services from Irish suppliers, with Ireland now having the
highest rate of new business start-up in the EU. The indigenous software sector is
notably the biggest benefactor of this trend, employing over 15,000 people.
However, a key problem with the high rate of start-up companies in the software sector
is the time it takes for these companies to grow and compete in global markets. The
author of this thesis is of the opinion that many start-ups fail because of the underlying
management and organisational activities that drive the companies forward.
Secondly, the inherent disregard for best practice approaches throughout the software
development life cycle (SDLC) of Start-up companies is further oppressing their ability
to grow. The entrepreneurial behaviour of many managers that have founded such
software companies, is further enmeshed in this and compounds the mentality of live for
today, but don’t plan for tomorrow.
The focus of this study is on identifying the trying to resolve the problems mentioned
above. The scope of this study is on identifying best practice theory in the areas of
software engineering and breaking this down further by looking at best practice software
development and software process improvement methodologies.
iii
The research methods used in this study took the form of a survey/questionnaire and a
case study on four companies operating in the same software sector but at different
stages of maturity. The aim of this was to ascertain the levels to best practice techniques
are conducted throughout their software development processes.
From the results attained, the author then chose a case study approach on the Start-up
company to uncover why it scored so badly in relation to best practice as documented
through the Software Best Practice Questionnaire (SBPQ).
The key findings of the case study are presented and the author then provides a best
practice Framework model that in his view, would improve both the management and
organizational activities in the company and increase the possibility of the company
maturing to Build and Expansion phases of development.
Throughout history many methodologies have been touted as silver bullets to improve a
software company’s productivity and quality levels. However, few approaches have
been tailored to the specific needs of small Start-up companies. The author is satisfied
that the best practice Framework presented in this thesis could in fact be used as a
template for managers of software Start-ups. The Framework incorporates many of the
best practice techniques throughout the software development cycle and creates scale so
these companies can easily grow without major disruption to the organisational make up
of the company.
The author is confident that the findings from this research have the potential to better
equip Start-up software companies to adopt best practice software development and
process improvement techniques, thus increasing their chances of success in both
domestic and global markets.
v
Table of Contents
EXECUTIVE SUMMARY ........................................................................................................................ II
ACKNOWLEDGEMENTS ..................................................................................................................... IV
TABLE OF CONTENTS ........................................................................................................................... V
LIST OF TABLES ................................................................................................................................ VIII
LIST OF FIGURES .................................................................................................................................. IX
ABBREVIATIONS ................................................................................................................................... IX
CHAPTER 1 – INTRODUCTION ........................................................................................................... 12
1.1 INTRODUCTION ........................................................................................................................ 12
1.2 PURPOSE OF THE THESIS ......................................................................................................... 14
1.3 AIM AND OBJECTIVES .............................................................................................................. 15
1.4 THESIS STRUCTURE ................................................................................................................. 17
1.5 CONCLUSIONS .......................................................................................................................... 19
CHAPTER 2 – INDUSTRY BACKGROUND ........................................................................................ 20
2.1 INTRODUCTION ........................................................................................................................ 20
2.2 SHAPING IRELAND’S ECONOMIC DEVELOPMENT ................................................................... 23
2.2.1 PEST Analysis ...................................................................................................................... 24
2.3 THE EMERGENCE OF ENTREPRENEURIAL ACTIVITY IN IRELAND ......................................... 25
2.4 THE EMERGENCE OF IRELANDS SOFTWARE SECTOR ............................................................ 26
2.5 SUSTAINING ECONOMIC GROWTH IN IRELANDS SOFTWARE SECTOR .................................. 28
2.5.1 TOWS Matrix ....................................................................................................................... 30
2.6 CONCLUSION ............................................................................................................................ 33
CHAPTER 3 – SOFTWARE ENGINEERING ...................................................................................... 36
3.1 INTRODUCTION ........................................................................................................................ 36
3.2 THE ORIGINS OF SOFTWARE ENGINEERING ........................................................................... 37
3.3 APPROACHES TO SOFTWARE ENGINEERING .......................................................................... 39
3.4 THE SOFTWARE DEVELOPMENT PROCESS ............................................................................. 42
3.5 SOFTWARE PROCESS MODELS ................................................................................................ 45
3.5.1 Waterfall Model ................................................................................................................... 45
3.5.2 Prototyping Model ............................................................................................................... 47
vi
3.5.3 Spiral Model ........................................................................................................................ 48
3.6 HEAVYWEIGHT VERSUS LIGHTWEIGHT METHODOLOGIES .................................................... 51
3.7 AGILE SOFTWARE DEVELOPMENT ......................................................................................... 52
3.7.1 Crystal/Adaptive Software Development (ASD) .................................................................. 53
3.7.2 Dynamic Systems Development Method (DSDM)................................................................ 54
3.7.3 Feature Driven Design (FDD) ............................................................................................ 55
3.7.4 SCRUM ................................................................................................................................ 56
3.7.5 eXtreme Programming (XP) ................................................................................................ 56
3.8 CONCLUSION ............................................................................................................................ 57
CHAPTER 4 - SOFTWARE PROCESS IMPROVEMENT ................................................................. 60
4.1 INTRODUCTION ........................................................................................................................ 60
4.2 WHY THE NEED FOR SOFTWARE PROCESS IMPROVEMENT (SPI)? ........................................ 61
4.3 SOFTWARE PROCESS IMPROVEMENT MODELS ...................................................................... 64
4.3.1 Capability Maturity Model (CMM) ..................................................................................... 65
4.3.2 ISO 9000 .............................................................................................................................. 67
4.3.3 BOOTSTRAP ....................................................................................................................... 70
4.3.4 Software Process Improvement & Capability Determination (SPICE) ............................... 72
4.3.4.1 The ISO 15504 framework ............................................................................................................. 72
4.4 CRITICAL SUCCESS FACTORS FOR SPI ................................................................................... 74
4.5 IMPLEMENTING A NATIONAL SPI EFFORT ............................................................................. 76
4.6 CONCLUSION ............................................................................................................................ 78
CHAPTER 5 - RESEARCH METHODOLOGY ................................................................................... 79
5.1 INTRODUCTION ........................................................................................................................ 79
5.2 RESEARCH METHODOLOGY .................................................................................................... 79
5.3 THE CHOICE OF RESEARCH METHOD .................................................................................... 82
5.4 SURVEY AND INTERVIEW METHODS ....................................................................................... 83
5.5 SURVEY DESIGN ....................................................................................................................... 84
5.6 CASE STUDY ............................................................................................................................. 85
5.7 TRIANGULATION ...................................................................................................................... 87
5.8 DOCUMENTARY RESEARCH..................................................................................................... 87
5.9 CONCLUSION ............................................................................................................................ 88
CHAPTER 6 – DATA ANALYSIS .......................................................................................................... 89
6.1 INTRODUCTION ........................................................................................................................ 89
6.2 SURVEY FINDINGS .................................................................................................................... 90
6.2.1 Requirements and Design .................................................................................................... 91
6.2.2 Code and Test ...................................................................................................................... 92
vii
6.2.3 Configuration Management ................................................................................................. 93
6.2.4 Estimates and Schedules ...................................................................................................... 94
6.2.5 Project Management and Training ...................................................................................... 95
6.3 SURVEY RESULTS..................................................................................................................... 96
6.4 CASE STUDY ............................................................................................................................. 97
6.4.1 Company D ......................................................................................................................... 97
6.4.2 As-Is Approach at Company D ............................................................................................ 98
6.4.2.1 Requirements and Design............................................................................................................. 100
6.4.2.2 Testing and Coding ....................................................................................................................... 101
6.4.2.3 Configuration Management ......................................................................................................... 101
6.4.2.4 Estimates and Schedules .............................................................................................................. 102
6.4.2.5 Project Management & Training ................................................................................................. 102
6.4.2.6 Conclusion ..................................................................................................................................... 103
6.4.3 To-Be Approach ................................................................................................................. 106
6.4.3.1 Requirement and Design .............................................................................................................. 106
6.4.3.2 Code and Test................................................................................................................................ 108
6.4.3.3 Configuration Management ......................................................................................................... 109
6.4.3.4 Estimates and Schedules .............................................................................................................. 110
6.4.3.5 Project Management and Training............................................................................................... 111
6.4.3.6 Conclusion ..................................................................................................................................... 111
6.4.4 The ‘As-Is’ Model in Practice ............................................................................................ 114
6.4.4.1 Pareto Analysis Results ................................................................................................................ 115
6.5 CONCLUSION .......................................................................................................................... 117
CHAPTER 7 – CONCLUSIONS ........................................................................................................... 120
7.1 INTRODUCTION ...................................................................................................................... 120
7.2 RESULTS OF THE STUDY ........................................................................................................ 121
7.2.1 Government Support of the Irish Software Sector ............................................................. 121
7.2.2 Benefits of Best Practice Approaches throughout the SDLC ............................................. 122
7.3 RESEARCH LIMITATIONS ...................................................................................................... 123
7.4 FURTHER RESEARCH ............................................................................................................. 124
7.5 CONCLUSION .......................................................................................................................... 125
REFERENCES AND BIBLIOGRAPHY .............................................................................................. 126
APPENDIX A SURVEY/QUESTIONNAIRE ............................................................................. A-1
APPENDIX B E-MAIL REQUEST TO PARTICIPATE IN SURVEY ..................................... B-1
APPENDIX C SPI INTERVIEW QUESTIONS .......................................................................... C-1
APPENDIX D DATA PERTAINING TO PARETO CHART ................................................... D-1
viii
List of Tables
TABLE 2.1.1 CYCLES OF INNOVATION .......................................................................................................... 20
TABLE 2.1.2 - LARGEST OECD EXPORTERS OF SOFTWARE AND COMPUTER SERVICES 2002. SOURCE
(OECD/EUROSTAT.) ........................................................................................................................... 21
TABLE 2.2.1 - FINDINGS BASED ON THE ENTERPRISE IRELAND (2005) ECONOMIC PROFILE OF IRELAND...... 24
TABLE 2.4.1– GENERAL CHARACTERISTICS OF THE IRISH ICT AND SOFTWARE SECTOR. (ICT IRELAND 2003,
IDA 2003) .......................................................................................................................................... 27
TABLE 2.5.1 - TOWS MATRIX. .................................................................................................................... 32
TABLE 3.3.1– APPROACHES TO SOFTWARE ENGINEERING (WANG & KING 2000, PG. 19). ........................... 40
TABLE 3.3.2– ORGANISATIONAL AND MANAGEMENT CATEGORIES OF SOFTWARE ENGINEERING. (WANG &
KING 2000, PG. 15). ............................................................................................................................ 41
TABLE 3.4.1– TYPICAL SKILL SET OF A SOFTWARE ENGINEER. .................................................................... 42
TABLE 3.4.2– ROLE OF STAKEHOLDERS DURING THE SOFTWARE DEVELOPMENT PROCESS .......................... 43
TABLE 3.6.1 – DIFFERENCES BETWEEN LIGHTWEIGHT & HEAVYWEIGHT METHODS. .................................. 51
TABLE 3.7.1 – GENERAL CHARACTERISTICS OF AGILE METHODS (HIGHSMITH, 2002). ............................... 52
TABLE 3.7.2- THE TWELVE PRACTICES OF XP. ............................................................................................. 56
TABLE 4.3.1– STRENGTHS AND WEAKNESSES OF SPI MODELS (RICHARDSON, 1999). ................................ 64
TABLE 4.3.2– KEY PROCESS AREAS OF THE CMM (PAULK ET AL. 1993) ..................................................... 66
TABLE 4.3.3- ISO 9000-3 GUIDELINE CLASSES (ISO 9000-3, 1997). ........................................................... 69
TABLE 4.3.4 – ISO 15504 FRAMEWORK, (ISO/IEC TR 15504-2 1998, PG.5). .............................................. 73
TABLE 5.2.1 – KEY RESEARCH DECISIONS (DENSCOMBE, 2003, PG. 5) ......................................................... 80
TABLE 5.2.2 – ADVANTAGES AND DISADVANTAGES OF METHODS OF RESEARCH. ....................................... 81
TABLE 5.6.1– CASE STUDY AND SURVEY USED IN RESEARCH...................................................................... 86
TABLE 6.3.1- SURVEY RESULTS ................................................................................................................... 96
TABLE 6.4.1- ADVANTAGES AND DISADVANTAGES OF THE ‘AS-IS’ FRAMEWORK MODEL ........................ 105
TABLE 6.4.2 - ADVANTAGES AND DISADVANTAGES OF THE ‘TO-BE’ FRAMEWORK MODEL. ..................... 113
ix
List of Figures
FIGURE 3.4.1– STAKEHOLDERS OF THE SOFTWARE DEVELOPMENT PROCESS ............................................... 43
FIGURE 3.5.1– INPUT/OUTPUT FROM A TYPICAL SOFTWARE DEVELOPMENT PROCESS. ................................ 45
FIGURE 3.5.2 – THE WATERFALL MODEL (ROYCE, 1970) ............................................................................ 46
FIGURE 3.5.3 – THE PROTOTYPING MODEL (BOEHM, 1988) ......................................................................... 47
FIGURE 3.5.4 – SPIRAL MODEL OF SOFTWARE DEVELOPMENT AND ENHANCEMENT. (BOEHM, 1988) ......... 49
FIGURE 3.7.1– TIME BOXES IN AGILE DEVELOPMENT. ................................................................................. 55
FIGURE 4.3.1– CAPABILITY MATURITY MODEL (CMM). (PAULK ET AL. 1993). .......................................... 65
FIGURE 4.3.2– STRUCTURE OF THE ISO 9000 STANDARDS. .......................................................................... 68
FIGURE 4.3.3– BOOTSTRAP METHODOLOGY (KUVAJA & BICEGO, 1994) ................................................. 70
FIGURE 6.4.1 - STAKEHOLDERS OF THE SOFTWARE DEVELOPMENT PROCESS ............................................... 99
FIGURE 6.4.2– STAKEHOLDERS OF THE SOFTWARE DEVELOPMENT PROCESS ............................................. 107
FIGURE 6.4.3 - DATA ANALYSIS PARETO CHART ....................................................................................... 116
Abbreviations
Term Meaning
SE Software Engineering
SPI Software Process Improvement
EI Enterprise Ireland
IDA Irish Development Agency
CMMI Capability Maturity Model Integration
ISA Irish Software Association
ICT Information and Communications Technology
PEST Political, Economic, Social and Technological
SME Small Medium Enterprises
EU European Union
OECD Organisation for Economic Cooperation and Development
GDP Gross Domestic Profit
FDI Foreign Direct Investment
TOWS Threats, Opportunities, Weaknesses, Strengths
x
EEC European Economic Community
NTMA National Treasury Management Agency
US United States
ESG Enterprise Strategy group
PRTLI Programme for Research in Third-Level Institutions
SFI Science Foundation of Ireland
R&D Research and Development
NDP National Development Plan
ESC European Software centre
DERI Digital research Enterprise Institute
IEI Institute of Engineers of Ireland
IEEE Institute of Electrical and Electronics Engineers
OS Operating System
NATO North Atlantic Treaty Organisation
ASD Agile Software Development
XP eXtreme Programming
ISO International Standards Organisation
OOD Object orientated Development
SDLC Software Development Lifecycle
DSDM Dynamic systems Development Method
FDD Feature Driven Design
ESD Effective Software Development
12
CHAPTER 1 – INTRODUCTION
1.1 Introduction
Since the inception of the software engineering field in the late 1950’ early 1960’s, there
is a shared view throughout literature that missed deadlines and poor quality are the
nature of the software industry.
Unlike other industrial sectors software development companies are unique in that
although many may have poor insight into their software development practices, high
margins allow them to maintain a certain level of profitable. In addition, few developers
have insufficient in best practice software development techniques, with little
opportunity within these companies to enjoy the opportunity to learn about best practice
development techniques, as poor practices are so widespread.
In 1998, it was stated that only an estimated 75% of software development organizations
achieve only Level 1 CMMI which equates to an ad-hoc approach to software
development. (Gainer, 1998)
Although many such software companies could benefit from adopting better practices
throughout the software development life cycle (SDLC), few ever attempt change and
even fewer manage to sustain the change effort to realize the benefits.
The irony is that many of these companies accept that implementing an appropriate
software development process can improve both the effectiveness and efficiency of their
software development practices. But adopting a disciplined approach to software
development or software process improvement is impeded manly because of a lack of
understanding of the long term benefits that can be gained from a best practice approach.
In many cases, such companies rely heavily on key personnel to push projects through
the development process which over time can create a stressful working environment as
13
developers and project managers are continually and unnecessarily handling major
development issues so as to maintain timely project completion.
Poor planning, late requirements and poor project management can impact greatly on
such projects that often results in late delivery and poor quality.
In Ireland, the indigenous software sector employs 15,000 people in 660 companies with
the total software industry employing 25,000 in Ireland (DETE, 2006). This alone
underlines the importance of the Indigenous software sector to the Irish economy. At last
years Annual Conference of the Irish Software Association, Minister for Trade and
Commerce Michael Ahern made clear that Ireland is at a turning point in its economic
development as a result of globalisation and increased global competition.
Some of the key challenges for Irish software companies lie in their ability to create
scale and compete in a global economy. Enterprise Ireland has provided support for
many start-up and small software companies. It looks to hone and develop skills in the
following key areas as its looks to encourage and sustain growth in the indigenous
software sector, (DETE, 2006);
• Leadership Capabilities
• Strategic Marketing & Sales Execution
• Funding
• Innovations & Commercialisation
To do this however many of Ireland’s indigenous software companies will need to
review existing software development practices and realize that their ability to create
scale will ultimately provide them with the direction needed to grow and increase both
their product range and client base. In the long term ad-hoc approaches to software
development will make this transition difficult. What is needed is a realization that
adopting best practice approaches though the SDLC will overcome difficulties with
missed deadlines and poor quality software. This type of approach is paramount in
sustaining growth in Ireland’s indigenous software sector.
14
1.2 Purpose of the Thesis
Having worked primarily for small software companies both directly and indirectly over
a ten year period, the author has experienced at first hand many of the difficulties
outlined in the previous chapter and the difficulties indigenous software companies
encounter when trying to adopt a best practice approach to their SDLC.
As also noted, this has now become a growing concern for the Government and the Irish
state development agency, Enterprise Ireland. This thesis has been developed from
different sources that include documented research in the area of Software Engineering
and the author’s personal experience and interest in the field.
This thesis argues that in order to sustain and grow Ireland’s indigenous sector, smaller
software companies need to embark on a process improvement strategy that is in line
with best practice teachings. It’s the authors view that this will promote a more focused
approach in the area software development, better align company practices with the
companies overall business strategy and increase the chances of long term survival in a
highly competitive industry.
This thesis is concerned with providing an explanation of known software engineering
best practice approaches and how these approaches impact on both software
development and software process improvement. To achieve this, the author exams
several companies operating in a related field but who are at different stages of maturity.
This examination is then used to ascertain the benefits best practice approaches can have
on the SDLC of the chosen companies.
If small software companies can focus their efforts on process improvement then the
author is confident that a series of best practice benefits such as increased productivity,
improved product quality, reduced time to market, increased organisational flexibility
and customer satisfaction are attainable to the overall business. If this is achieved then
15
there is no doubting the growth these companies can achieve though increased product
ranges and client base thus sustaining and raising the profile of the Irish Software sector.
1.3 Aim and Objectives
Ireland is quite unique when it comes to software development. Once viewed as a small
agricultural nation on the periphery of Western Europe, Ireland today boasts a thriving
ICT sector with high employment and is one of the largest exporters of software in the
World. As stated, Ireland’s software sector comprises many small indigenous companies
and to continue economic growth it is important to sustain growth in these companies.
The Hypothesis is best illustrated by the following statement;
“Adopting a best practice approach to Software Development and Software
Process Improvement is fundamental to the growth and survival of many Start-up
Indigenous Software Companies in Ireland”
The objectives of this thesis are as follows;
• To form an understanding of the Irish governments support for Ireland’s
indigenous software sector through FDI, Grants, Tax Incentives and support
networks.
• To understand and analyse the perceived advantages and disadvantages of best
practice approaches to software development and software process improvement,
based on documented theory and literature.
• To identify companies involved in software development in a related market
segment but at different levels of growth in term of number of employees,
number of projects and geographical concentration.
16
• To identify the level to which these companies adopt a best practice approach to
software development and software process improvement throughout their
SDLC.
• To identify and evaluate problem areas throughout their SDLC for all the
companies based on the three categories of;
o Start-up phase (Company D, Company C),
o Build phase (Company B) and
o Expansion phase (Company A).
• To identify key process improvement areas for the Start-up company identified
as part of the Case Study in this thesis. This is achieved through a comparison of
the companies existing SDLC practices to a best practice approach.
17
1.4 Thesis Structure
The first chapter provides information relating to the background of this thesis. This
covers the aims and objectives of the research and also provides an overview of the
thesis chapters
Chapter 2 looks at Ireland’s ICT sector and explains the reasons why Ireland emerged as
a true economic force in the industrialised World since the 1990’s. A PEST analysis is
presented to explain some of the external factors that can impact on the Irish economy
and the ICT sector as a whole. The growth of entrepreneurial activity and the correlation
this has with the growth of Ireland’s software sector is also examined.
A TOWS matrix is used to highlight some of the key finding of the Forfas Annual
Competitiveness Report 2005.
The chapter concludes with documented criticisms made by some leading software
experts and the authors opinions on the later in relation to government support of small
software companies in Ireland.
Chapter 3 focuses on Software Engineering. Its history and various approaches to
software engineering are discussed and reviewed which cover both heavyweight and
lightweight methodologies. The role and duties of a software engineering are also
explored. In conclusion the benefits of a lightweight approach are explored and some of
the shortcomings in adopting this approach are argued. This will later impact on the
authors proposed framework for software development in small software development
companies which is discussed in greater detail in Chapter 6.
Chapter 4 looks at Software Process Improvement and is presented in much the same
way as Chapter 3. In introducing the topic the author focuses on its foundations and then
explores four of the most widely used SPI models. The role of SPI in a European context
is examined and many of the critical success factors in adopting an SPI initiative are
documented. The author’s argument on implementing a national SPI effort is delivered
18
and how such an initiative can succeed. The author discussed this by focusing the many
support groups already established both directly and indirectly through Enterprise
Ireland.
Chapter 5 presents the methodology used in this research and explains how the author
envisaged the research which later impacted on its design and how it was executed. The
chapter illustrates the research strategy, research methods and research instruments used.
The chapter also outlines in detail how the research was conducted and how data was
collected. This later allowed for judgements to be made on the validity of this research
and whether or not any credibility should be given to its findings and conclusions.
Chapter 6 looks at the findings and comments on the results obtained from the research.
The data is presented and aspects of the findings are singled out and described. This is
followed by a case study which discusses what implications the findings might have for
the issues, problems and ideas that prompted the research. The findings are analysed
with reference to the theories and issues noted in the earlier chapters as providing the
context by which the research was conceived. The chapter concludes by considering the
findings from the case study that provides further evidence that a best practice approach
is a more viable option for long term growth when compared to the ad-hoc approaches
and their impact of the organisational and functional performance of the Start-up
company.
Finally, Chapter 7 deals with the conclusions to the entire study and suggestions are
documented for the way forward. The chapter presents an evaluation of the research and
its contribution to software development and software process improvement in small
software companies. New directions for further research are also identified.
19
1.5 Conclusions
A major goal for the author in was his ability to provide an understanding to persons not
inept in software engineering practices, in best practice approaches to both software
development and software process improvement and methodologies. But before
embarking on this, the main purpose of this chapter was to provide the reader with an
overall understanding of the aims and objectives of this thesis.
The main research questions were documented on page 9 which set up the discussion for
the forthcoming chapters.
Chapter 2 is concerned with an industry analysis and an overview of the Irish
governments support of the Irish software sector while Chapters 3 and 4 form the
literary review based on the in the main areas under examination, namely Software
Development and Software Process Improvement.
Some sections in these chapters may be more descriptive for the seasoned software
professional, but the author felt this was important to allow readers with limited
knowledge of both areas to fully understand the arguments that are being raised in this
thesis.
Chapters 6 and 7 focus on the analysis of the authors findings based on the research
undertaken. It is here that the author focuses more closely on the shortcomings Start-Up
companies have in adopting best practice techniques.
20
CHAPTER 2 – INDUSTRY BACKGROUND
2.1 Introduction
History shows that technological innovation and economic growth are closely related
and can be articulated within the concept of cycles or waves which have been repeated
over the past 300 years.
Dates No. of Years Cycle of Innovation
1780-1840 60 years First Wave cotton-spinning, iron making, steam power
1840-1900 60 years Second Wave steel making, railways
1900-1950 50 Years Third Wave electrification, internal combustion engine
1950-1990 40 Years Fourth Wave petrochemicals, electronics, computing,
aerospace
1990-2020 30 Years Fifth Wave corporate client -server networks, software.
Table 2.1.1 Cycles of Innovation
When defining the longest cycles, (Schumpeter 1942, 1976) referred to each cycle as the
interruption of a technological revolution and the absorption of its effects.
Techno Economic Paradigms are a concept developed by (Carlotta Perez, 1999) who has
argued that technological revolutions occur about every 50 years. After the initial
discovery there is a period of 10 to 20 years of adjustment and assimilation before the
full benefits to the technology are recognized.
The emergence of the Information Revolution in the 1990’s, the fifth wave, has
coincided in a period of rapid growth in the Irish Economy commonly known as the
21
‘Celtic Tiger’. This phenomenal growth was typified in 2002 when Ireland was
recognised as the largest exporter of software and computer services within the EU.
Of the top five countries listed in the figure below, Ireland had the highest proportion of
software and computer service exports to total exports which was recorded at 9.1%.
(OECD, 2002)
Country Exports (US$) Share Proportion of GDP
Ireland 10,377 9.1% 8.5%
US 6,930 0.7% 0.1%
Germany 5,162 0.7% 0.3%
UK 4,463 1.1% 0.3%
Spain 2,483 1.3% 0.4%
OECD 42,200 0.7% 0.2%
EU 30,646 1.0% 0.3%
Table 2.1.2 - Largest OECD exporters of software and computer services 2002. Source
(OECD/Eurostat.)
Ireland’s economic growth is due to a culmination of factors that include the inflow of
Foreign Direct Investment (FDI), the Governments model of Social Partnership and
structural and Cohesion funds from the EU long before the Celtic Tiger gripped the
country.
This Chapter provides the background to Ireland’s emergence as an economic force in
the industrialized World. It will identify reasons why Ireland was able to embrace the
technological revolution and entrepreneurial activity which ultimately coincided in rapid
growth in Ireland’s software sector.
The opening paragraph provides an insight into key incidents that helped shape the
country’s economic development form the 1970’s. An environmental analysis of
22
Ireland’s political, economic, socio-cultural and technological forces is presented to
further highlight mitigating factors impacting on Ireland’s economic development.
A background to entrepreneurial activity and the government’s support of the indigenous
sector sets the tone for a detailed review of why Ireland has become such a dominant
global player in the software sector. Sustaining this growth and developing Research and
development (R&D) capabilities is key to the governments vision for attracting research
based projects from abroad and ultimately moving Irish industry further up the value
chain.
The author uses a TOWS (Threats, Opportunities, Weaknesses and Strengths) matrix to
present some of the considerations that will impact on how this might be achieved.
In conclusion, the author presents some areas where the government can play a more
active role in supporting the growth of many small software firms in Ireland. These
findings are based on documented evidence of key figures who are actively involved in
the Irish software sector.
23
2.2 Shaping Ireland’s Economic development
In 1973 Ireland joined the European Economic Community (EEC) which later initiated a
single market for member states in the late 1980’s. Between 1979 and 1987 Ireland
experienced a relatively low economic growth and a rapid rise in unemployment which
jumped for 5.5% in 1979 to almost 17% in 1987. A series of fiscal corrections resulted
in a reduction in exchequer borrowings in the late eighties which later led to a fall in the
country’s debt and the beginning of Ireland’s economic recovery.
Between 1993 and 2000 Ireland began to experience unprecedented high levels of
economic growth through foreign investment from US companies which led to
employment rising from 1.15 million to 1.65 million over the period, (DETE, 2003,
pg.3).
By 2002 Ireland was the leading recipient of foreign direct investment (FDI) in the EU.
Annual output for 2002 from foreign owned companies amounted to €69billion of which
€65billion was exported. By 2004 there were just over 1000 international companies in
Ireland, of which 46% were of US origin, employing over 129,000 people, (DRA, 2006,
pg.3).
Factors such as Ireland’s low corporate tax regime and the availability of a low cost,
English speaking, well educated workforce all played a significant role in attracting
foreign investment.
In terms of job creation, evidence suggests that foreign firms have created indigenous
jobs through the purchasing of services in the Irish economy and through purchases from
Irish suppliers. In 2003, foreign firms purchased of €4.4bn of materials and €5.0bn of
services in Ireland. (Forfas, 2005)
The PEST analysis on the next page better illustrates some of the key factors impacting
on Ireland’s macro environment. PEST analysis involves looking at the Political,
Economic, Socio-cultural and Technological factors that need to be considered when
assessing both positive and negative impacts on a company’s operating environment.
24
2.2.1 PEST Analysis
Political factors
• Government commitment to supporting the Research and Development in the Indigenous sector through grants such as RTI funding, funding for Hose’s.
• Ireland has a politically stable economy that is recognised as being a parliamentary democracy.
• Ireland is a member of the European Union (EU) and is also a member of most major international organisations, but retains a neutral stance on military matters.
• Irish law is based on common law as modified by legislation and the written constitution. Justice is administered in public in courts established by law
• Ireland has a low corporate tax rate. A 10% tax rate on manufacturing profits a will continue until 2010 for those entitled to it in July 1998. A 12½% tax rate on corporate trading income applies from 1/1/2003 and is EU approved.
Economic influences
• High Economic Growth. From 1995-2001 it averaged 9.5%. Today, it remains almost 5 times higher than the EU 15 average of 1.0%.
• GDP in 2004 reached €148 billion. On a per capita basis this is equivalent to €36,000 per person, the second highest in the EU after Luxembourg.
• High Employment rates. Employment increased by 3% in 2004 and the numbers at work grew by 65,000. 2005 forecasts indicate that employment is projected to rise by 2.9% with unemployment falling to 4.2%.
• Ireland’s debt to GDP ratio, currently at 29.4% is the second lowest in the EU.
• A sustained expansion in exports has been Ireland outpace the rest of the World by a factor of three. 2004 exports stood at €84 billion, 2.2% more than 2003.
Sociological trends
• Ireland’s has a population of 4.1 million, its highest level in over 130 years. This is the highest in the EU and almost double that of the next member state Cyprus.
• Labour Supply is at its highest level ever due to high levels of immigration and increased levels of female labour force participation has helped to boost the labour supply to over 2 million people.
• The population is expanding at over 80,000 p.a. and house completions running at 5% of the national housing stock, compared to an average of 1% for the EU.
• Ireland has the youngest population profile and boasts the second highest proportion of under 15’s after Iceland. Ireland also has the largest economically active age group of 16 to 64 year olds.
• UN predictions indicate that by 2010, under 25’s as a share of the population will stand at 34% in Ireland compared to the projected average for all of Europe of 27.5%.
Technological Innovations
• Ireland’s current broadband rate of 4% is one of the lowest in the EU, ranked 19th out of 25 states. The leading countries of Denmark and the Netherlands average penetration rates of 18%.
• The National Development Plan (NDP) 2000-2006 has resulted in both the completion and close to completion of the following projects;
o Commencement of almost 500 health service projects ranging from major acute hospitals to more minor works
o The Dublin Port Tunnel to ease traffic congestion
o Completion and commencement of work on over 40 national road projects.
o The ongoing upgrading of Irish Rail Carriages, routes and services.
o Completion of the LUAS light rail system for the Dublin metropolitan area.
o Completion of over 180 water and waste water schemes.
Table 2.2.1 - Findings based on the Enterprise Ireland (2005) Economic profile of Ireland.
25
2.3 The Emergence of Entrepreneurial Activity in Ireland
In addition to attracting inward FDI, the Irish government has sought to support export
orientated indigenous companies including Start-up’s. Again, there is evidence to
suggest that local indigenous entrepreneurs have taken full advantage of foreign
investment by using their knowledge and responded by creating value added to their
products.
Between 1990 and 2002, exports by agency assisted indigenous enterprise grew in
nominal terms at 5.5% per annum. By 2003, Ireland had the highest rate of new business
start-ups in the European Union, at 4.7%, compared to the EU average of 2.8%.
Ireland
also ranks fifth of the EU member states for the proportion of the workforce that is self-
employed (Forfas, 2004, pg. 8).
Ireland’s state development agency, Enterprise Ireland, supports the development of
innovative products and services that offer unique extra value benefits to customers
in world markets by focusing on in-house research and development. Encouraging
and supporting new high potential start-up business is a key priority for Enterprise
Ireland.
In 2005 Enterprise Ireland supported 75 High Potential Start-ups all of whom
operate in knowledge intensive sectors. These companies are expected to grow
rapidly with the creation of over 1460 new highly skilled jobs, generating exports
worth €183m within the next two years. Enterprise Ireland invested €17m of the total
€83m investment in the 75 new start-ups. (DETE, 2006a).
26
2.4 The Emergence of Irelands Software Sector
As stated in chapter 1, the indigenous software sector employs 15,000 in 660 companies
with the total software industry employing 25,000 in Ireland. The OECD released the
results of research that showed Ireland was the world's largest exporter of software in
2001.Turnover in the software industry in Ireland was over €15 billion in 2004 (€1.4
billion from indigenous sector), accounting for 13% of total exports. DETE (2006b)
This fact would suggest that Ireland has a massive indigenous software development
industry. However, it should be noted that most of that export value comes from the
localization and distribution of products from foreign multinationals such as Microsoft,
Dell, Intel, Google, Oracle and Symantec. The number of Irish indigenous software
development companies competing successfully on the world stage is relatively small
with even fewer listed on major stock exchanges.
In truth, public listed Irish software companies have had mixed experiences in the stock
markets with drastic consequences for some. Some examples include travel software
company Datalex who de-listed from the NASDAQ in April 2002 after only eighteen
months of trading after its share price crashed to below $1, (Breaking News, 2002). One
time internet star and FTSE 100 index member, Baltimore Technologies de-listed in
2001, (Breaking News, 2001). Parthus Technologies was acquired by Ceva in 2002.
Education software company Riverdeep went private and de-listed in 2002 and both
IONA and Trintech reported losses in 2005, (Silicon Republic, 2005)
Indeed, Ireland does export software to global markets but the evidence suggests that
most of this emanates from US companies based here rather than from home-grown
companies. In 2001, out of a total sector worth just over €13bn, multinationals
accounted for €11.57bn, and of software exports worth €12.2bn in 2001 foreign-owned
companies were responsible for nearly €11bn, (Company A, 2003)
27
Far from being a dominant force in the software world, it seems, Ireland should more
correctly be seen as a highly effective route to market for US software firms.
The table below provides a breakdown of the main characteristics of the Irish ICT and
Software sector as of 2003.
A recent survey carried out by (HotOrigin, 2003) 1 found that Ireland’s indigenous
software market can be segmented into three broad categories based on the stage of
development of the company. 74% of the companies surveyed fall into the start-up
category (with up to 25 employees), 18% are defined as being in the build category (26-
75 employees), and 8% of the companies surveyed can be categorised as Expansion
firms (more than 75 employees).
Bearing this in mind, the author took the decision at an early stage the need to identify
companies that fell into each of these categories and to identify the level to which best
practice techniques are practiced in each.
ICT Software ICT Software
Firms Employees Firms Employees Exports Exports
FDI 300 55,000 200* 14,000* 28bn 7.0bn*
Indigenous >700* 45,000* 600 11,000 1.5bn
Total >1,000 100,000 800 25,000 8.5bn
* Estimate value
Table 2.4.1– General characteristics of the Irish ICT and Software Sector. (ICT Ireland 2003, IDA
2003)
1 HotOrigin (2003) conducted an online survey of CEO’s of indigenous software product companies and carried out in-depth interviews with CEO’s of indigenous software companies that achieved sales success in 2002. A total of 416 indigenous software product companies were identified in Ireland. Of these, 50 were based in Northern Ireland. 166 CEO’s responded to the survey representing a response rate of 40%. Companies in Northern Ireland represented approximately 10% of the respondents.
28
2.5 Sustaining Economic Growth in Irelands Software Sector
The Enterprise Strategy Group (ESG) report 'Ahead of the Curve, Ireland's Place in the
Global Economy suggests that Ireland’s performance was driven primarily by a
relatively small number of foreign-owned firms who chose Ireland as their base for
serving European markets. The effect of these firms on the economy was such that it
masked the generally poor performance of the indigenous sector, with the exception of a
small number of high-performing firms. Much of the business that Ireland developed in
the past now faces significant competitive pressure due to the countries rising costs
which is eroding its competitiveness and reducing attractiveness for FDI as foreign
companies look to alternative software markets such as India and Israel (Forfas, 2004).
The Irish government has placed an increased emphasis on building competitive
advantage through new product development (NPD) and Innovation.
“Building research and development capability to support the development of high-
value products and services will be a critical foundation of competitive advantage for
Ireland going forward," Minister Martin, Electric News (2005)
(Smilor & Gill, 1986) identify the following factors as being critical to technological
innovation and development, Talent, Ideas, Capital and Knowledge. According to
(Dertouzos, 1999), technological innovation has four pillars, which are consistent with
the factors mentioned above; venture capital investment; infrastructure for high
technology; creative ideas and an entrepreneurial culture focused in the passion for
business.
From a low starting point, Ireland has taken a number of significant steps to recognise
the importance of research and development (R&D) which is consistent with
(Dertouzos, 1999). This includes the allocation of €2.5 billion in the National
Development Plan (NDP) (2000-2006) to R&D and innovation, establishing the Science
Foundation Ireland (SFI), the Programme for Research in Third Level Institutions
(PRTLI) and the introduction of R&D tax credits for companies in 2004.
29
Evidence suggests that Ireland is making progress in the area of Venture capital
Investment with latest figures from the Q1 Techpulse Venture Capital survey showing
investment to be up by 70 percent on the previous quarter, (Electric News, 2006)
However, as the NDP looks to improve Ireland’s overall infrastructure, it is feared that
not enough is being done with evidence from the latest IMD report on international
competitiveness. It ranks Ireland only 44th out of the 60 countries surveyed in basic
infrastructure, well behind its main competitors, (Mulqueen, 2005).
Business Incubation facilities have been established to nurture talent and ideas and also
increase the level of entrepreneurial activity and innovation to improve the survival rates
and growth prospects of new and existing small companies. The European Software
Centre entered into collaboration with NUI-Galway in establishing the Digital Enterprise
Research Institute (DERI). Such facilities can help newly established companies to
survive and grow during the start up period through the provision of hands-on
management assistance, access to financing and advice on business or technical support
services.
The Institution of Engineers of Ireland (IEI) STEPS programme is another initiative
which is attempting to encourage more young people to enter engineering courses to
maintain a steady flow of science, technology and engineering graduates.
In October 2005 Mr. Micheál Martin TD, Minister for Enterprise, Trade and
Employment, announced SFI funding of €11.7m to the Irish Software Engineering
Research Centre (ISERC) at the University of Limerick, (Silicon Republic, 2005)
In total the SFI recorded a €122 million in funding world-class scientific and
engineering research in third level academic institutions in Ireland. There is no doubting
that work at such centres will deliver a sustained competitive advantage and address
some of the key challenges faced by the by the Irish software development sector.
30
The governments (R&D) tax credit system, in existence since 2004 is a welcome tax
initiative that goes some way towards promoting R&D activity in Ireland. However, the
scope of the legislation has disappointed many SME companies and initial feedback
from enterprises indicates that the scheme is not having a material impact on the level of
R&D activity.
Some of the main shortcomings identified to date include,
• A lack of incentive for companies currently in the development phase;
• The provision of tax credits for incremental expenditure only;
• A lack of preferential incentives for small companies;
• Unnecessary complexity in scheme administration.
Over fifty percent of ICT companies surveyed felt that the (R&D) tax credits scheme did
not encourage smaller companies to engage in research and development (ICT, 2006, pg.
8).
2.5.1 TOWS Matrix
Based on the evidence so far, the author presents a TOWS (Threats, Opportunities,
Weaknesses and Strengths) matrix on the next page to present a comparison of the Irish
economy’s position now (strengths and weaknesses) with the position of the future
(opportunities and threats) and also considers ways to manage and mitigate these
developments for the future development of Ireland’s economy.
31
In
tern
al
Fa
cto
rs
→
Ex
tern
al
fact
ors
Str
eng
ths
•
Ireland has a flexible, young and w
ell educated
workforce.
•
High Employment rates. (1995 1.3 million
employed, 2005 1.9 m
illion)
•
Strong ICT culture.
There
are
1,300 ICT
Companies
already
established
in
Ireland,
employing over 90,700 people.
•
Government commitment (N
DP 2000-2006) to
improving Ireland’s infrastructure has helped
sustain and attract FDI.
•
High Living Standards. A 2002 measure of
consumption expenditure by households ranked
Ireland 5th out of 12 nations.
•
Ireland ranks 5th among 16 countries in terms of
CO2 emissions, with 0.35 kg of CO2 emitted per
unit of GDP.
•
Ireland is one of the most open economies in the
world in term
s of trade in goods and services
(2nd/16).
Wea
kn
esse
s
•
Ireland remains
the
second most expensive
country in the EU, behind D
enmark in the EU
15.
•
Over the
past
12 months, Irish consumer
inflation rates have dipped below the EU average
(8th/15)
•
The 2004 EU Competitiveness Index ranks Irish
productivity in private sector services 8th/10 EU
countries.
•
In 2004 the EU AMECO Database stated Ireland
had experienced the highest increase in total cost
per employee among the countries benchmarked,
after Hungary.
•
Ireland is ranked 13/16 countries in term
s of
perceived quality of infrastructure. WEF G
lobal
Competitiveness Report, 2004/ 05
•
Ireland continues to perform
particularly poorly
with respect to broadband usage (14th/15).
•
Low level of patent applications is m
uch lower
in Ireland relative to leading economies such as
Finland and the Netherlands.
Op
po
rtu
nit
ies
•
Ireland’s low rate of
corporation tax is
frequently cited by foreign investors as the most
important reason for locating in Ireland. KPMG
Corporate Tax Rates Survey, 2004.
•
A
WEF
Global
Competitiveness
Report
2004/05 suggests that the level of regulation on
Irish enterprises is low relative to m
any of the
other countries benchmarked.
•
European Innovation Scoreboard, 2004 ranks
Ireland 1st the
number of
science and
engineering graduates per thousand of
the
population aged 20-29.
•
The
2004 Global Entrepreneurship Monitor
report placed Ireland's Total Entrepreneurial
Activity rate 5th/16 countries measured.
•
Tax incentives to support start-ups and business
SO
Str
ate
gie
s
•
High em
ployment rates should continue given
Ireland’s low corporation rate of tax, which is a
critical factor in attracting FDI.
•
Having
a Flexible,
young
and
educated
workforce
can sustain Ireland’s position EIS
ranking for science and engineering graduates.
•
Having an open economy in relation to trade can
sustain Ireland’s attractiveness as a place of low
regulation in industry compared to other EU
countries.
•
Continued
Government
support
for
future
business
start-ups
should
encourage
more
entrepreneurial activity in the SME ICT sector.
•
High
living
standards
and
Ireland’s
environmental consciousness should enhance its
WO
Str
ate
gie
s
•
Although Ireland is the second m
ost expensive
country in the EU, its relatively low rate of
corporation tax and low level of regulation can
compensate for this.
•
Despite recent price increases in relation to costs
per
employee,
Ireland
is
still
positioned
favourably in the EU competitive Index and in
the number of science and engineering graduates
produced. This is sure to attract further FDI and
supporting start up businesses in the ICT sector.
•
Government and Enterprise Ireland initiatives are
actively tackling problem areas such as Irelands
infrastructure and business
start
up support
respectively.
32
growth provided by the extension of the Seed
Capital
Schem
e and
Business
Expansion
Schem
e were extended in 2004 to 2006.
ability to attract FDI and also sell Irish products
abroad.
Th
rea
ts
•
A CBRE, Global Market Rents survey of 16
cities in 2005 found only two cites (London and
Paris) more expensive than Dublin.
•
Electricity costs for Irish firms have escalated
by alm
ost 42 per cent between July 2000 and
January 2005.
•
From 1995-2004 insurance costs have risen by
over 60 per cent in Ireland, compared to just
over 20 per cent in the EU.
•
Waste disposal for business in Ireland has risen
from €32 m
illion in 1995 to over €800 m
illion
in 2004. (IBEC)
•
Ireland’s high rate of VAT m
ay have an impact
on the competitiveness of the tourism
industry
in Ireland.
•
In 2004, the ESG recommended that m
any Irish
managers seek more training, particularly in
strategic development
and im
plementation.
“Ahead of the Curve – Ireland’s P
lace in the
Global Economy”, Enterprise Strategy Group,
(Forfás, (2004).
•
A 2004 Forfás report indicates that 42% of
SMEs
in Ireland do not
prepare
detailed
marketing plans. “Innovate
Market Sell”,
(Forfás, (2004).
ST
Str
ate
gie
s
•
Although insurance, electricity and w
aste costs
have risen this has also impacted on other E
U
countries. To Ireland’s advantage, C
onsumption
expenditure per household is low and CO2
emissions are low w
hen compared to other E
U
countries.
•
Enterprise Ireland, FAS and groups
such as
ITAG in Galway have provided assistance in
developing m
anager and employee skills in the
areas of strategic m
anagem
ent and best practice
approaches.
•
Ireland’s high rate of VAT is a little price to pay
when considering its green image, high standards
of living and open economy.
WT
Str
ate
gie
s
•
Providing better training for SME m
anagers, a better
strategic approach to m
anagem
ent can be promoted
and a better understanding of the need for patent
applications to protect new
product development in
small software companies.
•
Managers
should em
ploy strategies
to reduce the
energy costs in the day to day business activities of
their companies.
•
Improving the countries infrastructure may im
pact
less on rising costs as the advantages of good road,
rail and broadband network w
ould compensate rising
employee and operation costs.
Ta
ble
2.5
.1 -
TO
WS
Ma
trix
.
Situational Analysis of the Irish Economy. The findings from the above TOWS analysis is based on the documented findings from the
Annual Competitiveness Report 2005, Forfas, the National Competitiveness Council and the authors analysis of this data.
33
2.6 Conclusion
The importance of R&D for the development of the Irish software market has been
repeatedly stressed by industry experts since 2004. While the government has never
denied the importance of R&D it has been criticised for not investing enough by way of
procurement of software from some of Ireland’s smaller software companies.
A recent report from ICT Ireland, predicts that employment in the ICT sector could
double if the right policies, including research support, are implemented. However the
lack of government procurement of technology and software from small companies
could affect this, (ICT, 2006). While such measures are critical to the development of
the Irish software development sector the government could make a significant
difference by acting on the recommendations of the ISA Government Procurement
Working Group.
In a 2005 interview Michelle Quinn director of the Irish Software Association (ISA),
stated that the lack of government procurement of software solutions from smaller
software companies is a having significant impact on increasing their growth chances to
‘Build’ and ‘Expansion’ stages of maturity. Quinn cites the UK government as being
proactive in this regard by supporting indigenous companies there, (Electric News,
2005b).
Brian Hanley, founder and director of Exoftware, reiterated this in subsequent interview,
pointing out that the public tender policy is far from helpful to indigenous companies
during the early stages of their development.
Hanley makes a number of suggestions worthy of government consideration that
include, ring-fencing smaller projects for smaller firms, providing incentives to the
bigger companies to sub-contract work to smaller companies (Mulqueen, 2005).
34
Peter McManamon one of the co-founders of a company called Ceva and the Chair of
the ISA Government Procurement Working Group argues that the government should
set aside 25 percent of its procurement for software to small software companies. Again
it’s a strategy that has worked in the UK as it has helped stimulate the software industry
by giving local companies the opportunity to get reference sites with government
customers. By getting their first sale they now have a reference site when going to
venture capitalist as they are viewed as a real company with real customers and tangible
products, (Collins, 2005).
Although Ireland boasts being the largest exporter of software in the world the
governments lack of support for software procurement to small companies is one area
that is damaging innovation and threatening the future success of the sector from
emerging software economies, that for now, have a lower cost of production and greater
future capacity to create software, (Moore’s, 2005).
Criticising the Government for failure to allocate funds for software procurement is only
one side of the argument. The ability of small software companies to seem like viable
option to potential customers when compared to more established companies is largely
down to management representation of those companies. There needs to be an air of
professionalism and confidence that they can deliver a quality product on time. Although
Start-up companies are not overly concerned with best practice, it is their ad-hoc
approach that reduces the chances of good quality and on time delivery of software
solutions. Similarly managers within small software companies often base decisions
solely by their own experience and personal beliefs. This is strongly influenced by the
entrepreneurial activity that dominates such a large proportion of Ireland’s software
sector. Wish fulfilment and a refusal to recognize the critical changes that are happening
in the World around them often lead to small companies accepting short term solutions
and as a result ignore the long term impact this could have on the company.
This thesis is very much concerned with focusing on this type of approach to software
development and software process improvement. The focus on ad-hoc approaches
35
throughout the SDLC reduces the time it takes for Start-up companies to enter the Build
and later the Expansion phases of maturity. The use of best practice will in the authors
view increase this chances of successfully making this transition and;
• better positions Start-up companies to create scale,
• reduce the chances of both task and code re-working and
• reduce fragmentation throughout the SDLC thus creating a more coherent SDLC that
will create a better product and satisfy the customer.
To better illustrate how Start-up companies can grow and develop it is important to
explore theory in the area of Software Engineering and Software Process Improvement,
so that valid arguments can be raised when analysing the research findings in Chapter 6.
The following Chapters 3 and 4 will now provide the documented research into the
principles of software engineering and SPI.
36
CHAPTER 3 – SOFTWARE ENGINEERING
3.1 Introduction
Software engineering is the profession of people who create and maintain software
systems by applying technologies and practices from computer science, project
management, engineering, application domains and other fields. The IEEE define
Software Engineering as "(1) the application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of software, that is, the
application of engineering to software," and "(2) the study of approaches as in (1)."
(IEEE Standard 610.12.)
Undoubtedly, the ability of any software development company to deploy an appropriate
software process is paramount to it being able to maintain and improving the
effectiveness of its software engineering practices. But as previously stated, this is
something many smaller companies find difficult, particularly the tailoring of existing
software process models to their needs and allocating sufficient resources to improve
their software development processes.
The main purpose of this Chapter is to present the key approaches to software
engineering and the role of the software engineer. The Chapter opens with a brief history
of the origins and rise in popularity in the software engineering field. This Chapter
focuses heavily on the main software development process models adopted by software
companies and highlights some of the positive and negative impacts of each.
Both Heavyweight and Lightweight models are presented. The Chapter concludes with a
review of software engineering initiatives in Ireland and highlights the growth of
lightweight methodologies within the field of software engineering.
37
3.2 The Origins of Software Engineering
Software engineering has evolved steadily from its founding days in the 1940s to the
present day. The term software engineering was first used in the late 1950s and early
1960s.
The late 1960’s saw the emergence of large commercial software systems. The best
documented was the OS 360 operating system for the IBM 360. Such large projects
highlighted the fact that building large software systems was materially different from
building smaller systems.
Difficulties in scaling up the techniques of small program development to large software
development, was the single biggest obstacle affecting the field. In 1968, the NATO
Science Committee sponsored two conferences on software engineering and this gave
the field its initial boost and marked the start of software engineering as a profession.
Throughout the 1960’s, 70’s and 80’s the field of software engineering continued to
come under heavy criticism by the so-called software crisis which further highlighted
many of the problems of software development. Many software projects ran over budget
and not to schedule and the term software crisis was used commonly in reference to the
inability to hire enough qualified programmers on such projects. The software crisis was
originally defined in terms of productivity, but evolved to emphasize quality.
For decades, solving the software crisis was paramount to researchers and companies.
Many software tools and formal approaches to software engineering were touted as
solutions to the software crisis. The debate on how to solve the crisis has been ongoing
since the 1970’s. The search for a single approach or tool to deliver success never
materialised with all known technologies and practices only making incremental
improvements to productivity and quality.
38
Today there are a range of tools and software processes available to improve a
company’s software development process. It would appear that throughout its relatively
short history, software engineering is both too complex and diverse for a single approach
to eradicating software project failure.
The result is a variety of models and approaches that in the authors view often lead to
misinterpretation within smaller software companies because these companies often lack
direction because of insufficient resources and poor strategic management practices.
In recent years, adopting best practice techniques, the rise in e-business solutions and the
ever growing demand for software solutions in smaller organisations has resulted in a
growing demand for simpler, faster software development methodologies. The focus
now is on methodologies that are able to produce software from requirements to market
quicker than competitors.
To compensate for this, lightweight development methodologies, such as Agile Software
Development (ASD) and Extreme Programming (XP), are aimed at simplifying many
areas of software engineering, including requirements gathering and reliability testing
for the growing number of small software systems being produced by such companies.
The following sections of this chapter explain in more detail some of the most common
approaches to software engineering and explore both lightweight and heavyweight
methodologies that are available to today’s software development companies.
39
3.3 Approaches to Software Engineering
Software Engineering is a discipline that has emerged from computer science and
engineering and is based on inter disciplinary theoretical and empirical methodologies.
Where computer science is concerned with theory and fundamentals, software
engineering is concerned with the practicalities of developing and delivering useful
software. This is what this chapter focuses on and it forms the basis for the research
conducted and documented in later chapters, notably Chapter 6.
Software engineering covers not only the technical aspects of building software systems,
but also management issues, such as directing programming teams, scheduling and
budgeting for software projects. The practice of Software Engineering is concerned with
all aspects of software production, i.e. the practicalities of developing and delivering
useful software. It is both the management and organizational issues that the author
recognizes as being pivotal areas in the transition of software companies from early
maturity (Start-Up) to established company (Expansion).
Yet, history would suggest that although approaches to software engineering have
largely focused on technical aspects and have neglected both the organisational and
management structures of companies developing software. It has only been in the late
1980’s that a process approach to software engineering has begun to emerge. In 1987,
the development of the CMM and of ISO 9000 marked the full emergence of the
software engineering process as a new discipline.
Describing both areas is important to the overall argument of this thesis and the author
also identifies the limitations of some models that fits well with the underlying
arguments of this thesis.
40
The table on the next page has been adopted from (Wang & King, 2000, pg. 19) and
breaks down the approaches to software engineering into the three areas of Technical,
Organisational and Management.
No. Approach Description Coverage of SE Problems
Technical Organisational Management
1 Programming
Methodologies
-Functional Decomposition
- Structural Programming
- OOD Programming
-Component based
Programming
High Low Low
2 Software
Development
Models
- Life Cycle Models
- Waterfall Model
- Spiral Model
- Rapid Prototype Model
- Other Combined Model
High Medium Low
3 Automated
Software
Engineering
- CASE Tools
- UML tool
- Other Tools
HIGH Low Low
4 Formal
Methods
- CSP
- SDL
- Z
- Clean Room
High Low Low
5 Software
Engineering
Processes
- CMM
- BOOTSTRAP
- ISO/IEC 15504
- SPICE
- SEPRM
High High High
Table 3.3.1– Approaches to Software Engineering (Wang & King 2000, pg. 19).
When looking at organisational and management methodologies the focus should be on
non technical areas such as project management, project estimation, project planning,
software quality assurance configuration management, requirement and contract
management, document management and human resource management. The table on the
next page outlines these various categories and the typical methods that can be attributed
to each.
41
No. Category Typical Methods
1 Project Management Methods Productivity-orientated, quality orientated, schedule-driven, standard process
models, benchmark analysis, checklist/milestones etc.
2 Project estimation/planning methods COCOMO model, function-points, program evaluation and review technique
(PERT), critical path analysis, Gantt Chart etc.
3 Software Quality Assurance Methods Process reviews, process audit, peer review, inspection, defect prevention,
subcontractor quality control, benchmark analysis process tracking etc.
4 Configuration Management Method Methods of Version Control, change Control, version History record, Software
Component Library etc.
5 Requirement/contract management
methods
Methods of system requirement management, software requirement
management, standard contractual procedure, subcontractor management,
purchasing management etc.
6 Document Management Methods Methods of document library, classification, access control, maintenance,
distribution etc.
7 Human Resource management
Methods
Methods of position criteria, career development plan, training, experience
exchange, domain knowledge development etc.
Table 3.3.2– Organisational and Management categories of Software Engineering. (Wang & King
2000, pg. 15).
As already stated by the author the lack coherent direction in organisational and
management activities within the indigenous software sector, is, in the context of this
thesis, a mitigating factor in preventing small Irish software companies maturing into
Build and Expansion companies.
The remainder of this chapter and Chapter 4 provide the documentary research that has
enabled conclusions to be drawn on the current software development processes
discussed here and software process improvement discussed in Chapter 4.
42
3.4 The Software Development Process
Software Engineering has continually evolved from its foundation in the 1940’s. This
has resulted in a continual evolution in the educational skills required by today’s
software engineering professionals.
In particular, software engineer’s involved in the development of enterprise wide
applications must have a diversity of skills and competencies that are documented in the
table below.
Steps Role Description Requirements Analysis and Definition
Client Contact Client Liaison Client Relations
Be able to discover client needs and translate them to software and system requirements
System Design Researcher Lead Designer Graphic Design Systems Analyst
Work effectively in interdisciplinary contexts, in particular to bridge the gap between computing technology and the client's technology and to interpret and respect extra-technical constraints Apply design and development methods and techniques as appropriate to realize solutions Design appropriate solutions, using responsible engineering approaches Evaluate designs and products
Program Design
Technical Specialist Lead Code Architect
Understand and be able to use current technical solution elements, including both specific tools, components, and frameworks and also abstract elements such as algorithms and architectures Learn new models, techniques, and technologies as they emerge; integrate knowledge from multiple sources to develop solutions to problems; serve as an agent of change for introducing new technology
Program Implementation
Team Leader Project Leader
Reconcile conflicting objectives, finding acceptable compromises within limitations of cost, time, knowledge; understand the nature of unstructured, open-ended problems
Program Coding
Developer Head Programmer .Net Developer J2EE Developer Web Developer
Program effectively, including code creation, component use, and integration of multiple subsystems
Software Training and Support
Mentor Liaison Technical Lead Lead Developer Programming Leader
Organize and lead development teams, including team-building and negotiation Learn new models, techniques, and technologies as they emerge; integrate knowledge from multiple sources to develop solutions to problems; serve as an agent of change for introducing new technology
Technical Writer
Documentation Leader Documentation Style Manager Documentation Content Manager
Communicate effectively, both verbally and in writing. Log all documentation so it can be accessed quickly/easily by all members of the software development team.
Testing Testing Leader Testing and Verification
Perform test cases on software developed, co-ordinate with end users to sign off on software tested/delivered.
Maintenance Version Controller Quality Assurance Code Reviewer
Be able to manage multiple versions of software written for various projects, ensuing correct versions are deployed for the next build. Review code regularly so that so that uniform code is writer, reducing the likelihood of bugs in code.
Table 3.4.1– Typical skill set of a Software Engineer.
43
Software Engineering is both a creative and a step by step process that often involves
many stakeholders, who produce many different kinds of products and as a result a
diversity of skills is needed.
Figure 3.4.1– Stakeholders of the Software development process
A key component in the software development process is communication between the
Customer, the Developer and the End User. Any communication breakdown between
these stakeholders, will inevitable result in project failure.
Stakeholder Description of Role
Customer This is the company, organisation, or person who is paying for
the software system being developed.
Developer This is the company, organisation or person who is building the
software system for the customer. This includes managers
needed to coordinate and guide the programmers and testers.
User This is the person or people who will actually use the system.
Table 3.4.2– Role of Stakeholders during the Software development process
From project inception right through to its delivery, a software system goes through a
gradual development and evolution. This process is said to have a life cycle, thus the
software development process is sometimes referred to as the software life cycle because
it describes the life of a software product from start to finish.
44
Many process models exist in Software Engineering Literature (Shari et al, 2001, pg 48)
cites the following as benefits of having a software process model;
• When a group writes down a description of its development process, it forms a
common understanding of the activities, resources and constraints involved in
software development.
• Creating a process model helps the development team find inconsistencies,
redundancies and omissions in the process and in its constituent parts. As the
problems are noted and corrected the problems become more effective and
focused on building the final product.
• The model should reflect the goals of development, such as building high –
quality software, finding faults early in development, and meeting required
budget and schedule constraints. As the model is built, the development team
evaluates candidate activities for their appropriateness in addressing these goals.
• Every process should be tailored for the special situation in which it will be used.
Building a process model helps the development team understand where that
tailoring is to occur.
There is nothing untoward about four benefits identified by above and each point should
in theory be obvious to seasoned software professionals. As documented in the early
sections of this chapter, the notion that a single approach to deliver success to a
company’s software development process never materialised. What did materialise
however, was a range of tools and processes that software development companies can
use and tailor to their needs. The following sections of the chapter consider such tools,
differences between them and their limitations.
45
3.5 Software Process Models
When software development companies create a software product, they need to follow a
sequence of steps to complete a set of tasks. These tasks can be viewed as the process, a
set of steps involving activities constraints and resources that produce an intended
output.
Every process model assumes system requirements as input and a delivered product as
output.
Figure 3.5.1– Input/Output from a typical Software development process.
Many such models have been proposed in Software Engineering. The purpose of this
section is to provide an overview of the most popular models and some of the
differences between each one.
3.5.1 Waterfall Model
The waterfall model is probably the most recognisable version of the systems
development life cycle model for software engineering. Often considered the classic
approach to the systems development life cycle, the waterfall model describes a
development method that is both linear and sequential, where each stage of development
is depicted as cascading from one to the other.
The figure on the next page as depicted by (Royce, 1970) implies that one development
stage should be completed before the next one begins. For example, when the
46
requirements have been gathered, analysed and documented from the customer, then the
development team can begin system design activities.
The Waterfall method can be very useful in helping developers lay out what they need to
do and its simplicity makes it easy to explain to customers the development process
regardless of their familiarity with software development.
However, several drawbacks have been discussed in literature in relation to the Waterfall
model. (McCracken & Jackson, 1981), state that the model imposes a project
management structure on systems development.
Figure 3.5.2 – The Waterfall Model (Royce, 1970)
47
The greatest criticism is that the model provides no guidance to managers and
developers on how to handle changes to products and activities that are likely to occur
during development.
For example, when requirements change during coding activities, the subsequent
changes to design and code are not addressed by the Waterfall Model.
Software evolves as problems become understood and possible alternatives are
evaluated. The waterfall is less informant of the on the typical back and forth activities
that generally lead to creating a final product. A possible solution to this is the
introduction of a prototyping sub-process to the software development process that
enables customers and developers examine some aspect of the proposed system and
decide if it is suitable or appropriate for the finished product.
3.5.2 Prototyping Model
As already stated the Waterfall model can be adjusted to include prototyping activities
so that understanding between developer and customer can be improved throughout the
process. By itself, prototyping can be the basis for quite an effective process model.
Figure 3.5.3 – The Prototyping Model (Boehm, 1988)
48
The prototyping model allows for all or part of a system to be constructed quickly so
that an understanding or a clarification of issues can be arrived at. It is similar to an
engineering prototype, in that requirements or design require repeated investigation to
ensure that the developer, user and customer have a common understanding, both of
what is needed and what is proposed.
The number of iterations between requirements, design and system may be eliminated,
depending on the overall goals of the development process. Evolutionary or incremental
approaches to software development have been acknowledged in literature. (Boehm,
1988) defines an evolutionary process model as a model whose ‘stages consist of
expanding increments of an operational software product, with the direction of evolution
being determined by operational experience.’ Prototyping can be seen as an evolutionary
principle, where the prototype is progressively transformed into the final application.
3.5.3 Spiral Model
The goal of the Spiral Model is to provide a framework for designing software processes
guided by the risk levels in the project at hand. (Boehm, 1988) viewed the software
development process in light of risks involved, suggesting that a spiral model could
combine development activities with risk management to minimize and control risk.
The Spiral Model overcomes the inflexibility associated with the standard Waterfall
Model. Often requirements are poorly understood and poorly specified and it is simply
not possible to provide completely elaborated designs early in the process.
What Boehm proposed is that there should be a few iterations of the development
process with more sophisticated prototypes being produced at each stage. This is
illustrated in the diagram of the Spiral Model shown in the figure above. A typical cycle
involves elaborating a portion of a product (e.g. performance, functionality, etc.). Each
cycle has distinct; requirements analysis, designs, development and test phases.
49
Figure 3.5.4 – Spiral Model of Software Development and Enhancement. (Boehm, 1988)
(Boehm, 1988) argues that the Spiral model can accommodate any process development
model, thus a software development team can choose to most appropriate development
model suited to their project circumstances, i.e. waterfall versus evolutionary for
example. The guiding principle behind this lies in the level of risk associated with each.
Risks are seen as adverse circumstances that may affect the development process and the
quality of the products being produced. Risk management is a discipline whose
objectives are to identify, address and eliminate software risk items before they become
either threats to successful software operation or a major source of expensive rework,
(Boehm, 1989).
50
The spiral model focuses on identifying and eliminating high risk problems by careful
process design, rather than treating both trivial and severe problems uniformly. Its main
characteristics are that;
• It is a cyclical process not linear;
• Each cycle of the spiral consists of 4 stages and each stage is represented by one
quadrant of the diagram on the previous page.
o Stage 1 identifies the objectives of the portion of the product under
consideration and alternatives to buying, designing or reusing any of the
software produced.
o Stage 2 involves evaluating the alternatives from stage 1 and potential
risk areas are identified and dealt with.
o Stage 3 consists of developing and verifying the next level product. In
less understood end-user applications, the next step may be evolutionary
resulting in several spiral turns to achieve the desired results.
o Stage 4 consists of reviewing the results of the stages traversed so far and
planning for the next iteration of the spiral if any exist.
• The radius of the spiral represents the cost accumulated so far in the process;
• The angular dimension represents the progress made in the process.
So far this chapter has focused on heavyweight methodologies of software development.
The common theme of heavy methodologies is their allegiance in supporting
comprehensive planning, thorough documentation, and expansive design.
Over the past few years lightweight methodologies, also referred to as agile
methodologies, have been gaining ground on the more traditional heavyweight
methodologies. These methodologies are discussed in the next section.
51
3.6 Heavyweight versus Lightweight methodologies
The measurement for success in lightweight methods is early and continuous deliverance
of working features and software to customers. In contrast, heavy methods depend
heavily on documentation, upfront planning, and close conformance to plan in order to
success. Some of the differences are adopted from (Ambler, 2002) and are presented in
the table below;
Light Methods Heavy Methods
Approach Adaptive Predictive
Success Measurement Business Value Conformation to plan
Project Size Small Large
Management Style Decentralized Autocratic
Perspective to Change Change Adaptability Change Sustainability
Culture Leadership-Collaboration Command Control
Documentation Low Heavy
Emphasis People-Orientated Process-Orientated
Cycles Numerous Limited
Domain Unpredictability/Exploratory Predictable
Team Size Small/Creative Large
Upfront planning Minimal Comprehensive
Return on Investment Early in the Project End of the project
Table 3.6.1 – Differences between Lightweight & Heavyweight Methods.
Some of the limitations of the light or agile methods are team and project size. It is
difficult to form large agile teams, since these methods rely heavily on collaboration,
synergism and creativity among team members. All these traits work well in small
software development environments with agile methods increasing the chances of an
early return on investment when compared to heavy methods in the same environment.
The next section looks at the philosophy behind using agile methodologies and the
models available to software development companies.
52
3.7 Agile Software Development
(Ambler, 2002) discusses a number of agile methodologies and practices in relation to
agile modelling. The core set of these include Crystal methods & Adaptive Software
Development (ASD), Dynamic Systems Development (DSDM), Feature Driven
Development (FDD), Scrum, and eXtreme Programming (XP). Many authors in the
Agile modelling field, participated in writing the Agile Software Development
Manifesto resulting in a common bond among practitioners of these approaches. The
points of the Agile Manifesto sum up the philosophies behind all Agile methods:
• Individuals and interactions over process and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
No. Category Description
1 Visioning A good visioning practice helps assure that agile projects
remain focused on key business values (for example, ASD's
product visioning session).
2 Project Initiation A project's overall scope, objectives, constraints, clients,
risks, etc. should be briefly documented (for example,
ASD's one-page project data sheet).
3 Short, iterative, feature-driven, time-boxed
development cycles.
Exploration should be done in definitive, customer-relevant
chunks (for example, FDD's feature planning).
4 Constant feedback Exploratory processes require constant feedback to stay on
track (for example, Scrum's short daily meetings and XP's
pair programming).
5 Customer involvement Focusing on business value requires constant interaction
between customers and developers (for example, DSDM's
facilitated workshops and ASD's customer focus groups).
6 Technical excellence Creating and maintaining a technically excellent product
makes a major contribution to creating business value today
and in the future (for example, XP's refactoring).
Table 3.7.1 – General Characteristics of Agile Methods (Highsmith, 2002).
53
Although many agile practices have been adopted with success widespread use of more
traditional heavyweight approaches such as the waterfall, prototyping and spiral models
remains to be seen. Educating small indigenous software companies about the potential
benefits agile software development could have on such companies could improve
common problems such as quality assurance, customer satisfaction and development
scheduling associated with the software development lifecycle.
For these reasons mentioned above it is important to provide a brief overview of the
Agile methodologies mentioned at the beginning of this section as they could provide
software companies in the ‘start-up’ phase of maturity with a best practice approach to
software development.
3.7.1 Crystal/Adaptive Software Development (ASD)
(Cockburn, 2001) is credited with creating the family of Crystal methodologies, such as
Crystal Clear and Crystal Orange as a ‘human-powered’ approach to software
development. Rather than a more process-oriented approach, software development is
centred on the team and individuals involved in the software process.
Crystal provides suggestions for team organisation and management with the main
objective being to reduce bureaucracy and paperwork while increasing teamwork,
personal satisfaction, and communication. Crystal methods seek to find the simplest and
most compact team structure and process for an organization, thus making the
development process more speedy and efficient.
(Highsmith, 2002) joins Cockburn in supporting not only a change in process, but a
change in lifestyle. Adaptive Software Development (ASD) focuses on preparing
organisations for a world where requirements change and flexibility is a necessity. The
process and structure of the organisation must itself be flexible enough to adapt to the
changing directions and evolution that a software project may take.
54
The practices of ASD are driven by a belief in continuous adaptation and accepting
continuous change as the norm. In ASD, the static plan, design, build life cycle is
replaced by a dynamic, speculate, collaborate, learn life cycle. It is a life cycle dedicated
to continuous learning and oriented to change, re-evaluation, peering into an uncertain
future, and intense collaboration among developers, management, and customers.
3.7.2 Dynamic Systems Development Method (DSDM)
DSDM is another methodology designed to respond to short delivery timescales and a
limited amount of resources. Like Crystal, DSDM strives to shorten communication
lines between customer, developer, and business stakeholders in order to provide a more
efficient software process.
The DSDM Consortium website states that DSDM is a development framework that
‘focuses on the priorities of the business and delivers what can safely be delivered
within the time and cost constraints of the project, in priority order determined by the
business needs and the objectives of the project’ (DSDM, 2006). Both coding and design
is iterative in order to receive maximum feedback from all stakeholders throughout the
development process, (Stapleton, 1995).
Time boxes are used to ensure that deadlines are adhered to and keep the development
team focused on what is most important in a given time box. An essential element in the
time box concept is priorities, meaning that all tasks in a given time box must be
prioritised. It must be possible to complete all tasks with the highest priority within a
comfortable time frame, but the time box will most likely not be long enough to
complete all tasks. This results in the most important tasks being completed and the
lowest prioritised tasks are skipped.
55
Figure 3.7.1– Time Boxes in Agile Development.
The model above describes the functional model iteration is a process of gathering and
prototyping functional requirements based on an initial list of prioritized requirements.
Non-functional requirements are also specified during this phase. Each iteration is
followed by a design and build iteration that refines the prototypes to meet all
requirements. On reaching the maturing stage a final release is made and the software
deployed onto a customers environment.
3.7.3 Feature Driven Design (FDD)
FDD follows the belief that a strong yet flexible design will create a process that is
better managed and thus more efficient. FDD divides a project into features which are
subsets of the project that contain customer value.
FDD creates design, code, and code inspection schedules that lack the details associated
with a system completely specified in the requirements phase by instead relying on
people and their roles to address the details as needed, (Coad et al, 1999).
The simplified design schedule serves as a bridge of communication between manager
and developer. The design schedule can be used to establish a baseline for productivity
and be used to estimate future product development and serve as an important
component of contract negotiation.
56
3.7.4 SCRUM
SCRUM is a set of values and practices that optimizes the development environment,
reduces organizational overhead, and closely synchronizes market requirements with
iterative prototypes, (Schwaber & Beedle, 2002). It is designed to be productive, where
working prototypes are delivered in thirty day time frames or sprints.
Work accomplished during the sprint is predefined by the development team and no
other work may be added during a sprint. The team can focus on a particular set of
features intensely for that period of time and produce a working prototype.
Once a sprint has been completed, a new set of features is analyzed and selected for the
next iteration.
SCRUM has been successfully used as a standalone development process, but can also
be used for other processes and to encourage productivity in failing projects.
3.7.5 eXtreme Programming (XP)
Today, Extreme Programming is probably the most widely used agile methodology. XP
consists of approximately twelve interconnected practices, making it the best defined
agile process. It has been adopted by development groups around the world, in a variety
of different companies, has inspired many books and is the subject of various
conferences around the world.
1. Planning Game 7. Refactoring
2. Small Releases 8. Continuous Integration
3. Customer Acceptance Tests 9. Collective Code Ownership
4. Simple Design 10. Coding Standards
5. Test-Driven Development 11. Sustainable Pace
6. Pair Programming 12. Metaphor
Table 3.7.2- The Twelve practices of XP.
57
XP is founded around small releases (approximately six months) with iterations of two
weeks during which developers implement ‘User Stories’, which are program features
specified jointly by customer and developer.
Customer collaboration and constant feedback are paramount to a successful XP
process. The customer needs to be involved in planning and is also on hand to answer
developer questions in order to produce a piece of software closely tailored to the users
needs.
The emphasis on testing, such as customer acceptance tests, pair programming, and test-
driven development, result in production code of higher quality and more reliability.
The robustness of XP combined with its lightweight approach to the software process
and substantial knowledge base has made it the most popular agile methodology with
practitioners in every domain of software engineering.
3.8 Conclusion
An Agile Software Development (ASD) life cycle has six basic characteristics; mission-
focused, feature-based, iterative, time-boxed, risk-driven, and change-tolerant
(Highsmith, 2002). For many projects, lightweight methodologies can be seen as an
iterative approach to software development especially when the requirements may be
unclear at the beginning, but the overall mission that guides the team is well articulated.
The mission driving the project provides boundaries rather that the final project
destination or end product. Without a good mission and a constant mission refinement
practice with the software development team, iterative life cycles can loose sight of the
end goal and result in little or no real progress being made.
The ASD life cycle focuses on results, not tasks, and the results are identified as
application features. Agile development defines a strategic capability, a capability to
58
create and respond to change, a capability to balance flexibility and structure, a
capability to draw creativity and innovation out of a development team, and a capability
to lead organizations through turbulence and uncertainty, (Highsmith, 2002)
One of the major drawbacks of agile development is misinterpretation and abuse of its
main teachings. For example, the practice of time boxing, addressed as part of DSDM,
or setting fixed delivery times for iterations and projects, has been abused by many who
use time deadlines. Time deadlines are often used to pressure staff into long hours, cut
corners on quality and as a result undermine the collaborative working environment
promoted by using agile development techniques.
It has been the author’s experience that the idea of time boxing can in fact have very
little to do with time and more to do with forcing hard trade-off decisions during
software development.
This again comes down to poor organisational and management practices of companies
that adopt an agile approach to their software development. If both are neglected then
the lightweight approach to software development can suffer in ways mentioned above.
However, good organisational and management practices that allow for an adaptive
development cycle can be easily accommodated for; not only in lightweight approaches
but also heavyweight approaches. As in (Boehm’s, 1998) Spiral development model, the
ability to analyse the critical risks drives the plans for adaptive iterations. ASD is also
change-tolerant, not viewing change as a problem but seeing the ability to incorporate
change as a competitive advantage.
Today, many indigenous Irish software companies want to be more agile. There is a
growing need for companies to be competent enough to create change for their
competitors and respond quickly to market conditions. They want to be innovative and
have the ability to plan for the future, but at the same time not be blinded by their plans.
The focus should be on delivering customer value, not adding the number of processes
they have in place. But the pressure to deliver value in a turbulent, ever-changing market
grows all the time.
59
All software development companies continually face stiff competition from global
competitors offering similar products that they may in fact not be as good as theirs.
Making sales is difficult, thus growth in such companies is slow, resources are limited
and attracting and retaining high quality engineers is proving more and more difficult.
The Effective Software Development (ESD) seminar recently organised by Enterprise
Ireland has looked to address and improve these organisational and management
constraints on Irish software companies. Such initiatives can achieve only so much, as
it’s primarily down to the companies themselves to improve existing practices and make
the transition from Start-up to Build and from Build to Expansion company.
Finally, the purpose of this chapter was to provide the reader with and overview of
heavy and light weight methodologies and the many tools that are available throughout
the software development process.
The Agile approach is gaining popularity in smaller development teams, but just like
heavyweight methodologies, it too requires a systematic approach and careful
consideration for each of the six basic characteristics that define it. The next chapter
focuses on software process improvement looks deeper into organisational and
management issues that can help address some on the shortcomings identified in this
section.
60
CHAPTER 4 - SOFTWARE PROCESS IMPROVEMENT
4.1 Introduction
Software Process Improvement (SPI) is a well known concept within the field of
software engineering and throughout the software industry itself. Its foundation stems
from the field of management science with particular emphasis on quality system
improvements. It has evolved steadily over time with (Shelwhart, 1939) first developing
the concept of plan-do-check act iteration which was later adopted in Japanese
manufacturing and renamed the KAIZEN method. This was later adopted by (Deming,
1980) to become the Deming cycle.
SPI is about continuously improving a software companies approach to software
management and development. Its aim is to provide companies with a repeatable and
predictable approach to software development that is flexible to market needs, guides
staff and management, minimizes risks, prevents costly mistakes, accelerate efforts and
encourages creativity.
In late 2005, Enterprise Ireland surveyed 30 Irish Software Development Companies, of
which none had a recognizable Software Development process although some had a
number of elements in operation. Given Ireland’s growing reputation and reliance on
software development for employment, it is important that Ireland’s indigenous sector
strive to defend and strengthen its position in the global market place. This is a point
echoed by the Minister for Trade and Commerce, Michael Ahern at the opening of
Enterprise Ireland’s Conference on Effective Software Development;
“we must continuously strive to defend and strengthen this position and perception if we
are to retain our reputation into the future. Irish companies need to be able to
61
consistently deliver good quality products and services on time and on budget -- all
characteristics required to compete effectively in today's global economy,"2
The purpose of this chapter is to provide the reader with an understanding of the
importance of SPI to Irish software companies by providing an overview of current
approaches to SPI and the benefits a best practice approach can have on the software
development process.
This chapter presents a number of SPI models that provide software development
companies with a framework to this best practice approach. The author was conscious of
documenting these models in detail as they later played a key role on the research
approach in Chapter 5 and on the data analysis in Chapter 6
4.2 Why the need for Software Process Improvement (SPI)?
As was already discussed in Chapter 3, many methodologies have claimed to ease the
software crisis that emerged from the 1960’s where budget overruns and poor quality
software hampered the software engineering profession. (Curtis & Paulk, 1993 pg.381)
claim that a “cultural transition rooted in the prowess of the individual programmer” is
to blame for the inability of software teams to manage a project which is further
exasperated by the sheer size of some of these projects.
A recent Enterprise Ireland survey to determine the use of software process
improvement methodologies in Irish software companies, it was found that between 30
and 40 companies had not implemented an SPI program.
(Curtis & Paulk, 1993) suggest that software companies should firstly focus on defining
their existing process and then select tools and methods to support these processes
before embarking on a full SPI program. They further claim that a well defined
2 Electric News.Net "Quality products key to Ireland's high-tech rep" .http://www.electricnews.net/news.html?code=9698845. Wednesday, May 31 2006
62
documented process can provide a solid foundation for long term productivity and
quality growth by integrating people, tasks, tools and methods.
There are a variety of assessment based programs that have been formulated and
developed in response to process improvement in software development. The most
widely known of these is the Capability Maturity Model (CMM). This model is
particularly popular in the United States, with software companies in other countries
adopting their own models. The European equivalent of CMM is known as
BOOTSTRAP.
Internationally, practitioners within the software engineering discipline recognized that
there needed to be a harmonization between the various approaches and the development
of an international standard. This standard became known as SPICE and today it is
commonly referred to as ISO/IEC 15504.
More recently in Ireland there have been a few well publicized reasons why some
changes to software management might be considered. Both the Irish Times and the
Irish Independent covered these stories in 2005, for example;
• Prison Service computer system costing €500,000 was abandoned, (Coulter, 2005).
• Garda computer summonses thrown out, (Labanyi, 2005).
• Millions overpaid to health staff under new pay system, (Donnellan and Reid, 2005).
• Health Service Executive (HSE) to suspend second computer project, (Reid, 2005).
Although such issues do little to shed light on what is actually happening, a review of
these high profile software projects might suggest there was an ad-hoc approach through
the SDLC or poor management practices that are less in line with best practice.
63
Evidence from these high profile cases would also suggest that not only are small
software companies at risk but larger companies are too, as it was primarily large
companies that were spearheading these projects. Although this thesis is primarily
focused with the need for start-up companies adopting best practice approaches to both
their software development and improvement processes, evidence would suggest that
larger companies could also benefit, but to a lesser degree.
64
4.3 Software Process Improvement Models
Software Process Improvement models are based on formal frameworks and promote the
use of systematic processes and management practices for software engineering, (Dutta,
Lee & Van Wassenhome, 1999). Approaches such as CMM, BOOTSTRAP and SPICE,
give software development companies the ability to understand, control and improve
their development processes. The purpose of an SPI assessment should be to compare
the current processes used in an organization with a list of recommended “best
practices”.
The above discussion yields the basis for an investigation of possible software process
improvement methodologies. The four SPI methodologies that are most inherent to this
Chapter and referred to in literature are, CMM, ISO 9000-3, SPICE and BOOTSTRAP.
The following paragraphs will discuss these methodologies in more detail.
But, before describing each methodology in greater detail, an interesting evaluation from
(Richardson, 1999) shows us that experience from many companies has shown that the
use of the CMM is very limited within small software development companies. She
points out that such models are continually tailored suit the needs of the development
team. The table below depicts the strengths and weaknesses (Richardson, 1999) gives of
three of the four models under discussion here.
Model Strengths Weaknesses
CMM • Improves software process
• Specific set of guidelines
• Assessment is expensive
• Lack of improvement model
• Tailoring required for small
• No credit for higher levels
• One-dimensional
ISO 9001
• Market-driven
• Internationally recognised
• Recognised outside software community
• Improves software process
• Not designed for software
• Results in cumbersome procedures
• Lack of improvement model
• One-dimensional
SPICE • Developed from existing models and experiences
• Credit for higher levels
• Specific set of guidelines
• Expensive assessment
• Lack of improvement model
• One-dimensional
Table 4.3.1– Strengths and Weaknesses of SPI Models (Richardson, 1999).
65
4.3.1 Capability Maturity Model (CMM)
Based on best practices from industry, the Software Engineering Institute (SEI)
developed the Capability Maturity Model (CMM) in the early 1980’s. The model was
originally developed to assess the software development process of third party suppliers,
of the US Department of Defence; however, this model also helped those suppliers to
improve their process. Organisations are supported with the CMM to improve the
maturity of their software process through an evolutionary path, of five maturity levels,
from 'ad hoc and chaotic' at level 1 right through to a 'mature and disciplined' at level 5.
As s Software Company becomes more mature, risks are expected to decrease and
productivity and quality are expected to increase.
Figure 4.3.1– Capability Maturity Model (CMM). (Paulk et al. 1993).
Each CMM maturity level contains a set of Key Process Areas (Kappa’s) which describe
the main capabilities for that level. The Kappa’s of the CMM are listed in the figure
below.
66
Level Description Key Process Area (KPA) 1. Initial
The software process is characterised as ad-hoc, occasionally or chaotic. Few processes are defined, and success depends on individual effort and heroics.
2. Repeatable Basis project-management processes are established to track cost, schedule and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.
• Requirements management
• Software project planning
• Software project tracking & oversight
• Software subcontract management
• Software quality assurance
• Software configuration management
3. Defined The software process for both management and engineering activities is documented, standardised, and integrated into a standard software process for the organisation. All projects use an approved, tailored version of the organisation’s standard software process for developing and maintaining software.
• Organisation process focus
• Organisation process definition
• Training program
• Integrated software management
• Software product engineering
• Inter-group co-ordination
• Peer reviews
4. Managed Detailed measurements of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled.
• Quantitative process management
• Software quality management
5. Optimising Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies.
• Defect prevention
• Technology change management
• Process change management
Table 4.3.2– Key Process Areas of the CMM (Paulk et al. 1993)
A suite of models developed by the SEI including the SW-CMM, the Systems
Engineering Capability Maturity Model and the integrated product Development CMM
have recently been merged and extended into an integrated CMM called CMMI. The
CMMI provides two views of capability.
• A Staged View gives five levels of evolution towards organisational
maturity. These are Initial, Managed, Defined, Quantitatively managed and
Optimising.
• A Continuous View provides six levels of process capability. These are
Incomplete, Performed, Managed, Defined, Quantitatively managed and
Optimizing. (CMMI Product Team 2002 p .18 -9)
67
The SEI claims the CMMI model improves upon the best practices of previous models
in many important ways (Goldenson & Gibson, 2003). CMMI best practices enable
organizations to do the following;
• Link management and engineering activities more explicitly to business
objectives.
• Expand the scope of and visibility into the product lifecycle and engineering
activities to ensure that the product or service meets customer expectations.
• Incorporate lessons learned from additional areas of best practice, (i.e. risk
management, supplier management)
• Implement more robust high maturity practices.
• Address additional organizational functions critical to its products and
services.
• More fully comply with relevant international standards such as ISO 900 and
ISO/ IEC 15504. (Chrissis, Konrad & Shrum 2003; CMMI Product Team
2002)
4.3.2 ISO 9000
Another well-known methodology for SPI is the ISO 9000 approach. The assumption
behind the ISO 9000 standards is that a well-managed organisation with a defined
engineering process is more likely to produce products that consistently meet the
purchaser’s requirements, within schedule and budget, than a poorly managed
organization that lacks an engineering process.
ISO 9001 describes ‘Quality systems - model for quality assurance in
design/development, production, installation and servicing’. A representation of the
structure of the ISO 9000 standards is provided below.
68
Figure 4.3.2– Structure of the ISO 9000 standards.
ISO 9001 is a set of quality system requirements that consists of twenty clauses that
represent requirements for quality assurance in design, development, production,
installation and servicing that defines which aspects of a quality system have to be
available within an organisation.
As ISO 9001 was designed to be used in different industrial sectors, ISO 9000-3 was
added specifically for software-development. ISO 9000-3 provides guidelines for
applying ISO 9001 to the specification, development, supply and maintenance of
software (ISO 9000-3, 1997).
69
The requirements for ISO 9000-3 certification are divided over twenty requirements
classes;
No. N0. Guideline classes
4.1 Management responsibilities
4.2 Quality system requirements
4.3 Contract review requirements
4.4 Product design requirements
4.5 Document and data control
4.6 Purchasing requirements
4.7 Customer-supplied products
4.8 Product identification and tracing
4.9 Process control requirements
4.10 Product inspection and testing
4.11 Control of inspection equipment
4.12 Inspection and test status of products
4.13 Control of non-conforming products
4.14 Corrective and preventive action
4.15 Management responsibilities
4.16 Handling, storage and delivery
4.17 Control of quality records
4.18 Internal quality audit requirements
4.19 Training requirements
4.20 Servicing requirements
4.21 Statistical techniques
Table 4.3.3- ISO 9000-3 Guideline classes (ISO 9000-3, 1997).
Receiving ISO 9000-3 certification assures customers that in an audited company all its
processes and work instructions documented conform the ISO requirements, and that
these processes and work instructions are being followed on a continuous basis.
ISO certification does not give any guarantee for product quality, it only indicates that
the procedures are used to a certain extent.
70
4.3.3 BOOTSTRAP
The BOOTSTRAP method (Kuvaja & Bicego, 1994; Bicego et al., 1998) is the result of
a European project under the auspices of the European Strategic Programme for
Research in Information Technology (ESPRIT). It provides an alternative for
organizations that are interested in improving their software development process and
attaining ISO 9001 certification, as it combines and enhances the methods provided by
the CMM and the ISO 9000 quality standards.
Figure 4.3.3– BOOTSTRAP methodology (Kuvaja & Bicego, 1994)
71
The basis of the BOOTSTRAP methodology is established by CMM. Like the CMM, an
assessment is based on five maturity levels, but the BOOTSTRAP method uses a
different scale to measure an organisation or projects overall strengths and weaknesses.
The ISO 9000 quality standards ISO 9001 and ISO 9000-3 are incorporated in the
methodology because they provide guidelines, unlike CMM, for a company-wide quality
system.
BOOTSTRAP distinguishes between the three areas of Technology, Methodology and
Organisation, which help identify the maturity levels of an organization.
The methodology is further sub-divided into a Life-cycle dependent, Life-cycle
independent and Process related areas, of which the life-cycle independent area is further
divided into Management, Support and Customer-supplier.
For each area in this BOOTSTRAP tree, a number of processes are defined. Each
process has a number of ‘key-practices’ that need to be addressed for that process.
Furthermore, each process has a capability dimension, which identifies the current status
of that process on a scale from 0 to 5.
72
4.3.4 Software Process Improvement & Capability Determination (SPICE)
SPICE is a major international initiative to develop a Standard for Software Process
Assessment (ISO 15504, 1998). It was established as a project to develop draft
standards, trial the developing standards and to promote awareness of the developing
standard (Rout, 1996). The SPICE project is developing the ISO/IEC 15504 standard to
address all processes involved in software acquisition, development, operation, supply,
maintenance, and support and has been created to be aligned closely with (ISO/IEC
12207, 1995) software life cycle processes. ISO 15504 is used as a reference framework
for software process capability determination. It is based on other popular approaches
already discussed, namely BOOTSTRAP, CMM and ISO 9001.
4.3.4.1 The ISO 15504 framework
There are two dimensions of the ISO 15504 reference model, the process dimension and
the process capability dimension. The process dimension includes measurable objectives
for each process and relates to the software lifecycle model (ISO 12207).
The ISO 15504 technical report outlines a roadmap for the implementation of best
practice in software engineering by defining 40 processes divided into 5 categories,
customer- supplier, engineering, support, management and organization. The processes
are made up of 24 main processes and 16 sub processes. The process capability
dimension is measured by capability levels, which is characterised by a set of attributes
that work together to provide a major enhancement in the capability to perform a
process.
The process capability of each defined process evaluates to what extent the process
achieves its defined purpose and objectives, (SPIRE, 1998). For each process, capability
is measured in 6 levels from incomplete, performed, managed, established, predictable
and optimizing. These capability levels represent milestones along the road to software
process improvement.
73
Table 4.3.4 – ISO 15504 Framework, (ISO/IEC TR 15504-2 1998, pg.5).
Process Group Basic Processes Component Processes
Primary Life Cycle Processes
Customer CUS. 1 Acquisition CUS 1.1 Acquisition Preparation
CUS 1.2 Supplier Selection
CUS 1.3 Supplier Monitoring
CUS 1.4 Customer Acceptance
CUS.2 Supply
CUS.3 Requirements Elicitation
CUS.4 Operation CUS 4.1 operational Use
CUS 4.2 Customer Support
Engineering ENG.1 Development ENG 1.1 System Requirements Analysis
and Design
ENG 1.2 Software Requirements
Analysis
ENG 1.3 Software Design
ENG 1.4 Software Construction
ENG 1.5 Software Integration
ENG 1.6 Software Testing
ENG 1.7 System Integration and Testing
ENG.2 System and Software
Maintenance
Supporting Life Cycle Processes
Support SUP.1 Documentation
SUP.2 Configuration Management
SUP. 3 Quality Assurance
SUP.4 Verification
SUP.5 Validation
SUP.6 Joint Review
SUP.7 Audit
SUP.8 Problem Resolution
Organisational Life Cycle Processes
Management MAN. 1 Management
MAN.2 Project Management
MAN .3 Quality Management
MAN.4 Risk management
Organisation ORG.1 Organisational Alignment
ORG. 2 Improvement ORG 2.1 Process Establishment
ORG 2.2 Process Assessment
ORG 2.3 Process Improvement
ORG. 3 Human Resource Management
ORG. 4 Infrastructure
ORG.5 Measurement
ORG.6 Reuse
74
4.4 Critical Success Factors for SPI
Introducing an SPI initiative needs careful planning, gradual introduction, be properly
managed and the adoption of all stakeholders in the company. (Zahran, 1998, pg. 79)
states that the following factors need to be considered to ensure the success of an SPI
effort;
• Set realistic expectations for senior management.
• Secure management Support. Educate them and highlight the potential benefits to
them resulting from a disciplined process.
• Get the buy-in from and involvement of project managers and software engineers.
• Treat process improvement as any other project with budget, milestones, committed
resources, allocated resources, defined deliverables and dedicated project
management.
• Process Improvement plans should follow a process improvement roadmap so
everyone will be aware of the target end state.
• Continuous process improvement should be considered a journey and not a
destination.
• Measurement of staff performance and reward schemes should be linked to process
performance.
• Process performance should be evaluated in terms of the degree to which the process
goals have been achieved.
• Ensure continuous alignment between process goals, project goals and business
goals.
• Involve everyone in the organisation in process improvement activities.
The success of using such models described in the last section have been reported and
documented. The most widely reported survey of best practice in Europe was that
conducted by the European Software Initiative (ESI).
In 1995 the EU launched the European System and Software Initiative (ESSI) program.
Its aim was to promote testing and deploying software best practices in the hope that
they could realize the benefits that this could offer them.
75
The ESSI developed the Software Best Practices Questionnaire (SBPQ) to collect data
for the ESSI program. The SBPQ represent a conceptual view of existing software
engineering practices and comprises a subset of core software development practices
from for four models mentioned. The five best practice areas covered by the SBPQ are;
• Organisational Issues, covering project management, change control and training
programmes for managers.
• Standards and Procedures, formal assessment of benefits and risk management,
reviews, independent audits, coding standards, formal handover, test planning.
• Metrics, Records of actual and estimated resources, error sources, test efficiency,
computer performance, project tracking.
• Control of the development process, Accountability for estimates and schedules,
requirements management, control of code and specification changes, regression
testing.
• Tools and Technology, Use of design notations, automated testing tools, prototyping,
data dictionary, Project Management tools, (ESSI, 1997b).
There are significant differences across the five areas of the SBPQ in relation to take up
levels, suggesting that some companies paid more attention to some areas than other did.
(Dutta & Van Wassenhove, 1997a) have criticised the survey for two reasons. Firstly,
they argue that it over looks important issues relating to organizational and custom-
supplier relationships and secondly that it does not include practices associated with
high maturity organizations such as CMM level 4/5.
Nevertheless the study yielded valuable findings over the three year period from 1995 to
1997. The final survey in 1997 generated 397 responses (ESI 1997) and showed a wide
variation in both awareness and application of process improvement techniques. Overall
the survey yielded an average level of 51% which would imply that at best, companies
surveyed adopted half of all the best practices in the SBPQ.
76
4.5 Implementing a national SPI Effort
The author is confident that with the support of Enterprise Ireland, the implementation
of a national software process improvement program is achievable in the short term with
many initiatives and support groups already in place and already highlighted in Chapter
2 page 21.
The need for software process improvement is beneficial for both the long term needs of
the companies undertaking the program and for the economy. In his presentation to
companies at the 2006 SPI conferences in Dublin and Cork, Eugene Connolly cites the
following reasons why companies need to improve their software processes;3
• Response from the 2005 SPI Conferences
• A Subsequent Survey indicated that there was a low level of SPI knowledge
• Establish Irish Software Industry as centre for:
� Consistency, Quality and ‘on-Time’
• Increasing demand from Marketplace
• Provides Competitive Advantage
• Assists Productivity Improvement
• Promotes Management & Control of process
• Encourages effective use of resources
Ireland would not be alone in implementing a national SPI initiative. The Danish
government participated in a national initiative to facilitate the use of such approaches as
CMM and BOOTSTRAP within the software sector there. This collaboration ran over a
three year period from 1997-1999.
As part of its effort, four software companies were identified and the following
questions relating to software process improvement were addressed;
3 see http://www.enterprise-ireland.com/NR/rdonlyres/BBD81B5F-F543-466D-A663-00A219492DC9/16766/SPIRoadmap.ppt#2 Roadmap to Establishing a “S P I” Culture
77
• Modelling. Understanding software development processes, the conditions under
which they are performed, and their capability to develop quality software?
• Measurement. Assessing the capability to develop software, identify appropriate
improvement areas and strategies and measure the effect of the implemented
improvements?
• Change. Managing change. How to organise and carry out sustainable initiatives
to improve an organisations capability to develop quality software?
A number of lessons were learned from by the undertaking of this study and these are
listed below (Johansen, 1999),
• Data-driven interventions motivate and provide insight
• Maturity can be assessed in different ways
• Establishment of a metrics program is a project in itself
• Process improvement is organisational development
• Process improvement initiatives should set an example
• Process improvement must lead to visible results
• Process improvement requires dynamic organisation
• Management must play an active role
• There are many roads to improved project management
• Each organisation must make its own experiences
When looking at the lessons learnt by the Danes, it would be beneficial for Irish
software companies to bear each point in mind so as to effectively introduce a program
of software process improvement.
Recognising the need for the adoption of an SPI initiative in Ireland is already well
underway. A series of collaborating networks and research institutes have been
established since the turn of the century with some of the more well established listed
below;
78
• ITAG (IT at Galway)
• Digital Enterprise research Institute (DERI) Galway
• Lero (aka ISERC) based in UL
• ISA & Momentum (N. Ireland. version of ISA)
• SPIN (SPI Network) being established
• Centre for Software Engineering CSE based in DCU.
• European Software Institute & Software Engineering Institute
4.6 Conclusion
The importance of Software Process Improvement is today recognised by the Irish
government as a major initiative to growing and improving the indigenous software
sector in Ireland. This chapter along with the previous chapter have dealt with both the
software development process and software process improvement, the people involved
and their functions. What has struck the author in reviewing research in both areas was
the continual reference throughout the history of software engineering to the idea of a
software crises and its close association with poor productivity in software companies
resulting in poor quality software products.
Today, the indigenous software sector in Ireland could inevitably face a similar crisis if
software companies do not recognise the need for improving both their productivity and
quality systems. Although the term ‘software crisis’ was first coined back in the early
1960’s, almost half a century on evidence in Ireland suggests that the government and
organisations alike are still tackling this very same issue. Both the government and
Enterprise Irelands focus is now on educating companies on how to adopt a best practice
approach to software development and SPI.
In order to establish how both impact on the indigenous software sector, the author uses
different methods of research to gather the relevant data to explore and analysis the
finding s in greater detail. Chapter 5 outlines in detail the manner in which thesis
research was conducted.
79
CHAPTER 5 - RESEARCH METHODOLOGY
5.1 Introduction
The chapters so far have analysed the existing practices and knowledge in the areas of
software engineering and software process improvement. In this chapter the focus shifts
to the research methodologies used as part of this thesis. The first section of this chapter
introduces the principles of research, while the remainder of the chapter explains the
rationale behind the research methods chosen and also how it was designed and
executed.
This chapter illustrates the research strategy, research methods, the choice of research
instruments and how the research was done. This chapter is important as it outlines the
manner in which the research was conducted and how the data was collected. The author
feels that this will allow for greater judgements to be made on the accuracy of the
research and whether or not any credibility should be given to its findings or
conclusions.
5.2 Research Methodology
Before researching the chosen areas of this thesis, some key decisions in relation to the
strategy and methods to be used in compiling the research needed to be taken. In
designing and executing the research approach, the author used a check list approach so
that all eventualities were considered when conducting the research design. Using this
approach meant that the minimum requirements were easily attained and critical factors
associated with good research were not overlooked.
The author was well aware that different research methods can be used for a variety of
purposes, which are dependent on the context for which the research occurs. The author
realised early on that applying a variety of methods would, in his view, provide for
80
better interpretation and validation of the final research results. The benefits of a multi-
method approach are promoted by (Morrison & George, 1995, pg 90) who argue that an
‘interdisciplinary, multi-dimensional, multi-faceted approach to research involving
software development provides a vehicle for mutually beneficial research among both
organisationally-orientated and technically-orientated researchers.’
The table below is adopted from (Denscombe, 2003, pg.5) and illustrates factors that
need to be considered in order to make key decisions about research used for this thesis.
Issue Factors to be Considered
Relevance • Is the research significant in relation to current issues on society?
• Will the research build upon existing knowledge about the topic
Feasibility • Is there sufficient time for the design of the research, collection of data and
analysis of results?
• Will the resources be available to cover the costs of the research?
• Will it be possible and practical to gain access to necessary data (people,
events, documents)?
Coverage • Will the questions cover the full range of issues?
• Will an adequate number of diverse people and events be included?
• Will it be reasonable to make generalisations on the basis of the data
collected?
• Is it likely that there will be an adequate response rate?
Accuracy • Will the data be precise and detailed?
• Are respondents likely to give full and honest answers?
• Will the investigation manage to focus on the most vital issues?
Objectivity • Can I avoid being biased because of my personal values, beliefs and
background?
• Will the research be approached with an open mind about what the findings
might show?
Ethics • Can I avoid any deception or misinterpretation in my dealings with the
research subjects?
• Will the identities and the interests of those involved be protected?
• Can I guarantee the confidentiality of the information given to me during the
research?
Table 5.2.1 – Key research Decisions (Denscombe, 2003, pg. 5)
81
Recognising the significance of using more that one method of research the author also
looked at the advantages and disadvantages of various research methods and their
relevance in relation to the chosen topic area.
The table below provides a brief summary of the advantages and disadvantages of
various methods that were taken into consideration when choosing the appropriate
research instruments.
Method of Research Advantages Disadvantage
Questionnaire, Survey • Reduced Cost
• Wide Coverage
• Standardised answers
• Pre-coded answers
• Eliminated effect of personal
interaction
• Poor response rate
• Incomplete or poorly completed
answers
• Limit Nature of answers
• Cannot check truth of answers
Structured Interviews • Depth of Information
• Insights
• Equipment
• Informant’s Priorities
• Flexibility
• Validity
• High response rate
• Therapeutic
• Time consuming
• Data analysis – non standard
responses
• Reliability
• Interviewer effect
• Inhibitions
• Invasion of privacy
• Resources
Systematic observation • Direct Data collection
• Systematic and rigorous
• Efficient
• Pre-coded data
• Reliability
• Behaviour, not intentions
• Over simplifies
• Contextual Information
• Naturalness of the setting
Participant Observation • Basic Equipment
• Non-interference
• Insights
• Subjects points of view
• Access
• Non-interference
• Reliability
• Representative ness of the data
Documentary research • Access to data
• Cost effective
• Performance of data
• Credibility of source
• Secondary data
• Social Constructions
Table 5.2.2 – Advantages and disadvantages of Methods of Research.
82
A good research design provides a framework for the collection and analysis of data. It
represents a structure that guides the execution of a research method and the analysis of
the subsequent data (Bryman, 2001, pg.28.).
A combination of qualitative and quantitative methods is seen by (Iversen et al. 1998 pg.
464) as providing the advantages of both triangulation and synergy. In the area of
software engineering, researchers such as (Carver, 2003) have urged the use of
quantitative analysis focusing on statistical analysis of numerical data as well as
qualitative analysis focusing on textual and numerical data.
5.3 The Choice of Research Method
The main research strategy used in investigating the chosen topic is represented through
Case Studies. The author took the decision to use this strategy as it enables a thorough
examination of the topic area of this thesis and as a consequence creates a greater
opportunity to discover areas that may not have been apparent through more superficial
research.
The use of a Survey and in-depth interviews gave a broader view of the focussed
industry area and gave a more detailed view of the companies that were being examined.
This approach to the research used mixed methods as defined by (Gallivan, 1997) as it is
empirical research using at least two different methods for collecting data. One
collection method is quantitative, the Survey, and the other is qualitative, case study.
Triangulation was then used to corroborate data produced by the different methods of
research mentioned above. In the author’s opinion, this mixed method approach provides
for a richer set of findings and an opportunity to compare best practice survey results
with the results from the chosen process improvement plan, in this case the ISO 15504
framework.
83
5.4 Survey and Interview Methods
The first method used in researching the chosen area involved the use of a survey as the
basis for a study to try and identify problem areas within the targeted software
development companies. It was hoped that the results of this could answer the first
research question in relation to the extend at which software development companies are
using best practice techniques and if the organisation structure or company resources
play a part in the results obtained from these companies.
Survey research ‘comprises a cross-sectional design in relation to which data are
collected predominately by questionnaire or by structured interview on more than one
case and at a single point in time in order to collect a body of quantitative data in
connection with two or more variables which are then examined to detect patterns of
association’ (Bryman, 2003, pg. 49).
The main objective of the survey is to determine the extent of adoption of software
engineering ‘best practices’ for each company surveyed. Following this a descriptive
study, known as a correlation, which entails the collection of data in order to determine
whether an association exists between two or more quantifiable variables was carried
out.
Interviews were chosen by the author primarily because they provide more of an in-
depth focus and insight into the topic under discussion, based on information provided
by fewer informants.
(Merton, Fiske and Kendall, 1956) refer to a focused interview as and interview using
predominantly open questions to ask interviewees questions about a specific situation or
event that is relevant to them and of interest to the researcher (Bryman 2002, pg. 119).
The interviews were conducted on an informal level before the Survey had been sent to
each of the companies under review. As part of the interviews, the author asked
individuals from each company four questions (see Appendix C) into their thoughts on
84
software process improvement and its effect on their company. The author decided on
this as this would give him a good indication on whether or not the survey would be
received positively. After receiving the survey results, a more focused interview
approach was conducted to gather and understand in more detail some of the answers
given in the survey.
The interviewees were not recorded, instead the author wrote notes immediately after
each one so that the answers given were fresh in his mind and so reduced the need to
contact the interviewees again if any ambiguity arose to the initial answers given in the
survey.
5.5 Survey Design
To overcome time constraints, the author took the decision to use the questions from the
ESI Software Best Practice Questionnaire (SBPQ) in designing the survey. In was felt
that this would give a more thorough coverage of practices for each company under
examination and as a result provide for a better examination of current practices.
Before the questionnaire was sent to all the companies, the author took the decision to
pre-test its structure and contents with two former work colleagues.
The author was aware that some of the questions may have caused misinterpretation and
as a result may have resulted in unclear or invalid responses. As the Survey is almost ten
years old the author felt that it may be better to change some of the questions slightly to
over come this problem.
The second point that was made was that the flow of the questionnaire and the heading
of the ESI (SBPQ) may also cause some confusion and as it is, do not necessarily flow
or follow the actual steps of a typical software development life cycle.
To over come this the author decided to group the questions under five new headings of
Requirements and Design, Code and Test, Configuration Management, Estimates and
Schedules and Project Management and Training.
85
5.6 Case Study
Case studies ‘focus on one or more instances of a particular phenomenon with a view to
providing an in-depth account of events, relationships, experiences or processes
occurring in that particular instance’ (Denscombe, 2003 , pg 32). The choice of a case
study approach fits well with the research needs of this thesis as it concentrates efforts
on just a few examples.
From the outset of writing this thesis the author considered various reasons as to the
suitability a case study would have for the purposes of the research. This goes back to
the argument that a company in the start-up phase needs to implement a program of
process improvement to sustain growth and move up the value chain.
The rationale for choosing the specific case in this thesis is that it contains critical
elements that are significant in that each one shows the impact a program of best
practice could have on a start-up company’s overall software development practices.
Initially the author decided to carry out four case studies, one for each of the companies
surveyed. However due to both time constraints and the fact that this thesis’s primary
objective is to present a best practice framework for sustaining growth in start-up
companies, the author took the decision to document just one case.
Although the Survey Method allowed each of the four companies to be examined in
terms of their approach to best practice software development, the single case chosen
provided evidence relating to the whole hypothesis of the authors research and as such
allowed for deeper discussion.
The table below illustrates the companies examined as part of the Survey, with
Company D being chosen as the Case study as it is at the Start-up phase in its maturity
and best illustrates the research objectives of this thesis, supported by the surveys
results.
86
Table 5.6.1– Case Study and Survey used in Research.
Case Study Stage of
Maturity
Type of
Business
Response to Survey
Company A
Enterprise Financial
Services
Software
Provider
Stage Total Yes NO
Requirements & Design 6 4 2
Code & Test 9 9 0
Configuration & Mgt. 5 5 0
Estimate & Schedules 8 6 2
Project Mgt. Training 10 8 2
38 32 6
Company B
Build Financial
Services
Software
Provider
Stage Total Yes NO
Requirements & Design 6 4 2
Code & Test 9 7 2
Configuration & Mgt. 5 5 0
Estimate & Schedules 8 5 3
Project Mgt. Training 10 7 3
38 28 10
Company C
Build/Start-Up Financial
Services
Software
Provider
Stage Total Yes NO
Requirements & Design 6 5 1
Code & Test 9 5 4
Configuration & Mgt. 5 3 2
Estimate & Schedules 8 5 3
Project Mgt. Training 10 7 3
38 25 13
Company D
Start-Up Financial
Services
Software
Provider
Stage Total Yes NO
Requirements & Design 6 4 2
Code & Test 9 4 5
Configuration & Mgt. 5 2 3
Estimate & Schedules 8 1 7
Project Mgt. Training 10 4 6
38 16 22
By incorporating both the interview/survey with the case study approach, the author was
able to gather a large amount of data which later allowed for data validation through a
process of triangulation.
The main difficulty the author found with the Case study approach was getting access to
Case study settings. It was difficult to get access to documentation and people without
running into ethical difficulties such as company confidentiality. (Denscombe, 2003 pg.
38) states that ‘good case study research needs to contain a clear vision of the boundaries
to the case and provide an explicit account of what those boundaries are’. To overcome
this, the author used the survey as a way of defining those boundaries and in practice this
approach made it easier to decide the sources of data to incorporate in the case study and
which to exclude.
87
The case study used as part of this research is an indicative sample of companies
involved in software development. By analysing the case study, the author was able to
identify problems and achievements within the case and to seek explanations for
potential difficulties arising throughout their software development process that may
inhibit future growth and expansion.
5.7 Triangulation
Such an approach to research attempts to cancel out the limitations of one method by the
use of another method in order to cross check the findings. The term triangulation refers
to an approach that uses ‘multiple observers, theoretical perspectives, sources of data
and methodologies’ (Denzin 1970, quoted in Bryman, 2003 pg. 291). It was originally
conceptualised by (Webb, 1966) as an approach to the development of measures of
concepts, whereby more than one method would be employed in the development of
measures, resulting in greater confidence in findings (Bryman, 2003 pg. 291).
For this thesis, the triangulation approach allowed the findings to be corroborated and
questioned even further by comparing the data produced by different methods. The
literature review together with the issues arising from the survey provided both the
direction and approach taken toward the case study research. Similarly, the case study
findings were consistent with the survey and interview results and also with that
obtained from the documentary research.
5.8 Documentary Research
A major objective from the outset of this thesis was an examination of existing literature
on the subject of software engineering practices and software process improvement. As
both subject areas are very broad the author was well aware that not all subject matter
could be covered in this thesis. However, the author is satisfied that enough was covered
to provide both the author and reader with a good understanding of the wide range of
principles of software engineering and their impact on Irish software industry for the
purposes of this thesis.
88
The sources of documentary research were all written sources and included books,
journals, newspapers, government publications and websites. When carrying out this
method of research the author was conscious of both the credibility of the documents
and their applicability for discussion in this thesis.
The author is satisfied that this method of research was effective with the added benefit
of allowing the author to explore research questions related to the chosen areas without
the author having to go through the process of collecting the data himself.
5.9 Conclusion
This research was chosen so as to identify the implications a best practice software
engineering approach can have on a software development company. In turn this will
help highlight both the advantages and disadvantages of the same in the next chapter.
The review of existing literature on the chosen topic areas played an important part in
this research, thus allowing for credible research in its analysis.
Although this chapter dealt in detail with the methodology of this thesis, further
discussion of the research in the next chapter will bring to an end this process by
analysing the findings of this research.
The research areas of survey/questionnaire and the case study that were discussed here,
form the basis for deeper discussion when analysing the data and findings in the next
chapter.
89
CHAPTER 6 – DATA ANALYSIS
6.1 Introduction
In theory the interviewees who contributed to this thesis believed that they were well
aware of current software engineering practices and methodologies. But in practice, the
author was to a large degree quite taken by the surprising abyss that unfolded between
best practice theory and actual practice within some of the companies under scrutiny.
From an Irish context and from the author’s research, there was little evidence to suggest
that a large amount of academic research had been undertaken to ascertain the attitudes
in small software companies toward best practice approaches in software engineering.
As stated in Chapter 5, a major component of the research was to undertake a survey and
interviews with a number of predefined companies whose existence depends on their
ability to create and developing software solutions for the financial services sector.
A case study was analysed of the same to further scrutinise these findings and broaden
the discussion.
This chapter continues the discussion on the research process by looking at the findings
of the research with the aim of delivering reasonable arguments on the significance of
these findings. The chapter concludes with a reflection on the implications of the
findings for the research questions that have driven the research.
In Conclusion the author intends to provide evidence that support the author’s argument
of how a non best practice SDLC is inhibiting a start-up company in the Case Study
moving to Build and Expansion phase of maturity. This is supported through Pareto
Analysis which measures efficiency levels of the SDLC over a specified period of time
under the As-Is framework.
90
6.2 Survey Findings
A key component of researching this thesis was driven by an interviewing process and a
survey focusing on the software development practices within those companies
identified at the outset.
The survey takes the form of a questionnaire that is highly focussed on the analysis of
relevant areas that relate to different stages of the software development lifecycle
(SDLC). The survey is deemed best practice and is based on the ESSI Software Best
Practice Questionnaire (SBPQ), first developed in 1997.
Once the questionnaires were completed, the author analysed the results to try and
identify the level to which each company conformed to best practice throughout their
software development process, thus identifying the companies that may benefit from a
software process improvement initiative. The benefit of mapping the ISO 15004
framework to the survey was that it gave a further view of specific best practice areas as
responses were being analysed throughout the Survey.
Following this and after acquiring the responses, the author could quickly identify any
trends or specific areas that were common between the companies in their approaches to
software development or software process improvement.
The questionnaire was executed under a number of relevant topic areas that relate very
closely to the sequential steps common with Waterfall software development model. It
was thought that designing the questionnaire around such a model would make it more
recognisable and generic for each of the interviewees. The same questionnaire was used
for each company.
The aim of the survey was to ascertain the level to which a best practice approach to
software development was carried out at each company. From the responses given the
91
author could then report on the implications the current practices (the As-Is approach)
may have on the long term viability and growth prospects of each company.
Rather than report the results verbatim, the author has decided to group the findings
under each of the questionnaire headings. By discussing the findings in this manner, the
author aims to provide a more holistic understanding of the difficulties each company
faces in light of best practice approaches to software development.
6.2.1 Requirements and Design
This section of the Survey contained 6 questions that related directly to requirements
gathering and software design. There wasn’t a large degree of variation between the
companies in relation to the responses provided for each of the six questions asked. In
fact there was only 1 question separating the overall best practice rating between the
Start-up company and the Expansion company.
Similar responses were given also in the ‘Detail’ section after each documented
question. Although many of the design tools being used by the companies [Question 4]
did vary, such as Visio for Start-Ups and SSADM/UML for Build and Expansion
companies, the author is satisfied that Start-Up and Build companies are for the large
part following best practice teachings.
From the findings of this questionnaire, the author is satisfied that as the Start-Up
category company grows, stakeholders will need to make only minor changes to current
Requirements and Design processes to conform fully to best practice, thus emulating
Build and Expansion companies.
92
6.2.2 Code and Test
This section of the Questionnaire contained 9 questions that were aimed at
understanding the Coding and Testing processes at each company. From the responses
given the author was able to ascertain the levels of quality management when carrying
out both Coding and Testing processes. The responses given helped identify the
procedures that were adhered to in relation to coding standards [Question 1], the testing
process such as regression testing [Question 7] and sign off [Question 8].
Unlike requirements gathering in the previous section, these questions have a more
direct bearing on the main operational activities of the development process in each
company. The responses in this section showed that the Expansion company adhered
fully to best practice in its approach to Coding and Testing as deemed by the SBPQ.
Each of the remaining companies measured poorly in the areas such as the use of testing
tools [Question 9] and the practice of regression testing [Question 7].
More alarming though was the poor performance of the Start-Up company in this section
and its failure to adhere to best practice. As well as the above, the Start-Up company
reported that they did not always test every required function [Question 8] when code
changes were made.
The major risk with this is that if the whole system is not fully tested, there is a higher
risk of bugs being found in the software resulting in re-work of the same fix sometime in
the future. If this does happen it can be very frustrating for developers as they are re
doing code, but also for ones customers as they are waiting for additional functionality
but instead get a defected solution.
Overall there was a wide variation in the best practice approach between the Expansion
and Start-up companies. Evidence suggests that the Start-up’s approach is very much ad-
hoc and chaotic (see level 1 CMMI, pg. 57), with no formal process in place which again
is some way of best practice theory and literature.
93
6.2.3 Configuration Management
There were 5 questions asked in this section of the questionnaire. From an
organizational standpoint this is a vitally important area to all software development
companies. Its primary function is to control and record the changes throughout the
software development process by managing documentation such as Test Plans, Code
Review documents and File versioning pertaining to the company during the software
development cycle.
For software companies with several different customers and products it is vitally
important that this function is managed correctly.
In this section the Expansion and Build companies performed well and both recorded a
complete best practice approach to Configuration Management.
The Build/Start-up and Start-Up companies faired poorly. Neither used software tools
for assisting in forward and backward tracing of software designs [Question 4] or
tracking the status of code in the software development library [Question 8].
The Start-up company did not have any formal procedure in place for controlling
changes to software requirements [Question 2] after they have been decided upon in the
Requirements and Design section. Like the previous section this again shows us that
Configuration Management is performed on an ad-hoc basis with no formal sign-of by
key stakeholders throughout this process. In general, the poor performance by the Start-
up is possible attributed to the small number of products and customers it supports.
Both the Expansion and Build companies support a number of products and customers
and as a result they use cross platform software configuration management solutions
(CVS, MKS Integrity) to support this function and its business. As a result the model is
highly scalable with little disruption when new products or customers are added.
94
The Build/Start-up and Start-up companies do not use such a platform as they have a
small number of products, and so see a single platform solution such as Microsoft Visual
Source Safe as being sufficient. However it is important that these companies recognize
that as they grow and win new contracts they too will need a more robust and scalable
configuration management tool to manage this process and conform to best practice.
6.2.4 Estimates and Schedules
There were 8 questions asked in this section that address management functions such as
developing schedules and controlling the overall development process. The focus is also
on managing timeframes and allocating resources to ensure that those timeframes are
adhered to.
In this section the Expansion, Build and Build/Start-Up companies all performed well,
although none of them achieved a full complement of best practice in this section. None
of the companies had a documented process for estimating software size and measuring
productivity [Question 2], or for providing feedback into the estimation process
[Question 5].
Neither the Build nor the Build/Start-up companies conducted actual versus planned
deliverable analysis [Question 6] although there were indications that this was
something they did want to account for in the near future.
More alarming yet again for the Start-up company was evidence suggesting that there
was no form of scheduling whatsoever and a complete lack of control over the
development process. It would appear from the responses given that there is a serious
lack of direction with no clear vision or sense of purpose to the management function.
The only positive response the Start-up company made in this section was [Question 1].
This ad-hoc approach could only be sustainable for a small number of customers and
products.
If the company was to scale up it operations by developing new products and supporting
more customers it would have to conform to a best practice approach with better
communication channels [Question 8] and planning processes [Question 4].
95
6.2.5 Project Management and Training
There were 10 questions in this section. The style and flow of questioning was still
heavily focused on organizational and management functions and as such, is a
continuation from the previous section. The focus of questioning is directly fixed on the
activities of the Project Manager and how he/she co-ordinates activities during each
phase of the development process, i.e. [Questions 1 and 2]. However, there is also a
focus on the relationship between Management and the Customer such and how
management perform reviews [Question 7] and assessing project viability [Question 6].
Like the previous sections, the Expansion, Build and Build/Start-up companies all
performed well; with little variation in the responses they gave. Each of them gave
negative responses for maintaining an awareness of software engineering technology
[Question 5] and also their relationships with external subcontracting companies
[Question 8].
The Build and Build/Start-up’s did not always get formal sign-off for deliverables
[Question 10] which can cause problems and rework if a change is misunderstood. This
can cause major disruption for Build companies supporting multiple products and
customers as they are unnecessarily forced into reworking code.
The Start-up company again performed poorly in light of best practice approaches to
Project Management and Training. There is a trend of poor management practice that
has continued from the previous section that is impacting directly on its software
development process.
The Start-up does not perform any quality assurance measures [Question 3], which again
increases the chances of bugs in applications and resulting in re-work for the
development team. The Training program is not formalized and largely depends on a
few hours with a developer often based on the developer with the least amount of work
on at that time.
96
Again, if the Start-up company wants to grow and scale up its operations, it needs to
look closely at its current practices in the areas of project management and training and
at best aim to adopt some of the best practice initiatives in this section.
6.3 Survey Results
As was anticipated, the gulf in best practice approaches to software engineering
activities is alarming when comparing companies who are in the Expansion phase of
growth and those that are at the Start-up phase. The Table below depicts the results
obtained from the Questionnaire that was conducted with each of the four companies.
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Fineos
Vulcan
Metis
Avaeon
Fineos 83% 100% 100% 75% 80% 84%
Vulcan 67% 78% 100% 62% 70% 74%
Metis 83% 55% 60% 62% 70% 66%
Avaeon 67% 44% 40% 13% 40% 39%
Req. &
DesignCode&Test Config.Mgt Est&Sch
Project.
Mgt
Best
Practice %
Table 6.3.1- Survey Results
To better understand these results, a Case study is presented in the next section to try and
explain where the difficulties are in closing the gap between ‘ad-hoc’ and best practice
software development practices. The author is convinced that start-up companies can
utilise best practice approaches from the outset, thus creating a more scalable iterative
approach to software development as they grow.
97
6.4 Case Study
A major component of the research carried out as part of this thesis is represented
through a case study. This strategy afforded the author the ability to uncover further
details related to the difficulties Start-up company’s have in their ability to adopt a best
practice approach to software development.
The case study is focused on one of the company’s identified in the research. Originally
the author was going to look at each company individually, but as this would be time
consuming and result in a lot of repetition the author decided against this approach.
The following sections introduce the company under discussion such as the number of
employees, customers it has and its typical software development environment. The
author has produced an 'As-Is' framework detailing the current typical software
development life cycle (SDLC) for this company that is consistent with the survey
findings in the previous section.
As part of this case study the author critically evaluates the current model to identify
shortcomings with it based on best practice theory. In parallel, the author presents a ‘To-
Be’ framework that is consistent with best practice theory. This framework is highly
scalable and should be adopted in place of the ‘As-Is’ model to afford the company a
better opportunity to grow in the short to medium term.
6.4.1 Company D
Company D is best described as a small indigenous software company that has been in
business since 2001. Company D employs twelve people, all of whom have IT
backgrounds including the CEO. Company D provides software consulting services to
its clients who are in the financial services industry and are all located outside of Ireland.
98
The duties of a Company D software engineer include code writing, analysis and design,
testing and implementation of functionality as required by its customers. At all stages of
this process Company D employees interact with the clients. This interaction can vary
from sending emails, to answering calls, to spending weeks at a time on site. This
working environment necessitates a thorough knowledge of the entire development
cycle, as well as good communication skills.
Company D’s main source of revenue comes from software support and development
work it does for a large Insurance company in the United States. This is the company’s
sole customer at this time. New Product Development (NPD) is conducted at Company
D and is supported by Enterprise Ireland and also through revenue generated from
supporting its large customer.
The CEO sees NPD as the gateway for developing new innovative products, winning
new contracts and ultimately moving up the value chain.
6.4.2 As-Is Approach at Company D
The Software Development model used by Company D is illustrated in Figure below.
The process begins in the top left corner with the End-Users [Step 1] and finishes in the
bottom right when the Build is applied to the Customers live environment [Step 15].
In this section the author will discuss in detail this process from the time the customer
makes contact with the development company with development requests, to the time
the build is applied to their live environment. Company D sees this model as being both
agile and customer responsive.
Like the previous section the ‘As-Is’ model is discussed under the same headings that
were used in the questionnaire.
100
6.4.2.1 Requirements and Design
The agile approach to software development means the stakeholders in this process must
have a diversity of skills. They act as Support representatives, Testers and Build
managers while all the time performing their duties as Developers, Managers and
Business Analyst.
Contact is made by phone and e-mail. The majority of e-mails come via the company’s
web based Helpdesk [Step 1a], which enables users type their message and send it via a
web service. The Helpdesk logs all problems and reports can be printed to show all
problems by the user reporting the problem, the department affected, the number of
users affected and whether it is a high or low priority etc.
Developers, the Business analyst and Project Manager all field calls [Step 1c]. If a
problem requires a small code fix then a developer will more often than not stop what
they are working on to fix the end users problem.
The Team Meetings [Step 2] and Conference calls [Step 5d] with the Customer is where
all strategic decisions are made and as such, impact directly on the overall SDLC
process.
The PM is responsible for assigning tasks to members of the team and planning out the
weeks work. The CEO has a strong influence on this however and as such has the final
say on all decisions that impact on all processes throughout the SDLC.
The Status Report is written by the PM [Step 4] and is used as a reference guide during
the week by all stakeholders to see those tasks that have been completed and those still
outstanding. The CEO uses it as a performance measurement tool to see who is
performing certain tasks. Approval is often required from the CEO [step 5b] before
coding a particular task or updating items on the helpdesk.
101
After the Status Report is completed, the Business Analyst is responsible for going
through the document and updating the online helpdesk with progress reports on the
items being worked on [Step 5c]. The Analyst also writes specs [Step 6c] for new
features which are then used by the Developers to code the requirements as specified by
the Users.
6.4.2.2 Testing and Coding
As soon as the Team meeting has concluded and work requests have been approved and
assigned, the Developers begin Coding [Step 6a]. The Project manager is also part of the
core development team.
Developers are responsible for writing Test Plans [Step 8a]. The developer uses a Test
Plan as a reference to verify that the code feature works correctly [Step 10a]. When the
Developer is satisfied that the new feature or bug fix is working as intended, they check
in the files they’ve changed [Step 7] and update the Status Report to mark the task as
completed [Step 10b]. There is no designated Testing team at Company D. Testing is
performed by Developers, the Business Analyst with the testing team consisting of the
developers, the business Analyst, the Project Manager and sometimes the CEO [Step
10].
6.4.2.3 Configuration Management
Like the Testing phase of development, there is no defined Build Manager role at
Company D. Instead a developer will double up as the build person for that week and
more often than not it is the Developer who has completed his/her tasks first.
When the Developers have completed all the Test Plans, the Developer assigned to build
duties will apply the build to the development companies Test environment. The Test
102
Plans are then given to the Analyst who acts as the Test Manager to ensure that all the
tasks are tested and work accordingly.
When the build has been fully tested, the Business Analyst signs off [Step 11a] on it and
informs the Build Developer and they in turn release the build [Step 12] and apply it to
the customers Test environment [Step 13a]. The Project Manager is then notified when
the above step is completed [Step 13b].
6.4.2.4 Estimates and Schedules
The CEO often decides on the schedules and estimates based on conference calls with
the Customer [Step 5 d]. Sometimes the Project manager is involved in these meetings to
form opinions on timeframes and any other technical issues.
The Helpdesk and Status Report are the main resource for measuring timeframes as part
of the Analysts role in [Step 5c]. As such there is no formal approach nor are software
tools such as Microsoft Project used to develop schedules.
6.4.2.5 Project Management & Training
Efficiency is measured by how quickly a bug can be fixed or a new feature developed
and applied to the customer site. There is no formal process for measuring employee
performance, call handling, success rate of fixing bugs, amount of re-working bug fixes
etc. The CEO bases all of the above information on what has been documented in the
Status report [Step 5b]. More often than not efficiency is measured by the speed of a
Developer to fix the items assigned to them in the Status report for any given week.
There is no formal process of budgetary provisions allotted for Training and
Development. Training is usually done when somebody new starts at the company. In
extreme cases if the CEO saw a need for training then a course may be arranged, but
more often than not senior developers or the Project Manager will provide training to
new developers.
103
After the Build has been applied to the Customers Test environment the Project manager
will update the Helpdesk and liaise with End-Users on the customer site to ensure items
are tested and signed off on. The sign-off is done by the End-Users marking the items as
completed on the helpdesk [Step14c] or verbally through the project manager. The
Project Manager then informs the Build Developer who then applies the build to the
customers live environment [Step15].
6.4.2.6 Conclusion
Rather than describe the shortcomings with the As-Is approach, the author produced a
table with what he believes are the advantages and disadvantages on the current
practices. Also include in this table is a column that identifies the ISO 15504 process
that is most affected. The table is broken up into five key areas to highlight these
findings. The areas are Customer Contact, Skills, Decision Making, Documentation and
Efficiency.
10Ta
sk
Ad
va
nta
ges
D
isad
va
nta
ges
Im
pro
vem
ent
area
s b
ase
d
on
IS
O
15
504
Fra
mew
ork
Cu
sto
mer
Co
nta
ct
1.
Developers fielding calls directly from end-
users can speed up troubleshooting due to
their technical knowledge of the system
.
1.
Developers
often become
overloaded with
work.
2.
The
SDLC can be
delayed if several
developers, the PM or Business Analyst are
fielding Calls at any one time.
CUS .4 Operation
SUP .8 Problem resolution
Sk
ills
1.
Everybody has a diversity of skills, thus the
SDLC process very cost efficient.
1.
There is little room error e.g. developers not
paying attention to T
esting can result in re-
work and slow down the build.
2.
If one
person is ill the
whole process is
affected.
3.
Absenteeism
can affect staff
morale as
increased pressure and stress is placed on tem
mem
bers to perform
additional tasks.
ENG .1 Development
ENG .2 System
& Software Maintenance
ORG.1 Organisational Alignment
Dec
isio
n
Ma
kin
g
1.
Decision m
aking is quick
2.
The SDLC stakeholders are secure in the
knowledge that decisions that they make
must first be made by the CEO.
1.
By having an ad-hoc decision m
aking process
often m
eans specs don’t fully document the
changes needed later resulting in re-work.
2.
A non dem
ocratic approach to decision
making often affects m
orale as the voice of
the developers is rarely heard.
3.
The
Customer is over reliant
on the
Developing company to make decisions for
them
due to a lack interaction between U
sers
and M
anagers
MAN .1 M
anagem
ent
MAN .2 Project M
anagem
ent
MAN .3 Quality M
anagem
ent
10 Ta
ble
6.4
.1-
Ad
va
nta
ges
an
d D
isa
dv
an
tag
es o
f th
e ‘A
s-Is
’ F
ram
ewo
rk M
od
el
Do
cum
enta
tio
n
1.
A process is in place so that documentation
is produced at the critical stages throughout
the SDLC.
1.
Specs and Test plans are increasingly done on
an ad-hoc basis due to tim
e constraints and
pressure to get fixes out a.s.a.p.
2.
Specs
not
always
signed off on by the
Customer which can lead to re-work.
3.
Test Plans are often w
ritten after the code has
been developed and shipped to Customer.
4.
The CEO has the final say on task assignment
without
fully
understanding
time
that
developers spend Testing and Fielding calls.
SUP .1 Documentation
SUP. 2 Configuration M
anagem
ent
SUP .3 Quality Assurance
ORG. 3 HRM
ENG. 1 Development
Eff
icie
ncy
1.
The process is quick and efficient.
2.
No added pressure on employees once they
complete the item
s assigned to them
in the
status report they are seen to be efficient.
1.
Staff m
otivation is affected as there is nothing
to aspire to. The software development model
is very static and repetitive.
2.
A lack of perform
ance m
easuring tools m
eans
employees have nothing to aspire to; again
there is no incentive to do better.
CUS. 4 Operation
ORG .4 Infrastructure
ORG .5 M
easurement
MAN .3 Quality M
anagem
ent
106
6.4.3 To-Be Approach
In this section the author presents a ‘To-Be’ framework that in his opinion would rectify
many of the difficulties identified in both the questionnaire and with the current
practices under the ‘As-Is’ software development process.
Similar to the previous section, the author will discuss the ‘To-Be’ approach in detail,
from the time the customer makes contact with the development team to the software
build finally being applied to the customers live environment.
The author sees this model as something than can be easily adopted without causing
major disruption or changes to current practices. It is both agile and customer responsive
but more importantly this model can be deemed best practice as it draws on software
engineering literature that has already been documented in Chapters 3 and 4.
Unlike the As-Is framework, the To-Be model places a greater emphasis on individual
skills and functions, thus moving away from the ad-hoc and chaotic processes so
prevalent under the ‘As-Is’ model. For the process to run smoothly it is imperative that
all stakeholders understand their role and communicate effectively. By adding additional
skills and functions to key process area such as Testing and Configuration Management,
the SDLC process will become more efficient, functional and scalable.
6.4.3.1 Requirement and Design
Contact is again made by phone and e-mail but this time a Support person(s) handle end
user queries by providing Level 1 support. If the Level 1 support team can not rectify
the problem, an updated request with specific detail on the problem is then forwarded on
to Level 2 Support [Step 1d] consisting of the Developers and/or the Business Analyst.
At this point the problem will be discussed and assigned to a Developer based on the
Project Manager’s decision [Step 2/3].
108
The Team Meetings [Step 2] and Conference calls [Step 5d] with the Customer is where
all strategic decisions are made that impact the SDLC process. This is discussed in
greater detail under the Project Management section.
The Status Report is written by the PM [Step 4] and updated during the week by all
stakeholders as tasks are completed. The Project Manager should use this to detail work
done and work completed. A summarized report should then be given to the CEO so he
can get a snapshot of work being done.
Once the Status Report is completed, it is proposed that a Support Representative be
responsible for going through the report and updating the online helpdesk with progress
on the items being worked on [Step 5c]. By having the Support Representative do this,
the Business Analyst can dedicate more time writing up specs [Step 6c] and ensuring all
necessary details are acquired before coding commences, which is more inline with the
duties of a typical Business Analyst.
6.4.3.2 Code and Test
Like the As-Is framework, the Developers begin coding once Team meeting has
concluded and work requests have been approved and assigned by the Project Manager.
The proposed ‘To-Be’ model however does not advocate that the Project Manager take
part in code development as this can create work overload for him/her which can later
result in inefficiencies in other that the PM is directly responsible for. In a similar vain,
the Business Analyst and CEO are not seen as key members in the Testing function
[Step 13 a].
Again, Developers are responsible for writing Test Plans [Step 10a]. The developer uses
Test Plans as a reference to verify that the code feature works correctly [Step 10a].
When the Developer is satisfied that the new feature or bug fix is working as intended,
they update and check back in the files used [Step 9] and update the Status Report to
mark the task as completed [Step 10b]
109
Having a dedicated Test team will ensure that the Developers, the Analyst and Project
Manager have more time to perform their duties to a very high standard and thus follow
a best practice approach throughout the SDLC process. The poor performance in both
the organizational and management areas throughout the responses in the questionnaire
produced significant evidence that duties within these areas were being ignored.
The Project Manager needs to introduce a formal testing process that includes
regression, black box and white box testing. This is in line with [Question 8] in the
Questionnaire and will reduce the risk of reworking code, as will be shown in following
sections to be a major problem from the company.
If a code defect of bug is found during the testing process, the Tester sends a request
[Step 13b] to the developer responsible so that they can fix the problem, before the build
is released [Step 15]. The test team should also develop tools for replaying tests so as to
improve the efficiency of the testing process, which again is in line with best practice,
[Section 2 - Question 9] of the questionnaire.
6.4.3.3 Configuration Management
Like the Code and Testing phase of development life cycle, the ‘To-Be’ model is
proposing a defined role of Build Manager to coordinate activities in this are of the
SDLC. The Build Manager should be responsible for managing the code as soon as it is
checked in by he developers [Step 9], maintaining the Test and Live servers and
providing feedback to the Project manager on the status of a build at any given point in
time.
The Build manager should also be responsible for maintaining documentation with
evidence from the survey again suggesting that this has proved a difficult area under the
‘As-Is’ approach, [Section 3- Question 2].
110
The ‘To-Be’ model also supports the idea of having a Build and Test Manager at the
customer site to be responsible for maintaining the server their and ensuring that all code
changes are fully tested and signed off on, before they are applied to the live
environment. The main advantage of this under the ‘To-Be’ model is that the software
development life cycle becomes highly scalable. When more additional contracts are
signed and more customers are brought on line, they can now be easily supported
without little disruption to the current SDLC. Also the Customer has better control of
their environment as they are not solely dependent on the development company to their
environment which again, this is consistent with ASD best practice, see Chapter 3 pg.
52, point 5 (Highsmith, 2002).
6.4.3.4 Estimates and Schedules
Both the Build and Test managers at the customer site will work closely with their
counterparts from the development company to decide on schedules of when to apply
builds etc. This can allow for better planning through the SDLC and better
measurements of the time it takes to fully test and apply builds can be achieved. Again,
these were problem areas under the ‘As-Is’ model and addressed in the questionnaire,
[Section 4 – Questions 3 and 4].
The ‘To-Be’ model also proposes a better working relationship between the Project
manager and the CEO [Step 5e]. Both need to work together on organisational and
management functions such as those outlines in [Section 4 –Question 7] of the
questionnaire. The structures set out in the areas on Coding and Testing and
Configuration Management also relieve the Project Manager of many of the additional
functions he endured under the ‘As-Is’ model.
Adopting this approach will ensure allow for more realistic timeframes, better allocation
of resources and manpower and will also allow the CEO a better understanding of
earned value project tracking, [Section 4 – Question 6], this is consistent with ASD best
practice, see Chapter 3 pg. 52, points 1 and 2 (Highsmith, 2002).
111
6.4.3.5 Project Management and Training
The Project Manager is responsible for assigning tasks to members of the team and
planning out the weeks work. Unlike the ‘As-Is’ model the ‘To-Be’ model proposed that
the Project Manager also co-ordinate activities with the CEO and provides more
frequent updates on resources needed or additional Training needs [Step 5e] that he sees
important or beneficial to the overall Development team.
Both the CEO and the Project manager should conduct project reviews with Customers
and the Customer should also consult with stakeholders on their side to get feedback on
any issues that may arise [see top right hand corner of To-Be Framework model].
This would allow better decision making, [Section 5 –Question 7], and a more
democratic approach to decisions made where the Project Manager’s for the
development and customer sites act as the voice for each of their teams.
Another area where the ‘As-Is’ model falls short is in the area of sign-off and handover,
addressed in [Section 5 –Question 10] of the questionnaire. Again with the Business
Analyst now relieved of many of the duties they had under the ‘As-Is’ model they can
now introduce a formal process where the , the Project Manager and Customer are more
involved [Step 6d, 6e and 7] in ensuring that all details is documented in Specs before
coding commences.
6.4.3.6 Conclusion
Similar to the last section, the author has produced a table with what he believes are the
main advantages and disadvantages of introducing the ‘To-Be’ model. Again, the table
is broken up into five key areas to highlight these findings. The areas are Customer
Contact, Skills, Decision Making, Documentation and Efficiency.
11Ta
sk
Ad
va
nta
ges
D
isad
va
nta
ges
Im
pro
vem
ent
are
as
ba
sed
o
n IS
O
15
50
4 F
ram
ewo
rk
Cu
sto
mer
Co
nta
ct
1.
Developer time spent on writing code and testing
bugs
would increase as Support people are
now
providing Level 1 support to end users.
2.
Job satisfaction w
ould improve as D
evelopers are no
longer under so m
uch pressure to field calls.
3.
Customer satisfaction w
ould improve as problems are
handled m
ore professionally.
4.
The
process is a
lot easier to manage
and any
problems can be dealt with quickly.
1.
Cost of hiring additional staff.
CUS .4 Operation
SUP .8 Problem resolution
Sk
ills
1.
The Structure is highly scalable and less chaotic. The
To-B
e structure can support m
ore customers using the
same process as the company grows.
2.
Less stress on employees to perform
a m
ultitude of
activities in their working day.
3.
Clearer job specification and better planning w
ithin
the SDLC process.
4.
Customer has greater control of their business.
5.
Less chance of Bugs slipping through the net as there
is no a structured Testing procedure in Place.
1.
The Cost of hiring additional staff.
2.
Training Safew
ay staff to handle builds
and
monitor testing procedures.
3.
Initially, the process m
aybe perceived as slower.
ENG .1 Development
ENG
.2
System
&
Software
Maintenance
ORG.1 Organisational Alignment
Dec
isio
n M
ak
ing
1.
Better decisions will be made as they are thought out
better at all stages of the SDLC process.
2.
Having Safew
ay sign off on every Spec [Step 6c]
encourages them
to be more thoughtful about the
1.
Decision M
aking process is slower than the As-
Is m
odel.
2.
The CEO m
ay not be happy at relinquishing so
much control.
MAN .1 M
anagem
ent
MAN .2 Project M
anagem
ent
MAN .3 Quality M
anagem
ent
11
business im
pact a code change could have on their
business.
3.
Reduction in re-doing code fixes as decisions are
thought out better.
4.
All Stakeholders are involved in decision m
aking thus
motivating the team
.
Do
cum
enta
tio
n
1.
Producing documentation at all stages creates a m
ore
robust SDLC process that can be traced from start to
finish.
2.
Easy to train new
employees instead of just throwing
them
straight into the SDLC process.
3.
Easy for CEO and PM to m
easure tim
e spent on code
and bug fixes as there is now a complete trail of
signing off on Specs etc.
4.
More transparent for the Customer as they see w
hat
exactly they are being billed for and agreeing to.
1.
The
development
process can be
slower if
signoff is not agreed on Specs in a tim
ely fashion
or if Test plans are not completed.
2.
Tim
e taken to w
rite training m
anuals and new
process to support the To-B
e model.
SUP .1 Documentation
SUP. 2 Configuration M
anagem
ent
SUP .3 Quality Assurance
ORG. 3 HRM
ENG. 1 Development
Eff
icie
ncy
1.
Reliable inform
ation readily available to make
inform
ed decisions.
2.
Using Perform
ance measurement
techniques can
stim
ulate em
ployees
to work harder and achieve
higher level goals.
1.
Perform
ance
measurement
can
be
time
consuming and slow down the SDLC process
2.
Relying too heavily of perform
ance techniques
can have
an adverse affect on em
ployee
motivation if scrutinized too m
uch.
CUS. 4 Operation
ORG .4 Infrastructure
ORG .5 M
easurement
MAN .3 Quality M
anagem
ent
Ta
ble
6.4
.2 -
Ad
va
nta
ges
an
d D
isa
dva
nta
ges
of
the
‘To
-Be’
fra
mew
ork
Mo
del
.
114
6.4.4 The ‘As-Is’ Model in Practice
When presented with the ‘To-Be’ framework model, the current stakeholders at
Company D agreed that by having formal procedures in the areas of testing, sign-off
and support would in all probability improve current production and motivation levels.
The CEO however was a bit more sceptical and took the view that some of the proposed
initiatives would be seen bureaucratic and would ultimately slow down the SDLC
process. To him, the “As-Is” approach is seen to be cost efficient, productive and
customer responsive.
It is apparent that the chances of reworking code are a lot higher under the ‘As-Is’ model
when compared to the ‘To-Be’ model. Reworking a software requirements problem once
the software is in operation typically costs 50 to 200 times what it would take to rework
the problem in the requirements stage (Boehm & Papaccio, 1988).
To illustrate the high level of code re-working under the ‘As-Is’ model the author has
compiled data from several Status Report over a given month and mapped this data onto
a Pareto chart to try to ascertain the high levels of code rework at Company D. See the
figure on the next page.
By applying the 80:20 rule it was possible to identify specific areas in the software
application that were the focus of both bug code fixes and new code features (Appendix
D). This was further broken down to identify specific areas with the system that were
causing the greatest amount of code rework and so by concentrating on those areas,
improvement in quality and development times could be achieved.
Once armed with this information the Project Manager now needed to rectify the
problems and find answers to the following questions;
� Why was the level of code reworking so high?
� Who was responsible for these code changes?
115
� What Testing was carried out and by whom?
� Why was Testing so inefficient?
� Who Signed-off on Testing?
� Were Spec’s written for the Changes?
� Were these changes made during busy times? .i.e. high level of call handling
from users?
6.4.4.1 Pareto Analysis Results
The diagram on the next page plots out the Frequency levels (X axis) for which the
problems occur with the (Y-axis) detailing the areas of the system affected. The data
used in performing this analysis can be found in Append E.
The analysis tells us that by concentrating on the first 3 areas of the system (Other,
Rating and Cancels) and greater improvement in software quality would be realized
than concentrating on the last 3 areas on the graph (MVR, Renewals and VIN)
Item 3 - Bug Frequency
This indicator highlights the levels of Bugs in the application and their direct impact of
the software application. The areas of Other and Rating are high at 54%, VIN is at 80%
but Cancels, MVR and Renewals are at a staggering 100%. At this point the Project
Manager should be concentrating all efforts on eliminating those areas at 100%, to
realize the greatest production levels, based on the 80:20 rule.
Item C - Re-Work
The VIN Column shows that there was a 100% re-working of code. This means that all
the Code Requests reported for this period of time, had previously gone out as part of
another bug fix. Again, this needs to be addressed by the Project Manager immediately
so that such defects can be eliminated thus ensuring SDLC process operates more
effectively and software produced is of better quality.
11
Fig
ure
6.4
.3Data Analysis Pareto Chart
See
Ap
pen
dix
D f
or
All
Da
ta p
erta
inin
g t
o t
he
ab
ov
e M
od
el.
Pareto Chart. (Task/Work Analysis)
54%
54%
100%
100%
100%
80%
39%
57%
70%
81%
91%
100%
33.30%
73%
50%
43%
33.30%
0%
12.50%
27%
50%
57%
66.60%
100%
05
10
15
20
25
30
Other
Rating
Cancels
MVR
Renewals
VIN
Area of System Causing Problem
Frequency
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1. Frequency
2. Cumulative Frequency
3. Frequency Bugs
A. Cumulative Frequency
B. New Issue
C. Re-W
ork
117
Measuring performance using simplified metrics such as this do not exist under the “As-
Is” model. But by simply analyzing work conducted over a period of time it is easy to
identify areas that need to be addressed and so improve the software development
process. This also conforms to best practice based on Part 3 of the SBPQ, see page 66.
6.5 Conclusion
The findings from the Pareto Analysis is further is evidence that the recommendations
presented by way of the proposed ‘To-Be’ model need urgent consideration. The author
is convinced that additional resources in such areas as support, testing and spec sign off
would greatly improve the current SLDC and dramatically improve the chaotic approach
that is prevalent throughout the ‘As-Is’ model.
In the long term, the Project Managers ability to keep staff motivated under the “As-Is”
regime will be difficult with already a growing feeling of discontentment within the
group. Some members of the team do not find the work varied enough and as a result are
less motivated to perform better. This could explain why code is of poor quality as was
presented in the Pareto Chart. When people feel they are moving forward, learning new
concepts, adding to their skill base, and stretching their minds, motivation tends to
remain high (Grazier, 1998)
The “To-Be” model can help achieve a better working environment by providing better
collaboration between team members and the customer with the goal being the delivery
of a better quality end product. Teams whose members are aligned with this goal will be
more motivated.
Researchers (Turner and Boehm, 2004) have implemented mappings between agile
software development and plan driven development such as the Software Engineering
Institute’s (SEI) and Capability Maturity Model Integration CMMI (SEI, 2002), already
discussed in Chapter 3. Microsoft sought to achieve a full life cycle method that was
truly agile but that met the requirements for CMMI to level 3. (Microsoft, 2005b)
118
(Chrissis, 2003) defines CMMI as a model which is intended to take an organization to a
level where continuous improvement in productivity and quality is possible. The ‘To-
Be’ model presented by the author in this chapter should be used as Company D’s
improvement model. Not just Company D, but all Start-Up companies need to awaken
from ‘ad-hoc’ development and management practices. Bearing in mind the 5 levels of
CMMI, Start-up companies need to elevate themselves from level 1 to levels where
there is an increased emphasis on creating a disciplined approach to project management
that can be deemed best practice.
The author is confident that the ‘To-Be’ framework would be a beneficial to Company D
and would eliminate a lot of the shortcomings with the current ‘As-Is’ model, as it offers
the agility they are used too while being detailed enough to communicate better and
provide more feedback channels so all stakeholders are aware of what is happening at
any stage of the SDLC. All of this is consistent with the 12 practices pf XP on page 48
and also the characteristics of Agile Methods on page 44.
The biggest challenge for Company D and Start-up companies like it, is the ability to
change both the organizational structures and management culture so that they
understand that by not following a disciplined best practice approach preventing these
companies moving to Build and Expansion phases of maturity. In the opening section of
Chapter 3, the author made the point that in general, the lack of direction in
organizational and management activities within Start-up companies is increasing the
time it takes for them to make the transition to Build and Expansion companies.
The author is again satisfied that the ‘To-Be’ can create an environment for quickly and
easily making this transition. Start-ups like Company D can enjoy good customer
relations where satisfaction and quality levels are high, but also have a highly scalable
SDLC process capable of supporting multiple customers and products. (Kanter, 1991)
offers six rules that inhibit innovation in organizations. Those that impact directly on a
companies ability to grow are managing tightly, offering criticism and an attitude that
119
management knows everything there is to know. These are characteristics of the As-Is
model.
There is no doubting the technical capabilities and knowledge that exist in many
software start-ups, but is important that organizational and management functions are in
place for these companies to grow.
120
CHAPTER 7 – CONCLUSIONS
7.1 Introduction
The research conducted as part of this thesis has examined the attitudes of Start-up
software development companies adopting a best practice approach throughout their
(SDLC). In order to provide a solid basis for the research, the literature was heavily
focused on such topics as Software Development models and Software process
Improvement models, with both areas providing an insight into frameworks that follow
best practices. As both areas come under the Software Engineering umbrella, the author
considered it appropriate to describe in brief the history of software engineering and also
the role of software engineers involved throughout the software development process.
The literature review had to be limited due to the large volume of information available
on the chosen topic areas. This was a difficult exercise as the author initially found it
hard on deciding what material to exclude and what material to include.
To overcome this difficulty the author decided early on the type of research questions
that needed to be asked in relation to what was being researched. With this in mind, the
author concentrated the literature review around the areas that where under scrutiny, i.e.
Software Development and Software Process Improvement.
It was during the literature review that the author discovered the ESSI SBPQ. This
helped provide a more focused researching of best practice techniques that later
impacted on the direction the author took in relation to the research methods used in
Chapter 5 and the data analysis in Chapter 6.
The purpose of this chapter is to present a retrospective evaluation of the research
carried out and discuss the results of the empirical study in more general terms than the
previous chapter. The author also explores new directions for further research in this
area and suggestions are made for the way forward.
121
7.2 Results of the Study
The objectives of this thesis were set out at the very beginning (Chapter 1, page 15). The
author is satisfied that the objectives laid down here have been achieved. The research
identified a number of issues in relation to the implications of the current software
development practices of the chosen Case Study and that evidence would suggest that a
best practice approach would improve the company’s current strategy.
Based on the research questions asked on Chapter 1, page 15, the author is now prepared
to focus on the main findings of the research under the following headings.
7.2.1 Government Support of the Irish Software Sector
Chapter 2 provided research that identified the various levels of support that is available
to companies involved in software development. The government is committed to
developing Ireland’s software sector through the development of research and
development capabilities and encouraging innovation in start-up companies as discussed
in Chapter 2 page 29.
Instead of competing against low wage countries for low level coding and maintenance
contracts, the governments focus is on encouraging start-up companies to target niche
software products and services that generate greater value to the economy and the
companies themselves.
Many research centres have been established such as the ISERC at UL, DERI in
Galway, with millions of euro available in funding to further develop this initiative.
Ireland’s low rate of tax plays a major role in attracting, retaining FDI and developing
the software industry. The establishment of the Irish Software Association (ISA) has
helped to promote, lobby and consult with the software industry and the Irish
government in matters relating to the ITC sector.
122
Although the ISA recognizes the support afforded to the industry as a whole, there is a
strong belief among many industry experts that the procurement of contracts from the
government to smaller software companies is preventing them from growing.
Evidence from the UK supports the view that providing such contacts to these
companies can help them grow and seem more attractive to potential customers as they
are already providing custom to the government.
Although not dismissing this fact, the author is of the opinion that the inability of start-
up companies to adopt a best practice approach throughout their software development
life cycle model is the underlying factor that is preventing these companies from
growing. The adoption of best practice techniques will, in the long run prove to be the
principal base that will make companies more scalable, productive and attractive to
customers so they can mature to Build and Expansion companies.
7.2.2 Benefits of Best Practice Approaches throughout the SDLC
The framework proposed by the author is in his view, applicable to any Start-up
software development company as a means of eliminating irrational, redundant and
counter productive activities. By having a central figure or focal point in each of the five
development phases of the To-Be framework, the grouping of activities improves by
ensuring that the necessary work is completed without oversight, thus increasing
productivity and quality.
By having a division of labour where different tasks are completed by key personnel
throughout the SDLC phases, the Project Manager can now manage and plan, thus
ensuring a high level of best practice throughout. The added benefit of this model relates
to how Start-ups can use the Framework it represents to allow them scale up operations
as they grow through developing new products and winning customers, without having
to reorganise the company each time a new product or customer comes on line.
123
This facilitates interchange-ability among developers and project managers within the
company, as they may later be re-assigned to different projects as extra skills for
example are needed on new projects.
As already mentioned in the previous section, the ISA have urged the government to
procure software from Start-up companies, but as stated the onus should inevitably be on
the companies to be more professional with more formal methodologies so that they can
show they can produce quality software in a timely fashion.
History has shown that the field of software engineering has since its inception come
under criticism for the failures of companies to adopt a formalised best practice
approach throughout the SDLC. Evidence from this thesis supports this view, with not
only Start-up companies affected, but also companies in Build and Expansion phases of
maturity, albeit not to the same extent as Start-Up’s.
7.3 Research Limitations
The main factors that limited the research of this thesis relate to time and resources.
These limitations had a direct bearing on the specific focus for the research .i.e. software
development companies operating in the financial services field, which meant that only a
small number of companies were surveyed and one of these provided the case study
research. It would have been interesting and no doubt more revealing to have had a
larger sample of interviewees to allow for deeper analysis.
The research was limited by the requirement to collect as much information as possible
in a very short period of time as the author was conscious not to discourage potential
respondents with long interviews and time consuming questionnaires.
124
7.4 Further Research
Inevitably, the research from this thesis has revealed areas that are worthy for further
investigation. Whilst it has achieved its aim of investigating the affects of ad-hoc
approaches to software development in a Start-up company environment, more specific
research could be carried out on a number of important areas that have been revealed.
Theses issues don’t relate directly to the awareness of ad-hoc and chaotic practices in
Start-up companies, but to the mentality that seems averse to changing these practices.
This could be more a sociological factor rather than poor strategic management
practices, so this could be an area open to further and more deeper research than was
presented here.
Another area that in the author’s opinion may need further research is in the area of
training and development through government and state agency initiatives. Although
slow to criticise the government based on the financial support it is providing to Start-up
companies and research centres throughout Ireland, the author does feel that there are
areas that do need further researching.
One example of this is the continual reference made in newspapers, journals and the
media of the government and Enterprise Ireland’s allocation of funds for Start-up
companies and research centres, (DETE, 2006a, Silicon Republic, 2005). But this
support does not consider whether or not best practice techniques are being practiced by
these Start-up companies. The author feels strongly that this is an area that deserves
further research.
It is his view that if State support groups are providing financial support for Start-up
companies, that in return they have the right to demand that these companies adopt best
practice approaches. Maybe then, the strategy of trying to create awareness through
Enterprise Ireland’s Conference on Effective Software Development is no longer needed
as policies and support are in place from the outset.
125
7.5 Conclusion
It is impossible and wrong for the author to suggest that the Framework presented in this
thesis is applicable for all Start-up software companies and will dramatically improve
their existing ad-hoc practices. Nevertheless, he is confident that it will help bring them
more in line with best practice, make them more scalable and in the long term, position
them better in the market for winning new contracts.
On reading this thesis, the author hopes that managers of small Start-up companies can
relate to some of the findings and realise that operating in a ‘realm of darkness blissfully
unaware of rudimentary concepts of structured analysis and design, (Yourdon, 1991)
need not be the way they do business.
The field of software engineering does not advocate one methodology to ensure best
practice throughout the SDLC. If it did then all companies, regardless of their size would
adopt that model and stick with it. The findings from the authors research through the
questionnaire was further evidence of this, as no company had a 100% best practice
record for all five areas examined, (see Chapter 6 pg. 96).
What this thesis is advocating though, is that there are many different approaches to
Software Development and to Software Process Improvement. Understanding that Start-
Up companies neither have the time, money or resources to be CMMI compliant from
day 1, the author believes they can however take a simplified iterative model and adapt
it so that it is best practice, scalable, customer responsive and ensures quality such as the
To-Be Framework model presented in this thesis.
These findings are not just limited to software companies operating in the financial
services sector. The author is confident that Start-up and even Build and Expansion
companies operating in different sector such as the telecoms and medical sectors can
identify with this model and adapt it to their specific needs.
126
References and Bibliography
Ambler, S. (2002) Agile Modelling. The Official Agile Modelling (AM) Site.
http://www.agilemodeling.com. Visited Aug 9th 2006.
Barry, F. (2003) “Tax Policy, FDI and the Irish Economic Boom of the 1990s”,
forthcoming in Economic Analysis and
Barry, F., and J. Bradley (1991) "On the Causes of Ireland's Unemployment", Economic
and Social Review, 22(4), 253-286.
Boehm, B. and Turner, R. (2004) Balancing Agility and Discipline: A Guide for the
Perplexed. Boston: Addison-Wesley, 2004.
Boehm, B. and Papaccio, P. (1988) "Understanding and Controlling Software Costs,"
IEEE Transactions on Software Engineering, v. 14, no. 10, October 1988, pp. 1462-
1477.
Boehm, B. W., (1988), IEEE Computer, Vol. 21, No. 5, pp61-72.
Bryman, A. and Bell, E. (2003) Business Research Methods. Oxford 2003.
Breaking News.ie. (2002). Datalex finance director to resign
http://archives.tcm.ie/breakingnews/2002/05/09/story49485.asp
Breaking News.ie (2001) Baltimore to shed 30 Irish jobs
http://archives.tcm.ie/breakingnews/2001/08/22/story21536.asp
Carver, J.C. (2003) The impact of background and experience on software inspections,
PhD thesis, University of Maryland.
127
Chrissis, M.B., Konrad, M. and Shrum, S. (2003) CMMI – Guidelines for Process
Integration and Product Improvement, SEI Series in Software Engineering, Addison
Wesley, Boston, MA 2003.
CMMI Product Team. (2002) Capability Maturity Model Integration (CMMI), Version
1.1: CMMI Software Engineering. Software Engineering, Integrated Product and
Process Development, and Supplier Sourcing, CMMI-SE/SW/IPPD/SS, V1.1 Carnegie
Mellon University Software Engineering Institute, Pittsburgh PA.
Coad, P., Lefebvre, E. and De Luca, J. (1999) Java Modelling in Color with UML:
Enterprise Components and Process, Chapter 6, Prentice Hall, 1999.
Cockburn, A. (2001) Agile Software Development, 1st edition, December 2001, pages
256, paperback, Addison-Wesley Professional,
Collins, J. (2005). The Sunday business Post. Supporting the Software Sector
Curtis, B. & Paulk, MC. (1993) Creating a software process improvement program,
Information and Software Technology, vol. 35, no. 6/7, pp. 381 -6.
Denscombe, M. (2003) The Good Research Guide. 2nd ed. Maidenhead: Open
University Press.
Dertouzos, M. (1999) Four Pillars of Innovation. MIT’s Magazine of Innovation
Technology Review. Nov-Dec.
DETE. (2003). National Employment Action Plan Ireland 2003-2005 Department Of
Enterprise Trade and Employment October 2003
http://www.entemp.ie/publications/labour/2003/nationalemploymentactionplan.pdf
128
DETE. (2006a) Department of Trade and Employment. Enterprise Ireland Supports 75
New High Growth Potential Start-Ups in 2005.
http://www.entemp.ie/press/2006/20060202a.htm
DETE. (2006b) Ireland and India move to boost collaboration on software.
http://www.entemp.ie/press/2006/20060119d.htm
DETE. (2006c) Ireland and India move to boost collaboration on software. New
opportunities for Irish software companies in Asia.
http://www.entemp.ie/press/2006/20060119d.htm
DETE. (2003) National Employment Action Plan Ireland 2003-2005.
http://www.entemp.ie/publications/labour/2003/nationalemploymentactionplan.pdf#sear
ch=%22employment%20rising%20from%201.15%20million%22
Donnellan, E. and Reid, L. (2005) Millions overpaid to health staff under new pay
system, The Irish Times, 5 October, 2005 p. 1.
http://www.ireland.com/newspaper/front/2005/1005/574573571HM1PAY1.html
DRA. (2006). Dublin Regional Authority. Regional Newsletter Jan 2006
http://www.dra.ie/PDF/Newsletter-01-
06.pdf#search=%22employing%20over%20129%2C000%22
DSDM, (1998) Guidelines for introducing DSDM into an Organisation.
http://agilealliancebeta.org/system/article/file/902/file.pdf
Dutta, S. Lee, M & Van Wassenhove, L (1997b), Management practices for Software
excellence: an empirical investigation, 97/32/TM, INSEAD, Fontainebleau, France.
129
Dutta, S & Van Wassenhove, L. (1997a) An empirical study of adoption levels of
software management practices within European firms, 97/118/TM, INSEAD,
Fontainebleau, France.
Dutta, S. Lee, M & Van Wassenhove, L. (1999) Software Engineering in Europe: a
study of best practices, IEEE Software Vol. 16, no.3, pp.82-90.
Electric News. (2005a). Government ups spending on high-tech R&D
http://www.electricnews.net/news.html?code=9574047
Electric News. (2005b). Straight Talk: Michele Quinn, Irish Software Association
http://www.enn.ie/frontpage/news-9646637.html
Electric News. (2006). Healthy quarter for Irish tech investment
http://www.enn.ie/frontpage/news-9678523.html
Enterprise Ireland. (2005) Irelands Economic Profile.
http://www.enterprise-ireland.com/NR/rdonlyres/2FC1B0E8-3641-495E-A541-
362FB8E841A0/0/EconomicProfleOctober20.pdf#search=%22the%20population%20is
%20expanding%20at%20over%2080%2C000%22
ESSI (1997a), 1997 Software Best practice Questionnaire: Analysis of Results,
European Software Institute Bilboa.
ESSI (1997b) SOFTWARE BEST PRACTICE QUESTIONNAIRE Directorate General
III - Industry EUROPEAN COMMISSION
http://cordis.europa.eu/esprit/src/essi-qn.htm
Eurostat. (2004). Statistical Yearbook, pg. 158,
http://epp.eurostat.cec.eu.int/cache/ITY_OFFPUB/KS-CD-04-001-8/EN/KS-CD-04-
001-8-EN.PDF
130
Company A. (2003) Digital Ireland, February 2003.
http://www.Company
A.com/news_events/media_coverage/2003/feb_2003/digital_ireland.htm
Forfas. (2004). Enterprise Strategy Group Report [Ahead of the Curve, Ireland's Place in
the Global Economy].
http://www.forfas.ie/publications/esg040707/pdf/esg_ahead_of_the_curve_chapter1.pdf
Forfas. (2006) International Trade & Investment Report 2005
http://www.forfas.ie/publications/forfas060220/webopt/forfas060220_trade_and_invest
ment_webopt.pdf
Gainer, J. (1998) May edition of the itmWeb Report Critical Path: Applying the
Capability Maturity Model. http://www.jeffgainer.com/cmm_applied.html
Gallivan, M.J. (1997) Value in Triangulation, a comparison of two approaches for
combining qualitative and quantitative methods.(quoted in Lee, A., Liebenau, J. and
DeGross, J Information Systems and Qualitative Research, Chapman and Hall pg. 417-
43.)
Gazier P. (1988) Team Motivation. EI Network January, 1998.
http://www.teambuildinginc.com/article_teammotivation.htm. Accessed June 2th 2005.
Goldesson, D.R & Gibson, D. (2003) Demonstrating the impact and benefits of CMMI:
an update and preliminary results, CMU/SEI-2003-SR-009, Software Engineering
Institute, Carnegie Mellon University, Pittsburgh.
Highsmith, J. (2002) Cutter Consortium What Is Agile Software Development?
http://www.stsc.hill.af.mil/Crosstalk/2002/10/highsmith.html
131
ICT. (2006). Ireland Budget Submission.
http://www.ictireland.ie/Sectors/ict/ictDoclib4.nsf/245d0de7e513aed980256ed70051372
1/3ac2688df0c775ff802570b9003de052/$FILE/ICT%20Ireland%20Budget%20Submiss
ion%202006%20FINAL.pdf
IEEE Std. 610.12. (1990) Standard Glossary of Software Engineering Terminology,
IEEE, Piscataway,N.J., 1990.
ISO/IEC. (2002) Information Technology - Software Life Cycle Processes : Amendment
1, ISO/IEC 12207 AMD 1
ISO/IEC PDTR 15504. (1996) Information Technology - Software Process Assessment:
Parts 1- 9.
ISO/IEC TR 15504-2. (1998) Information Technology - Software Process Assessment -
Part 2: A Reference model for processes and process capability, ISO/IEC TR 15504-
2:1998(E).
ISO/IEC TR 15504. (1998) Information Technology - Software Process Assessment
Parts 1-9 ISO/IEC TR 15504-9:1998(E).
Iversen, J., Johansen, J., Nielsen, P.A. and Pries-Heje, J. (1998) Combining quantitative
and qualitative assessment methods in software process improvement. Proceedings of
the 6th European Conference on Information Systems (ECIS), Aix-en-Provence, France
pg. 451-66.
Johansen, J. (1999) Lessons learned in a National SPI Effort. The Danish SPI initiative:
Centre for Software Process Improvement. DELTA Software Engineering, Denmark
http://www.iscn.at/select_newspaper/surveys/denmark.html
132
Jones, Capers, ed. (1986) Tutorial: Programming Productivity: Issues for the Eighties,
2nd Ed. (Los Angeles: IEEE Computer Society Press), 1986.
Kanter, R. (1991): Improving the development, acceptance, and use of new technology:
organizational and interorganizational challenges. Pp. 15-56 in National Academy of
Engineering and National Research Council, People and Technology in the Workplace.
Washington, D.C.: National Academy Press.
Kanter R. (2002) Driving Corporate Entrepreneurship. By: Kanter, Rosabeth Moss;
Ingols,Cynthia; Morgan, Erika; Seggerman, Tobias K. . Management Review ,Apr87,
Vol. 76 Issue 4, p14
Kuvaja, P. and Bicego, A. (1994), BOOTSTRAP A European Assessment Methodology,
Software Quality Journal, June.
Labanyi, D. (2005) Garda computer summonses thrown out. The Irish Times Sept 28th
2005.http://www.ireland.com/newspaper/motoring/2005/0928/1524210185MOT28_P1_
LEAD.html
McCracken, D. and Jackson, M. (1981) A minority dissenting position. In Agresti, W.
(1986) New Paradigms for Software Development. IEEE Computer Society Press,
Washington DC.
McGuire, T. (2005) The Post.ie. IT debacle exposes myth that big is better.
http://archives.tcm.ie/businesspost/2005/10/09/story8650.asp
Microsoft. (2005) Solutions Framework for Agile Software Development.
http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile Accessed June 6th 2005.
Morck, R., Acs, Z., Yeung, B. (2001) Entrepreneurship, globalization and public policy.
Journal of International Management, 7: 235-251.
133
Morrison, J. and George, J.F. (1995). Exploring the software engineering component in
MIS research. Communications of the ACM, vol. 37, no. 7, page 80-91
Moores, S. (2005) Something’s rotten in the software economy. The future's not so
bright.
http://www.silicon.com/research/specialreports/compliance/0,3800003180,39152796,00.
htm
Mulqueen, T. (2005) Future Soft, A look at the future for Irish software development.
http://www.techcentral.ie/corporate_it/Future_Soft/view
Musgrove, M. (2004) Washington Post: IBM Sells PC Business to Chinese Firm in
$1.75 Billion Deal http://www.washingtonpost.com/wp-dyn/articles/A45273-
2004Dec7_2.html
NERA Economic Consulting. (2005) A Study of the Benefits of Public Sector.
http://www.supplyinggovernment.gov.uk/repositoryDownload.asp?SITE=SRG&SOUR
CE=N&ID=631
NTMA. (2005) Ireland Information Memorandum March 2005, national Treasury
Management agency. http://www.ntma.ie/Publications/2005/NTMA_Info_05.pdf
OECD. (2002) OECD Information Technology Outlook ICT and the information
economy 2002. Paris 2002.
Paulk, M., et al. (1994) The Capability Maturity Model for Software: Guidelines for
Improving the Software Process. Reading, MA: Addison- Wesley, 1994.
Paulk, M. (2002) Agile Methodologies and Process Discipline, Crosstalk, October 2002,
http://www.stsc.hill.af.mil/crosstalk/2002/10/paulk.html. Accessed July 14th 2005.
134
Perez, C. (2002). Technological Revolutions and Financial Capital. The Dynamics of
Bubbles and Golden Ages.
Reid, L. (2005) HSE to suspend second computer project, The Irish Times, 6
October 2005 p. 1.
http://www.ireland.com/newspaper/front/2005/1006/2636179300HM1COMPUTERS.ht
ml
Reid, L. (2005) €577,000 system for jails 'scrapped after six months'.
The Irish Independent, 7th October 2005.
http://www.unison.ie/irish_independent/stories.php3?ca=9&si=1483704&issue_id=1310
4
Richardson, I. (1999), Improving the software process in small indigenous software
development companies using a model based on quality function deployment'. PhD
Thesis, University of Limerick.
Rising, L, and Janoff, N. (2000) The Scrum Software Development Process for Small
Teams, IEEE Software, July/August 2000, pages 26-32.
Rout, T. (1996), The SPICE project - Past, Present and Future', paper presented to
Software process 96 Conference, Brighton UK 1996
Royce, W.W. (1970) Managing the Development of Large Software Systems: Concepts
and Techniques, proceedings of Wescon, August USA.
Software Engineering Institute. (2002) CMMI® for System Engineering, Systems
Engineering/Software Engineering/Integrated Product and Process
Development/Supplier Sourcing, Version 1.1, Staged Representation (CMMI-
SE/SW/IPPD/SS, V1.1, Staged), Carnegie Mellon University, Pittsburgh, PA 2002.
135
Schumpeter, JA. (1942/1976) Capitalism, socialism and democracy (with Introduction
by Tom Bottomore). Harper Collins, New York.
Schwaber, K. and Beedle, M. (2002) Agile Software Development with SCRUM,
Pearson Technology Group, 2002.
SFI. (2004). SFI-Funded Research Team Links Up with Global ICT Leaders to Boost
Ireland’s Software Development Sector.
http://www.sfi.ie/content/content.asp?section_id=467&language_id=1&publication_id=
1256
Shari, Lawerence and Pfleeger. (2001) Software Engineering. Theory and Practice 2nd
Edition, Prentice Hall.
Silicon Republic. (2005a). Trintech posts second-quarter losses.
http://www.siliconrepublic.com/news/news.nv?storyid=nextarchiveSN3&next=260
Silicon Republic. (2005b). SFI to fund €11.7m software centre.
http://www.siliconrepublic.com/news/news.nv?storyid=single5652
Smilor, R. and Gill, M. Jr. (1986). The New Business Incubator: Linking Talent,
Technology, Capital, and Know-How. Lexington, MA: Lexington Books.
SPIRE. (1998) The Spire Handbook: Better, Faster, Cheaper Software Development in
Small Organisations, Centre for Software Engineering DCU Campus, Dublin.
Stapleton, J. (1995) Dynamic System Development Method. Addison-Wesley
136
UL.ie (2005) Minister Micheál Martin announces funding of €11.7million for the Irish
Software Engineering Research Centre In UL.
http://www.ul.ie/main/news/index17thoct.shtml
Wang, Y. and King, G. (2000) Software Engineering Processes. Principles and
Applications. CRC Press.
Yourdon, E. (1991) Sayonara, once again, structured stuff. American Programmer, 4, 8,
31-38.
Zahran S, (1998) Software Process Improvement. Practical Guidelines for Business
Success. Addison-Wesley
A-1
Appendix A Survey/Questionnaire
Organisation :
Address :
Number of Employees:
Number of Employees involved in Software Engineering:
Organisation primary involvement in software industry (delete those descriptions which do not apply):
• Software user (developed in-house)
• Software user (developed by a 3rd party)
• Software vendor (producing off-the-shelf systems)
• Software vendor (producing custom software systems)
• Research & Development institute or university
• Interest Group (e.g. professional society or standards body)
• Other (please specify):
Programming Languages/Technologies Used :
Number of Software Projects/Customers :
Community of Interest (delete those which do not apply)
• Business Orientated Systems
• Technically Orientated Systems
• Embedded and Control Systems
A-2
Section 1 - Requirements and Design Answer
ESSI (SBPQ) ISO 15504
framework
1. Is there a procedure for ensuring that an
appropriate level of user, customer and marketing input is made throughout the project?
Details:
(YES/NO)
1.7 Org. Issues CUS. 3 Requirements Elicitation
2. Is there a mechanism to ensure that the
projects selected for development qualitatively or quantitatively support the organisation's business objectives.
Details:
(YES/NO)
2.9 Standards & Procedures
CUS. 1.1 Acquisition Preparation
3. Are there procedures to ensure that the
functionality, strengths, and weaknesses of the "system" which the software is replacing are formally reviewed? (This refers to next generation versions of software applications being developed)
Details:
(YES/NO)
2.10 Standards & Procedures
N/A
4. Are design notations such as Software
Analysis and Design Tools used in program design?
Details:
(YES/NO)
5.2 Tools & Technology
ENG. 1.3 Software Design
5. Are prototyping methods used in ensuring the
requirements elements of the software? Details:
(YES/NO)
5.5 Tools & Technology
ENG. 1. 1 Systems Requirements Analysis and Design
6. Is a data dictionary available for controlling
and storing details of all data files and their fields?
Details:
(YES/NO)
5.6 Tools & Technology
ENG. 1.3 Software Design
A-3
Section 2 - Code and Test Answer
ESSI (SBPQ) ISO 15504
framework
1. Are common coding standards applied to
each software project? Details:
(YES/NO) 2.5 Standards & Procedures
ENG. 1.4 Software Construction
2. Does test planning commence prior to
programming beginning based on the user requirements and high-level design documents?
Details:
(YES/NO)
2.11Standards & Procedures
ENG. 1.6 Software Testing
3. Is there a procedure to check that the system
configuration (i.e. the programs and any data) passing user acceptance testing is the same as that which is implemented for live operation and that no changes are made directly to a "live" version of any system (other than through modification to its development version)?
Details:
(YES/NO)
2.13 Standards & Procedures
SUP.2 Configuration Management
4. Are estimates made and compared with actuals for target computer performance (e.g. memory utilisation, processor throughput and file/channel I/O and disk usage)?
Details:
(YES/NO)
3.6 Metrics MAN. 3 Quality Management
5. Are post-implementation software problem reports logged and their resolution effectively tracked and analysed?
Details:
(YES/NO)
3.7 Metrics SUP. 8 Problem Resolution
6. Do records exist from which (and requiring nothing extra) all current versions and variants of software systems and their components can be quickly and accurately reconstructed in the development environment?
Details:
(YES/NO)
3.8 Metrics SUP.2 Configuration Management
7. Is there a mechanism for assuring that regression testing (i.e. the forced re-run of all previous tests prior to any new tests) is routinely performed during and after initial implementation?
Details:
(YES/NO)
4.5 Control of the Development Process
ENG.1.6 Software Testing
8. Do procedures exist to ensure that every required function is tested and verified?
Details:
(YES/NO) 4.6 Control of the Development Process
SUP. 4 Verification
9. Are automated testing tools used? (For example for capturing and replaying tests, or for ensuring logic paths coverage)?
Details:
(YES/NO)
5.3 Tools & Technology
ENG 1.6 Software Testing
A-4
Section 3 -Configuration Management Answer
ESSI (SBPQ) ISO 15504
framework
1. Is a change control function established for
each software project? Details:
(YES/NO)
1.4 Organisational Issues
SUP. 2 Configuration Management
2. Is there a procedure for controlling changes to the software requirements, designs and accompanying documentation?
Details:
(YES/NO)
4.3 Control of the Development Process
SUP. 2 Configuration Management
3. Is there a procedure for controlling changes to the code and specifications?
Details:
(YES/NO)
4.4 Control of the Development Process
SUP. 2 Configuration Management
4. Are software tools used to assist in forwards and/or backwards tracing of software requirements to software designs through to code?
Details:
(YES/NO)
5.1 Tools & Technology
ENG. 1 Development
5. Are software tools used for tracking and reporting the status of the software/subroutines in the software development library?
Details:
(YES/NO)
5.4 Tools & Technology
SUP. 2 Configuration Management
A-5
Section 4 - Estimates and Schedules Answer
ESSI (SBPQ) ISO 15504
framework
1. Where other non-software resources are critical to the success of the project is there a procedure for ensuring their availability according to plan?
Details:
(YES/NO)
1.8 Organisational Issues
MAN. 2 Project Management
2. Is there a documented procedure for estimating software size (such as "Lines of Source Code") and thus for using productivity measures?
Details:
(YES/NO) 2.6 Standards & Procedures
MAN. 2 Project Management
3. Is a formal procedure used to produce software development effort, schedule, and cost estimates?
Details:
(YES/NO) 2.7 Standards & Procedures
MAN. 2 Project Management
4. Are records of actual project resourcing and timescales versus estimates maintained (at individual resource/resource-type level) and regularly analysed/fed-back into the estimating and scheduling procedures?
Details:
(YES/NO) 3.1 Metrics
MAN. 2 Project Management
5. Are records of software size maintained for each software configuration item, over time, and fed-back into the estimating process?
Details:
(YES/NO)
3.2 Metrics MAN. 2 Project Management
6. Is "earned value" project tracking used throughout the software development process (actual versus planned deliverables analyses, designed, unit tested, system tested, acceptance tested over time) to monitor project progress?
Details:
(YES/NO)
3.5 Metrics
MAN. 2 Project Management
7. Are estimates, schedules and subsequent changes produced only by the project managers who directly control the project resources and are fully aware of their abilities and availabilities?
Details:
(YES/NO)
4.1 Control of the Development Process
MAN. 2 Project Management
8. Does the overall business project manager gain agreement and sign-off from all parties who have produced detailed estimates and schedules before publishing or revising a consolidated project plan?
Details:
(YES/NO)
4.2 Control of the Development Process
MAN. 2 Project Management
A-6
Section 5 – Project Management and Training Answer ESSI (SBPQ)
ISO 15504 framework
1. Does each software project have a nominated software project manager?
Details:
(YES/NO) 1.2 Organisational Issues
MAN. 2 Project Management
2. Does the software project manager report to a business project manager responsible for the overall benefit of the project to the business?
Details:
(YES/NO) 1.2 Organisational Issues
MAN. 2 Project Management
3. Does a Software Quality Assurance (SQA) function exist within an independent reporting line from software development project management?
Details:
(YES/NO)
1.3 Organisational Issues
SUP. 3 Quality Assurance
4. Is there a required training programme for all newly-appointed software personnel designed to familiarise them with in-house software project management procedures?
Details:
(YES/NO)
1.5 Organisational Issues
ORG.3 Human Resource Management
5. Is there a procedure for maintaining awareness of the state-of-the-art in CASE or software engineering technology?
Details:
(YES/NO) 1.6 Organisational Issues
ORG. 4 Infrastructure
6. Does management formally assess the benefits, viability, and risk of each software project prior to making contractual (or internal) commitments?
Details:
(YES/NO) 2.1 Standards & Procedures
MAN. 2 Project Management
7. Do management formally conduct periodic reviews of the status of each software project?
Details:
(YES/NO) 2.2 Standards & Procedures
MAN. 2 Project Management
8. Are there procedures to ensure that external software subcontracting organisations, if any, follow a disciplined software development process?
Details:
(YES/NO) 2.3 Standards & Procedures
CUS. 1.3 Supplier Monitoring
9. For each project, are independent audits (such as inspections or walkthroughs) conducted for each major stage in the software development process?
Details:
(YES/NO)
2.4 Standards & Procedures
SUP.3 Quality Assurance
10. Is a formal procedure (such as a review or handover with sign-off) used whenever a deliverable (such as a user statement of requirements or system requirements) is passed from one discrete group to another (e.g. user to analyst to designer) to ensure it is properly understood?
Details:
(YES/NO)
2.8 Standards & Procedures
SUP.3 Quality Assurance
B-1
Appendix B E-mail Request to Participate in Survey
Dear XXXXX,
I was hoping you could help me with a survey I am conducting as part of my Thesis for a Masters course in Technology Management I'm studying at NUI Galway.
The Thesis is based on an a study into software development practices in Start-Up Software companies; the study is aimed at understanding why;
1. They find it difficult to prioritise long term planning, (Product development decisions are made based on opinions of key personnel rather than deliberate planning, often resulting in rework and market failure).
2. are tempted to shortcut the software development process to bring products to market quicker by omitting crucial planning stages,
3. difficult to integrate product strategy with business strategy,
The study also looks at the notion that Software Engineering tools are designed for larger companies, with limited literature available into their applicability to smaller companies. As a result smaller development companies are overwhelmed when they even attempt to introduce process improvement.
The companies that I am focusing on and all software development companies based in Galway (3) and Dublin (1). They develop financial services software primarily for Insurance companies and the Banking sector.
I know that your company is in the same line of business. What I'm hoping to achieve is a Framework that will enable the small companies I am examining improve existing practices and hopefully follow a similar growth path that your company has.
The attached questionnaire is based on a European Software Best Practices survey devised back in 1997. I have changed it around a bit so that it follows, somewhat, the SDLC of a typical company, i.e. Requirements, Code and Test, Config Mgt etc.
You'll notice as well that the furthermost column on the right called ISO 15504 framework has a series of entries in relation to the questions being asked.
ISO 15504 framework is an alternative to CMMI for organizations that are interested in improving their software development process and attaining ISO
B-2
9001 certification, as it combines and enhances the methods provided by the CMM and the ISO 9000 quality standards.
By including this I will be able to ascertain the level by which a company is implementing a best practice approach to their software development cycle (based on
the attached Questionnaire) and then plot this on the ISO 15504 framework best
practice improvement model.
After this I hope to be able to show Strengths and Weaknesses and devise my own Framework that can help companies improve their process quickly and without significantly disrupting existing development practices.
I'd really appreciate if you could answer the attached questionnaire as best you can based on your companies practices. Total confidentiality is assured. The results will be summarised and individual responses will NOT be published.
After the responses have been analysed, I will email a summary report to all respondents.
I appreciate your help on this. Should you have any queries on the questionnaire don't hesitate to contact me on xxxxxxxx or else drop me an mail.
Regards,
Robert Staunton
C-1
Appendix C SPI Interview Questions
Based on your opinion, please answer each question by placing an X in the box that best describes your company’s position for each of the questions in the Table below.
What are your views on the following
Issues?
Strongly
Agree
Agree Disagree Strongly
Disagree
1. SPI is essential for the future success of my Company.*
2. By applying an SPI program my company can significantly improve the quality of software supplied to customers. *
3. SPI is not cost-effective initiative for my company. *
4. Senior Management in my company support SPI activities by arranging sufficient resources for training and development. *
• The results will be summarised and individual responses will NOT be public
D-
Appendix D D
ata
per
tain
ing
to P
are
to C
ha
rt
Affects
Frequency
Bugs
Enhance
New
Issue
Re-Work Spec
Re-Work Bugs
Freq. %
Cum Freq. %
Frequency Bugs
New
Issue
ReW
ork
Oth
er24
1311
81
239
%39
%54
%33
.30%
12.5
0%
Rat
ing
116
58
12
18%
57%
54%
73%
27%
Can
cels
88
04
04
13%
70%
100%
50%
50%
MV
R7
70
30
411
%81
%10
0%43
%57
%
Ren
ewal
s6
60
20
410
%91
%10
0%33
.30%
66.6
0%
VIN
54
10
41
8%10
0%80
%0%
80%
Total
6144
1725
617
Affects
Frequency
Freq. %
Cum Freq. %
Frequency Bugs
New
Issue
ReW
ork
Oth
er24
39%
39%
54%
33.3
0%12
.50%
Rat
ing
1118
%57
%54
%73
%27
%
Can
cels
813
%70
%10
0%50
%50
%
MV
R7
11%
81%
100%
43%
57%
Ren
ewal
s6
10%
91%
100%
33.3
0%66
.60%
VIN
58%
100%
80%
0%10
0%
Total
61
D-
Status Report Items Oct 31st - Nov 13th 2005
Ticket
Type
State
Affects
Description
Severity (1-
10)
New
Issue
ReWork
(Spec)
ReWork
(Bugs)
28
44
6B
ug
AL
Ca
nce
lsno
ca
ncel n
otice
ha
s b
ee
n m
aile
d7
Y
28
56
5B
ug
AL
Ca
nce
lsN
o-L
oss m
essa
ge
fo
r a
ge
nt p
aym
en
ts w
he
re p
olicy is c
an
ce
led
5Y
28
44
6B
ug
AL
Ca
nce
lsno
ca
ncel n
otice
ha
s b
ee
n m
aile
d6
Y
27
80
2B
ug
AL
Ca
nce
lsP
olicy c
an
ce
llin
g f
or
Su
sp
end
ed
Lic
J s
ho
uld
n’t
7Y
28
44
6B
ug
AL
Ca
nce
lsno
ca
ncel n
otice
ha
s b
ee
n m
aile
d7
Y
28
65
2B
ug
GA
Ca
nce
lsw
ill n
ot
let
us r
eq
ue
st
ca
nce
l6
Y
28
49
9B
ug
GA
Ca
nce
lscan
ce
l o
f 1
00
764
9,
wh
en
it
sh
ou
ldn
't5
Y
28
56
9B
ug
LA
Ca
nce
lsu/w
ca
ncels
are
no
t g
ivin
g th
e r
eq
uir
ed 3
0 d
ay n
otice
9Y
52
44
28
16
9B
ug
AL
MV
R#7
93
8 -
ca
nn
ot
se
e M
VR
on
cu
rre
nt
po
licy
6Y
28
62
4B
ug
AZ
MV
RIN
TL lic
en
se
en
do
6Y
28
41
8B
ug
AZ
MV
RIn
tern
atio
na
l lice
nse
's s
ho
win
g u
p o
n t
he
no
hit lis
t6
Y
28
35
9B
ug
GA
MV
Rre
qu
est
mvr
sta
tus
6Y
28
16
3B
ug
MS
MV
RP
OS
ap
plicatio
n m
vrs
ap
plied
bu
t se
ttin
g p
olicy u
p f
or
ca
ncella
tio
n7
Y
28
34
4B
ug
TX
MV
RS
R2
2 a
nd
No
Hit
for
TX
10
86
94
66
Y
28
50
4B
ug
TX
MV
Rpo
licy 1
08
73
06
du
plica
te p
oin
t ch
arg
es
7Y
44
34
28
48
6B
ug
AL
Oth
er
str
an
ge
ne
ss o
n p
olicy 1
04
89
73
6Y
28
58
4B
ug
AL
Oth
er
inco
rrect
ID c
ard
s f
or
policy 1
04
082
28
Y
28
48
6B
ug
AL
Oth
er
str
an
ge
ne
ss o
n p
olicy 1
04
89
73
6Y
NA
En
ha
nce
All
Oth
er
Ch
an
ge
vio
latio
n o
rde
r6
Y
NA
En
ha
nce
All
Oth
er
Wh
en
a c
laim
che
ck is s
ave
d w
rite
th
e c
he
ck d
eta
ils t
o t
he
no
tep
ad
5Y
28
50
7B
ug
All
Oth
er
Da
tes in
co
rre
ct
on
Vu
lca
n s
erv
ers
(serv
er
co
nfig
ura
tio
n e
rro
r)6
Y
27
85
2B
ug
All
Oth
er
Dis
pla
y e
rro
r Ite
ms o
nly
fro
m la
test
run o
n n
igh
tly lo
g s
cre
en
s.
7Y
NA
En
ha
nce
All
Other
24 hour backdating
9Y
NA
En
ha
nce
AZ
Oth
er
AZ
Sa
feq
uo
te7
Y
27
71
6E
nha
nce
GA
Oth
er
Inte
gra
te A
uth
id a
nd
Pri
nt
fro
m S
IU7
Y
NA
Bu
gG
AO
the
rLo
g e
rro
r in
GA
5Y
28
58
1B
ug
GA
Oth
er
Sta
te R
ep
ort
ing
issu
e w
ith
da
te6
Y
28
58
9B
ug
GA
Oth
er
Sta
te R
ep
ort
ing
fo
r p
olicy 2
20
22
6Y
27
71
6E
nha
nce
GA
Oth
er
Inte
gra
te A
uth
id a
nd
Pri
nt
fro
m S
IU8
Y
28
48
7E
nha
nce
GA
Oth
er
Ad
ditio
n t
o O
ve
rdu
e D
oc r
ep
ort
6Y
27
62
6E
nha
nce
LA
Oth
er
En
ha
nce
me
nt
- N
ee
d la
rge
r pa
ye
e b
ox o
n c
he
ck
4Y
28
49
0B
ug
LA
Oth
er
Un
ab
le t
o r
eq
uest
Inju
ry L
ett
er
6Y
28
54
1B
ug
MS
Oth
er
Ag
e 7
0+
an
d V
eh
icle
Ag
en
t 1
6+
, 2
6+
issu
es
7Y
28
53
1E
nha
nce
MS
Oth
er
Ne
ed
to
dis
pla
y in
sta
llm
en
t a
mo
un
t in
Sa
fequ
ote
to
Vu
lca
n6
Y
28750
En
ha
nce
MS
Other
CCI apps uploaded with incorrect dates
9Y
28
56
8B
ug
TX
Oth
er
can
no
t ch
an
ge
th
e s
tatu
s o
f sp
ou
se f
rom
no
t liste
d
to e
xclu
de
d6
Y
28
13
9B
ug
TX
Oth
er
Sa
feq
uo
te6
Y
28
56
8B
ug
TX
Oth
er
can
no
t ch
an
ge
th
e s
tatu
s o
f sp
ou
se f
rom
no
t liste
d
to e
xclu
de
d6
Y
NA
En
ha
nce
TX
Oth
er
Bri
dg
e in
fo t
o a
nd
fro
m Q
uic
kQ
uo
te.
7Y
155
812
4
D-
28
19
6E
nh
an
ce
AL
Ra
tin
gch
an
ge
d p
oin
ts9
Y
28
35
3B
ug
AZ
Ra
tin
gR
en
ew
als
fo
r O
ct
up
rate
fo
r te
rr a
nd
sym
bo
ls a
pp
lie
d t
o e
arl
y9
Y
28
55
0E
nh
an
ce
AZ
Ra
tin
gn
ee
d P
O B
ox z
ip c
od
es r
elo
ad
ed
6
Y
27
85
8E
nh
an
ce
AZ
Ra
tin
gA
Z r
ate
re
vis
ion
eff
10
/01
/05
ne
w 1
1/0
1/0
5 r
en
ew
8Y
28
57
3B
ug
GA
Ra
tin
go
ut
of
se
qu
en
ce
en
do
rse
me
nts
8Y
27
08
2E
nh
an
ce
MS
Ra
tin
gM
S M
inim
um
Lim
its In
cre
ase
eff
ective
1-1
-06
4Y
27
08
2E
nh
an
ce
MS
Ra
tin
gM
S M
inim
um
Lim
its In
cre
ase
eff
ective
1-1
-06
4Y
28
54
4B
ug
MS
Ra
tin
gIn
co
rre
ct
rate
s o
n p
olicy 1
06
70
20
7Y
28
59
7B
ug
TX
Ra
tin
gp
olicie
s liv
e 1
01
66
93
an
d 1
08
93
98
8Y
28
50
4B
ug
TX
Ra
tin
gp
olicy 1
08
73
06
du
plica
te p
oin
t ch
arg
es
8Y
28
49
5B
ug
TX
Ra
tin
gb
ad
billin
g a
mo
un
t o
n d
isp
lay a
cco
un
t in
qu
iry f
utu
re b
illin
g a
mo
un
ts 1
07
18
81
6Y
77
81
28
59
8B
ug
AL
Re
ne
wa
lsw
ron
g d
ate
s o
n r
en
ew
al
7Y
28
32
4B
ug
All
Re
ne
wa
lsD
up
lica
ted
re
ne
wa
ls a
re b
ack
8Y
28
58
6B
ug
ILR
en
ew
als
ren
ew
al p
en
din
g o
n c
an
ce
lle
d p
olicy
6Y
27
99
6B
ug
ILR
en
ew
als
ba
d e
xp
ira
tio
n d
ate
on
re
ne
wa
l6
Y
28
55
6B
ug
ILR
en
ew
als
err
or
wh
ile
re
ne
win
g 1
25
26
6-I
L-C
P6
Y
28
11
7B
ug
ILR
en
ew
als
no
n r
en
ew
al n
otice
did
no
t p
rin
t fo
r 0
00
12
88
7Y
40
24
28
00
3E
nh
an
ce
AL
LV
INV
eh
icle
Vin
s6
Y
28
38
6B
ug
GA
VIN
sh
ort
vin
s8
Y
28
57
2B
ug
GA
VIN
sh
ort
vin
s8
Y
28
47
3B
ug
MS
VIN
90
mo
de
l vin
s6
Y
28
53
7B
ug
MS
VIN
No
VIN
--N
ot
Be
ing
Allo
we
d T
o C
om
ple
te P
olicy In
Vu
lca
n7
Y
35
41
Top Related