EVALUATION OF SMALL SOFTWARE COMPANIES FOR LARGE CONTRACTS
Elif Demirors The Bilgi Group Software Research, Education and Consultancy Ankara Turkey demirors@bg.com.tr,
Onur Demirors Informatics Institute, Middle East Technical University Ankara Turkey demirors@metu.edu.tr
When an agency is faced to select the best-fit software developer among a number of small-sized companies, it fails to find an applicable evaluation strategy. The widely used assessment methodologies, SPICE and CMM, work well in large organizations. However little data has been gathered on the quality of their feedback when applied to small organizations with practices far away from what CMM or SPICE expect to find.
We have been involved in a project that was initiated by the Ministry of National Education (MONE) to define a set of pre-qualification criteria that will evaluate the capability of software development companies. Specific domain of application was instructional software which eliminated most of the large software development companies operating in defence, and finance markets. The experts in instructional software was, and still are, small businesses which involve both software developers and instructional domain experts (mostly teachers). Although the agency was willing to work with the small companies in contracts approximately 1.2M USD each, they wanted to eliminate the businesses with higher chances of failure.
The project took four weeks, and involved software quality as well as instructional technology experts. A set of criteria was formed to be used by the Agency to establish a short list of potential software contractors. Several issues were addressed for defining the criteria: regulations and early experiences of the Agency; regulations and recommendations of the World Bank (the project was financed by the World Bank); the capability of developing quality instructional software; and related best practices and standards of global software industry. The process followed to define the criteria is in accordance with the ISO/IEC 14598-1:1999 Information Technology-Software Product Evaluation.
As mentioned above several international standards and practices have been utilized in this study. These are:
(a) ISO/IEC 12207:1995 : Standard for Information Technology – Software Life Cycle Processes. (b) ISO/IEC 14598-1:1999 Information technology - Software product evaluation -- Part 1: General overview. (c) ISO/IEC DIS 14598-4 Information technology -- Software product evaluation -- Part 4: Process for acquirers. (d) IEEE Std 1062:1998 : IEEE Recommended Practice for Software Acquisition. (e) ISO/IEC TR 15504: 1998 Information Technology - Software Process Assessment. (f) IEEE Std 1012:1998 : IEEE Standard for Software Verification and Validation.
A company’s total score is calculated by summing up the scores that the company earns from each of the three capability criteria. The score of each criteria is obtained by totaling the scores gained from each attribute as defined by the attribute’s measure in terms of the indicator values. In other words, the evaluation will determine whether a specific indicator is valid for that company and if so, the corresponding point value will be added to the company’s score according to the measurement policy defined. A company is also required to earn a score above the threshold defined for each criteria for pre-qualification.
The hierarchical organization of the pre-qualification criteria is depicted in Figure 1.
The evaluation is performed on the product itself and on the intermediate documents produced during the development process, namely software requirements specification, design documents, and test documentation. The success of the product in the market will also be evaluated if the company will be able to submit appropriate documents.
Product capability criteria is divided into three characteristics as defined below:
The software process capability is evaluated with a Maturity Questionnaire. The Maturity Questionnaire is based on SEI’s maturity questionnair and is being used as the formal data collection device within the Software Capability Evaluation methodology. Instead of requesting a full Level 2 or Level 3 compliance from the bidders, a number of the key process areas are selected based on the requirements of the ministry and on the nature of instructional software development. The key process areas grouped under Basic Management Processes include most of the Level 2 process areas except "Requirements Management" (classified as Extended Process) and " Subcontract Management" (eliminated completely from the evaluation). On the other hand, Extended Processes include the key process areas from Level 3 as well as "Requirements Management". These processes are not considered mandatory like Basic Management Processes but rather taken as indicators of more mature software development process. The ministry reserves the right to perform and/or request on-site independent assessment. If assessment is to be performed during pre-qualification process than all acceptable bidders will be evaluated. However the ministry may choose to perform and/or request an independent assessment within the post-qualification framework in which only prequalified bidders will be evaluated. Any inconsistency with the answers provided here will result the disqualification of the bidder from submitting any bid to this and any related calls.
The process capability criteria is divided into two quality characteristics:
Conformity to Basic Management Processes Conformity to Extended Processes
Fig. 1. Pre-Qualification Criteria