Professional Documents
Culture Documents
Identifying Processes That Support COTS-Based Systems in Developing Countries
Identifying Processes That Support COTS-Based Systems in Developing Countries
1 INTRODUCTION
The diffusion of computer technology in developing countries is at an embryonic
stage and does not impinge upon overwhelming majority of the people (Corr,
1995). A range of factors, including various infrastructural, financial, political and
cultural aspects have acted against the effective development and exploitation of
information technology. Redressing this situation will require significant
resources and a willingness to tackle the long-term underlying causes of the
problem rather than offering short-term solutions to symptoms.
Organisations in developing countries are turning to COTS-Based Systems
because modern information systems are becoming increasingly expensive to
build and maintain. These components are typically bought from third-party
vendors and integrated into a system (Vigder, 1996). Alternatively an application
that satisfies most of the system requirements could be purchased, and then
extended, tailored for local requirements. In both cases neither is the source code
for these components available to the system developer nor do the system
developer control specification, release schedule and evolution of the components.
Building systems from Commercial Off-The-Shelf (COTS) also known as COTS-
Based Systems development is focused on improving the technologies and
practices used for assembling previously existing components (COTS and other
non-developmental items) into large software systems, and migrating existing
systems toward CBS approaches (Carnegie, 1998)(Clements, 1995). CBS can
potentially be used to reduce software development and maintenance costs, and
reducing software development time by bringing the system to markets as early as
possible (Clements, 1995)(Haines, 1997). CBS also improves reuse across
programs and promotes a competitive component marketplace. CBS therefore has
a higher potential to benefit developing countries compared to other systems
development methods.
Software systems do not exist in isolation they are used in social and
organisational contexts. Experience and many studies show that the major cause
of most software failures is the people rather than technical issues (Curtis, Krasner
and Iscoel, 1988)(Le Quesne, 1988). For example poor training may result in
people not co-operating with the information system leading to failure and project
abandonment (Avison, 1995).
CBS success depends on successful selection of COTS software to fit
requirements. The current approaches and proposed frameworks for COTS
software selection do not adequately deal with these human, social and
organisational issues. For example the SEI Technology Delta framework (Brown
1996), Off-The-Shelf Option (Kontio, 1995), and Procurement Oriented
Requirements Engineering (Maiden, 1998) do not adequately deal with political,
social and economic factors (Powell, 1997)(Carnegie, 1998). This research aims
at investigating a method of applying social-technical approach for COTS
software selection.
3 RESEARCH PROPOSAL
CBS success depends on successful evaluation and selection of COTS software
components to fit customer requirements. COTS selection is a process of
determining "fitness for use" of previously developed components that are being
applied in a new system context (Haines, 1997). Component selection is also a
process for selecting components when a marketplace of competing products
exists.
Successful selection of COTS software to fit requirements is still a problem
because of a number of reasons (Oberndorf, 1997)(Maiden, 1998). These include
the following:
1. Lack of well defined process - Most organisations are under pressure to
perform and therefore do not use a well-defined repeatable process (Kontio,
1996). Therefore COTS selection process is implemented in an ad hoc
manner.
2. Evaluation criteria - There are problems associated with the definition of the
evaluation criteria. Sometimes the evaluators tend to focus on technical
capabilities at the expense of the non-technical or "soft" factors such as the
human and business issues (Powell, 1997).
3. "Black box" nature of COTS components - Lack of access to the COTS
internals makes it difficult to understand COTS components and therefore
makes evaluation hard (Oberndorf, 1997). Sometimes even the supporting
documentation for these components is incomplete or wrong.
4. Rapid changes in market place - COTS evaluation is hard because of rapid
changes of COTS components in the market place (Oberndorf, 1997). For
example a new release of the COTS component may have a feature which is
not available in the component that is currently being evaluated.
Therefore the central research question can be framed as:
What processes for the evaluation and selection of COTS software
components provide support for CBS, in developing countries?
In order to address the problem of COTS evaluation in DCs, the best practices
from more developed countries will be elicited, compared with relevant literature
and then adapted for developing countries. Therefore the immediate objectives
that arise from the central research question are:
• To elicit and analyse current CBS practices of organisations from developed
countries (UK) and developing countries (Zambia).
• To identify processes and factors that support COTS software component
selection in CBS from a developed country (the UK).
• To explore how social-technical approaches can be used in COTS software
components evaluation and adapted to developing countries.
• To develop a theoretical framework showing how social-technical approach to
COTS software evaluation can support CBS in developing countries.
4 LITERATURE REVIEW
4.1 COTS-Based systems
CBS focuses on building large software systems by integrating previously existing
software components (Haines, 1997). By enhancing the flexibility and
maintainability of systems, this approach can potentially be used to reduce
software development costs, assemble systems rapidly, and reduce the spiralling
maintenance burden associated with the support and upgrade of large systems. At
the foundation of this approach is the assumption that certain parts of large
software systems reappear with sufficient regularity that common parts should be
written once, rather than many times, and that common systems should be
assembled through reuse rather than rewritten over and over.
In CBS (Haines, 1997), the notion of building a system by writing code has been
replaced with building a system by assembling and integrating existing software
components. In contrast to traditional development, where system integration is
often the tail end of an implementation effort, component integration is the
centrepiece of the approach; thus, implementation has given way to integration as
the focus of system construction. Because of this, a key consideration in the
decision whether to acquire, reuse, or build the components is whether they can be
integrated or not.
In CBS, an organisation's software development process and philosophy may need
to change (Haines, 1997). System integration can no longer be at the end of the
implementation phase, but must be planned early and be continually managed
throughout the development process. It is also recommended that as trade-offs are
being made among components during the development process, the rationale
used in making the trade off decisions should be recorded and then evaluated in
the final product (Brown, 1996). Many of the problems encountered when
integrating COTS components cannot be determined before integration begins.
Thus, estimating development schedules and resource requirements is extremely
difficult (Vigder, 1996). Developing component-based systems (Haines, 1997) is
becoming feasible due to the following:
• the increase in the quality and variety of COTS products;
• economic pressures to reduce system development and maintenance costs;
• the emergence of component integration technology such as Object Request
Broker; and
• the increasing amount of existing software in organisations that can be reused
in new systems.
4.2 COTS software selection
COTS software selection also known as component qualification is a process of
determining "fitness for use" of previously-developed components that are being
applied in a new system context (Haines, 1997). Component qualification is also a
process for selecting components when a marketplace of competing products
exists. Qualification of a component can also extend to include qualification of the
development process used to create and maintain it (for example, ensuring
algorithms have been validated, and that rigorous code inspection has taken
place). This is most obvious in safety-critical applications, but can also reduce
some of the attraction of using pre-existing components.
There are three phases of COTS software selection: criteria definition, alternatives
identification and evaluation (Kontio, 1996). The evaluation criteria definition
process essentially decomposes the requirements for the COTS into a hierarchical
criteria set and each branch in this hierarchy ends in an evaluation attribute. The
criteria include component functionality (what services are provided), other
aspects of a component's interface (such as the use of standards) and quality
aspects that are more difficult to isolate, such as component reliability,
predictability, and usability. The alternative identification involves the search and
screening for COTS candidate components that should be included for detailed
evaluation. In the evaluation phase the properties of the candidate components are
identified and assessed according to the evaluation criteria.
While there are several efforts focusing on component qualification, there is little
agreement on which quality attributes or measures of a component are critical to
its use in a COTS-Based system. A useful work includes Software Engineering
Institute (SEI) delta technology framework that helps evaluate new software
technology (Brown, 1996) and PORE, a template based method to support
requirements acquisition for COTS product selection (Maiden, 1998). Another
technique Off-The-Shelf Option (OTSO) addresses the complexity of component
selection and provides a decision framework that supports multi-variable
component selection analysis (Kontio, 1996). Other approaches, such as the one
by Boloix and Robilland (Boloix, 1995) focus on assessing the software product,
process and their impact on the organisation. These evaluation approaches
typically involve a combination of paper-based studies of the components,
discussion with other users of those components, and hands-on benchmarking and
prototyping.
However, the non-technical factors or "soft" issues are not adequately addressed
by these approaches. An appropriate COTS software evaluation framework should
be simple to use and address the political and economic factors that often separate
a winning technology from other contenders (Carnegie, 1998)(Powell 1997).
5 PROPOSED APPROACH AND PRELIMINARY RESULTS
The research process consists of five main stages literature review, elicit current
CBS practices, identify factors that support COTS selection, develop COTS
selection framework and validate framework as illustrated in the Figure 1 below.
In literature review phase, literature and papers on building systems from COTS
software components, requirements engineering, IT capabilities in developing
countries and other relevant topics will be reviewed. The purpose of this stage is
to identify problems associated with building systems from COTS software
components, to establish a sound background in software engineering and produce
a theoretical framework for future study. Literature review will be an ongoing task
throughout the period of this research.
( S .D .)100
CV =
X
The Socio-economic factors are non-technical factors such as costs, market trends,
vendor capability and reputation. These are the most frequently overlooked
factors that bring in the social dimension in the evaluation criteria.
Costs include direct cost such as the price of the COTS software products and
indirect costs such as cost of adapting and integrating the products, cost of
maintenance or replacement with upgrades, cost of training and support. Vendor
capability factors are performance and capability of the vendor, for example
vendor profile, reputation, period of vendor business, vendor reputation,
references, customer base and track record, certification, stability, available
training and support.
6 CONCLUDING REMARKS
Although there are some risks associated with CBS, it has great potential in the
developing countries not only because of potential cost saving but also because
developing countries are very familiar with COTS components, at least in terms
of use and adapting them to local needs. Developing countries should use CBS to
its full potential by integrating COTS components in an engineering manner
rather than simply adapting them.
CBS success depends on successful evaluation and selection of COTS software
components to fit customer requirements. The literature shows that successful
selection of off-the-shelf systems to fit customer requirements remains
problematic (Maiden, 1998). Existing frameworks for COTS evaluation such as
the Delta and OTSO are inadequate because they do not incorporate the social-
economic factors satisfactorily. In addition these frameworks are laborious and
too complex to be adopted for general use.
This research will contribute towards a social-technical approach to CBSD in
developing countries. There are research efforts both in academic and empirical
world relating to CBSD, social-technical approaches and developing countries.
This research will concentrate its efforts where the three research fields intersect
(see Figure 2).
Developing
CBS
Countries
Research
Social- contribution
technical
REFERENCES
Avison D. E and Fitzgerald G., Information Systems Development: Methods,
techniques and tools, McGraw-Hill Book Company, London, 1995.
Bhatnagar S C (editor), Social Implications of Computers in Developing
Countries, Tata McGraw-Hill Publishing Company Limited, New Delhi, 1992.
Bogod Julian, The role of computing in developing countries, British Computer
Society, London, 1979.
Boloix Germinal and Robillard Pierre,A Software System Evaluation Framework,
IEEE Computer Vol. 28 No. 12, pages 17-26, December 1995.
Brown Alan W. and Wallnau Kurt C., A Framework for Systematic Evaluation of
Software Technologies, IEEE Software, September 1996.
Carnegie Mellon University, CBS Overview, Carnegie Mellon SEI, Available
WWW (online) <URL: http://www.sei.cmu.edu/cbs/overview.html>, 1998.
Clements Paul C., From Subroutines to Subsystems: COTS-Based Systems,
American Programmer, V8#11, Cutter Information Corp., November 1995.
Corr Patrick H., Computer Education in Least Developed Countries: A Case
Study of Zambia chapter in Technology and developing countries: Practical
applications, theoretical issues, Heeks Richard, Bhatt Prabhakara, Huq
Mozammel, Lewis Chris, Shibli Ahmed (editors), Frank Cass & Co. Ltd,
London, pages 87-100, 1995.
Curtis Bill, Krasner Herb and Iscoe Neil, A field study of the software design
process for large systems, Communication of the ACM, 31(11):1268-1286,
November 1988.
Frankfort-Nachmias Chava and Nachmias David,Research Methods in the Social
Sciences, 5th Edition, Arnold a member of the Hodder Headline Group,
London, 1996.
Haines Capt Gary, Carney David and Foreman John, COTS-Based Systems/ COTS
Integration, Software Technology Review, Available WWW (online)
<URL:http://www.sei.cmu.edu/str/ descriptions/CBS_body.html>, 1997.
Kontio Jyrki, A Case Study in Applying a Systematic Method for COTS Selection,
Proceedings of the 18th ICSE, IEEE Computer Society, 1996.
Kontio Jyrki, OTSO: A Systematic Process for Reusable Software Component
Selection, University of Maryland Technical Report No. CS-TR-3478, 1995
Kunda Douglas, Identifying current practices for COTS software – leading to best
practices for developing countries, Qualifying Dissertation, Department of
Computer Science, University of York, York, 1998.
Le Quesne P. N., Individual and Organisational factors and the Design of IPSEs,
Computer Journal, 31(5):391-397, 1988.
Maiden Neil A. and Ncube Cornelius, Acquiring COTS Software Selection
Requirements, IEEE Software, pages 46-56, March/April 1998.
Oberndorf Patricia A. and Brownsword Lisa and Morris Ed, Workshop on COTS-
Based Systems, Software Engineering Institute, Carnegie Mellon University,
Special Report, CMU/SEI-97-SR-019, November 1997.
Powell Antony, Vickers Andrew, Lam Wing and Williams Eddie,Evaluating
Tools to Support Component Based Software Engineering, Proceedings of the
5th International Symposium on assessment of software tools, IEEE Computer
Society, Los Alamitos, 1997.
Strauss Anselm and Corbin Juliet, Basics of Qualitative Research: Grounded
Theory Procedures and Techniques, Sage Publications, London, 1990.
Vigder Mark R., Gentleman W. Morven and Dean John, COTS Software
Integration: State of the art, National Research Council, Canada, NRC Report
Number 39198, 1996.
Woherem Evans E., IT Manpower Development Strategy at the Organisational
level chapter in Information Technology Manpower: Key Issues for
Developing Countries, Bhatnagar S.C. (editor), Tata McGraw-Hill Publishing
Company Limited, New Delhi, pages 147-157, 1992.
Yin Robert K., Case study Research: Design and Methods, Sage Publications,
London, 1994.