Keywords

1 Introduction

In the domain of software development, Very Small Entities (VSEs) - “an entity (enterprise, organization, department or project) having up to 25 people” [1] - have the challenge of handling multiple small-scale, fast-moving projects allowing little room for unwieldy management processes, but still requiring an efficient and straightforward monitoring process [2]. Moreover due to the small number of people involved in the project and the organization, most of the management processes are performed through an informal way and less documented [3]. The perception of heavyweight processes, especially in terms of documentation, cost and nonalignment with current development process, are among the reasons why the companies did not plan to adopt a lifecycle standard in the short to medium term [4, 5].

VSEs have unique characteristics, which make their business styles different to larger organizations and therefore most of the management processes are performed through a more informal and less documented manner [6]. Furthermore there is an acknowledged lack of adoption of standards in small and very small companies, as the perception is that they have been developed for large software companies and not with the small organisation in mind [7, 8]. As smaller software companies have fewer resources in term of people and money there are many challenges [9].

There is evidence that the majority of small and very small software organizations are not adopting [10] existing standards/proven best practice models because they perceive the standards as being developed by large organizations and orientated towards large organizations, thus provoking the debate the in terms of number of employees, size does actually matter [11, 12]. Studies have shown that small firms’ negative perceptions of process model standards are primarily driven by negative views of cost, documentation and bureaucracy [13]. In addition, it has been reported that SMEs find it difficult to relate standards to their business needs and to justify the application of the international standards in their operations [14, 15]. Most SMEs cannot afford the resources for, or see a net benefit in, establishing software processes as defined by current standards and maturity models [16].

Accordingly, a new standard ISO/IEC 29110 “Lifecycle profiles for Very Small Entities” is aimed at meeting the specific needs of VSEs [17]. The overall objective of this new standard is to assist and encourage very small software organizations in assessing and improving their software process and it is predicted that this new standard could encourage and assist small software companies in assessing their software development process [18]. The approach [19] used to develop ISO/IEC 29110 started with the pre-existing international standards, such as the software life cycle standard ISO/IEC/IEEE 12207 and the documentation standard ISO/IEC/IEEE 15289.

The ISO/IEC working group behind the creation of this ISO/IEC 29110 is encouraging the use of pilot projects [20] as a mean to accelerate the adoption of the standard by VSEs. To date a series of individual pilot projects (such as [2124]) have been completed in several countries, however this paper brings together a series of in-depth longer term case studies of ISO/IEC 29110 implementations into a more compressive case study setting.

1.1 The ISO/IEC 29110 Software Basic Profile

The basic requirements of a software development process are that it should fit the needs of the project and aid project success [26, 27]. And this need should be informed by the situational context where in the project must operate [28] and therefore, the most suitable software development process is contingent on the context [29, 30]. The core situational characteristic of the entities targeted by ISO/IEC 29110 is size. The Generic Profile Group a collection of four profiles (Entry, Basic, Intermediate, Advanced) providing a roadmap to satisfying a vast majority of VSEs worldwide.

At the core the Basic Profile of this standard is a Management and Engineering Guide, officially know as ISO/IEC TR 29110-5-1-2, which focuses on Project Management and Software Implementation as illustrated in Fig. 1. The purpose of the Basic Profile is to define Software Implementation (SI) and Project Management (PM) processes from a subset of ISO/IEC/IEEE 12207 and ISO/IEC/IEEE 15289 appropriate for VSEs.

Fig. 1.
figure 1

Basic profile processes and activities [26]

A set of Deployment Packages (DPs) have been developed to define guidelines and explain in more detail the processes defined in the ISO/IEC 29110 profiles [20] A deployment package is not a complete process reference model. Deployment packages are not intended to preclude or discourage the use of additional guidelines that VSEs find useful. DPs were designed such that a VSE can implement its content, without having to implement the complete ISO/IEC 29110 framework, i.e. all the management and engineering activities, at the same time. A set of nine DPs have been developed and are freely available from [31]. They are available in Czech, English and Spanish.

2 ISO/IEC 29110 Industry Trial

In this section we will three detailed case studies of organizations that have implemented ISO/IEC 29110. The purpose of these trials is to illustrate the usage of this standard in an industrial context and to provide feedback to standards authors. Whilst not a detailed methodological approach to validation of this standard and whilst acknowledging the validation limitations, we believe that these high level results are useful to researchers and practitioners alike.

2.1 Case 1: Implementation in an IT Start-up

An implementation project has been conducted in an IT start-up VSE by a team of two developers [32]. Their web application allows users to collaborate, share and plan their trips simply and accessible to all. The use of the Basic profile of ISO/IEC 29110 has guided the start-up to develop an application of high quality while using proven practices of ISO 29110. The total effort of this project was nearly 1000 h. The two members of the team were assigned roles and activities of ISO 29110 (see Table 1). The management and engineering guide of the Basic profile lists the documents that have to be developed during a project as well as their typical content.

Table 1. Allocation of ISO 29110 roles to the 2-member team [32]

During the software development, a traceability matrix was developed between the software requirements, defined in the requirements specification document, and the software components. Since, in most projects requirements, defined in the requirements activity, are never finalized at the end of this activity, a traceability matrix is very useful. One advantage of such a matrix is the possibility of rapidly identifying the impacted software components when modifications, additions, deletions, of software requirements are done during a project.

Verification tasks, such as peer reviews, were performed on documents such as the requirement specifications and the architecture. The team used the desk-check to review their documents which is inexpensive and easy to implement in any organization and can be used to detect anomalies, omissions, improve a document or present and discuss alternative solutions.

As defined in ISO/IEC 29110, the software integration and tests activity ensures that the integrated Software Components satisfy the software requirements. This activity provides [33]:

  • Work team review of the project plan to determine task assignment.

  • Understanding of test cases and procedures and the integration environment.

  • Integrated software components, corrected defects and documented results.

  • Traceability of requirements and design to the integrated software product.

  • Documented and verified operational and software user documentations.

  • Verified software baseline.

To manage the defects detected, a tracking tool was used. Such software allowed the team to do an inventory of problems found during the integration and testing activity, to track problems and to classify them, and to determine a priority for each defect found. In this project, the open source Bugzilla software tool had been used to manage the defects.

The test plan includes 112 cases which have been successfully completed with the exception test cases connected to one type of defect: the validation of the date format when manually entered by a user. Since this defect was classified as “minor”, it was decided not to correct their instances during the first cycle of development. Figure 2 illustrates the percentage of defects detected during the execution of the tests for each category of defects.

Fig. 2.
figure 2

Percentage of defects detected for each category of defects [32]

The members of the start-up have recorded the effort, in person-hours, spent on tasks of the project to the nearest 30 min. For each major task, the effort to execute the task, the effort required to review a document, such as the software specification document, in order to detect errors and, the effort required to correct the errors (i.e. the rework). As an example, for the development of the software architecture document, it took 42.5 h to develop, an additional 1.5-hour to conduct a review and an additional 3.5 h to correct the errors.

As illustrated in Table 2 for this start-up project, about 8.9 % (i.e. 89 h/990.5 h) of the total project effort has been spent in prevention tasks such as the installation of the server, the workstations and the software tools; and only 12.6 % has been spent on rework (i.e. 125 h/990.5 h). This indicates that the use of appropriate standards, in this case for a start-up company, can guide all the phases of the development of a product such that the wasted effort (i.e. rework) is about the same as a more mature organization (i.e. about level 3 of CMM).

Table 2. Effort to execute, detect and correct errors by the 2-member team [32]

A large study was performed, in a large organization, to measure the cost of quality where 1100 software tasks were analysed on a software development project totalling 88,000 h [32]. As illustrated in Fig. 3, the distribution of development costs in the various categories of software quality and implementation cost. At the time the cost of quality study was performed, this organization was at level 3 of the CMM maturity model.

Fig. 3.
figure 3

Distribution of effort in the 88,000-hour project [32]

In most start-ups, the wasted effort, for a project similar to this one, would have added about 90 h (i.e. 30 % of 716 or 215 h – 125 h). This also implies, that for a net effort of about 6 h per member per day (if we subtract from an 8-hour day interruptions (e.g. phone call), answering emails, discussions in corridors, etc.), the product would have been ready for delivery to a customer about 15 days, of 6 h, later than with a project with only 12.6 % of waste.

These two projects have demonstrated that, by using ISO/IEC 29110, it was possible to properly plan the project and develop the software product using proven software practices documented in standards as well as not interfering with the creativity during the development of their web site. People who think that standards are a burden, an unnecessary overhead and a treat to creativity should look at this start-up project and revisit their results.

2.2 Case 2: A Large Canadian Financial Institution

The Cash Management IT department, of a large Canadian financial institution, is responsible for the development and maintenance of software tools used by traders. The software team is composed of 6 people. Each year, the division is faced with an increase in the numbers of requests to add, correct or modify features related to supported applications. Before the implementation of the ISO 29110-agile [25] process, customers had the following complaints:

  • Very difficult to know the status of specific requests

  • Very often, there is an incident when a change is put in production.

  • There is a large number of faults detected by the quality assurance department

  • The development process is painful and the documentation produced is not very useful.

In response to this problem, we evaluated our process by comparing the activities of the maintenance process to those of the Basic profile of the ISO/IEC 29110. Some shortcomings were found in the project management process and in the software implementation process. Figure 4 illustrates the coverage of the software implementation tasks to the Basic profile.

Fig. 4.
figure 4

Coverage of the initial software implementation tasks to the software Basic profile (Translated from [34])

The project management process has been adapted to the context of the division, by injecting a few tasks of the SCRUM methodology. The new agile process, using the Basic profile of the ISO 29110, has been tested on three pilot projects. In this organisation, an incident is classified as minor or major using a set of criteria such as the number of impacted systems, the severity, number of customers impacted and criticality of the impact. The criticality is evaluated on a 1 to 5 scale. Figure 5 illustrates the decrease in the numbers of systems impacted as well as in the total criticality level. In June, Fig. 6 illustrates that 5 systems were impacted and the criticality of those 5 incidents was of 17. About 9 months later, both the number of incidents and the criticality were very low (i.e. one incident and criticality level 1).

Fig. 5.
figure 5

Reduction of the number of monthly incidents (Translated from [34])

Fig. 6.
figure 6

Satisfaction level of traders (0 to 10 scale) before and after the implementation of the ISO 29110-agile process (Translated from [34])

The adoption of this agile approach, however, requires a higher availability from the users. Initially, this new approach presented a challenge. In some cases, a few users appointed a representative to play the role of head of product backlog. But, that person did not have adequate knowledge of the business domain. Also, the head of product backlog was not able to respond quickly to questions from developers about the requirements, and user stories were not sufficiently documented in advance to maintain the velocity of the team. Finally, representatives of the Project Office and the Audit Group required a few modifications to the new ISO 29110-agile process.

A survey has been conducted to measure the satisfaction level of traders after the deployment of the new ISO 29110-agile process. The following ten questions were asked to traders (on a 0 to 10 scale):

  • How do you qualify the quality of our software upgrades (e.g. number of incidents recorded in production)?

  • Are you well informed about the content of the next software upgrade?

  • Is the frequency of delivery right for you?

  • How do you trust the new process?

  • How would you describe the ability of the new process to respond to your needs?

  • How easy is it to consult the status of a change request?

  • How much the new process prioritizes the added value for you as a trader?

  • What is the quality level of upgrades?

  • Are you satisfied with the productivity of the team in response to your needs?

  • What is your overall level of satisfaction about the new process (e.g. quality, cost, return on investment)?

Figure 6 illustrates the increase in satisfaction level between the old process in 2014 and the new ISO 29110-agile process in 2015. The new ISO 29110-agile process has been tested on three pilot projects.

The new process helped to significantly reduce the number of major incidents caused by changes to the tools of the traders. The users are delighted with the new agile planning and control approach, which allows them to better manage their priorities and to always know the status of their requests. The maintenance team was also very pleased to see an improvement in the quality of the change requests, resulting in a noticeable decrease in the number of defects in the software tools handed to traders.

2.3 Case 3: The Implementation in a Division of an Engineering Enterprise

A Canadian division of a large American engineering company, the Transmission & Distribution of electricity division, has implemented a program to define and implement project management processes for their small-scale and medium-scale projects [35]. The firm already had a robust and proven process to manage their large-scale projects. The objectives of this process improvement project were to reduce cost overruns and project delays, standardize practices to facilitate the integration of new managers, increase the level of customer satisfaction and to reduce risk-related planning deviations. Their projects are classified into three categories as illustrated in Table 3. As illustrated in the table, over 95 % of the projects fall in the small- and medium-scale categories.

Table 3. Classification of projects by the engineering firm [35]

Pilot projects have been conducted to test the project management processes and associated support tools (e.g. templates, checklists). The pilot projects consisted of running three different projects where project managers implemented the process and the associated tools. Managers then evaluated the proposed processes, identified problems and potential improvements.

The project management practices used by the company’s managers were assessed against the ISO 29110 standard’s Basic Profile. The division used the project management process of the Entry Profile of ISO 29110 to document their small-scale project management process and they used the project management process of the Basic profile to document their medium-scale project management process.

ISO has developed a methodology to assess and communicate the economic benefits of standards, which was used, by the engineering firm, to estimate the anticipated costs and benefits over a period of three years. The key objectives of the ISO methodology are to provide:

  • A set of methods that measure the impact of standards on organizational value creation

  • Decision makers with clear and manageable criteria to assess the value associated with using standards

  • Guidance on developing studies to assess the benefits of standards within a particular industry sector

The approach used by the company comprises four steps:

  1. 1.

    Understanding the company’s value chain

  2. 2.

    Analysing the value drivers

  3. 3.

    Identifying the impacts of standards

  4. 4.

    Assessing and consolidating results

The “value chain” is a concept can be used as a tool to understand the competitive advantage that a company can have in the actions it undertakes. The “value chain” is a representation of the different steps for an organization to create value in the form of goods or services to customers. Figure 7 illustrates the value chain of the company according to Porter’s model. The performance of an activity can have an impact on cost and create a differentiation from competitors. Hence the advantage of using this tool to determine the impact of the project management improvement project to improve project management practices of the company.

Fig. 7.
figure 7

Value chain of the engineering division (adapted from [36])

The sponsors of this process definition project made the estimates. The improvement program project sponsors made an estimate of anticipated costs and benefits over a period of three years. Table 4 shows the results for the first three years.

Table 4. Costs and benefits estimations [35]

Pilot projects have been conducted to test the project management processes and associated support tools (e.g. templates, checklists). The pilot projects consisted of running three different projects where project managers implemented the process and the associated tools. Managers then evaluated the proposed processes, identified problems and potential improvements. The lessons learned sessions conducted at the end of the pilot projects have identified minor adjustments to the processes and tools.

A section of the intranet, dedicated to project management, was created and served as a main access to project management documents such as project management process guides, checklists, forms and templates. Project managers were trained in the new processes and support tools.

The tools developed to support the project management processes proved very useful and helped the project managers rapidly integrate the knowledge required to execute the processes. The improvement program was so successful that managers of the company’s other divisions have shown an interest in learning this approach in order to implement it within their respective divisions.

The engineering firm is planning to document and implement their systems engineering processes for the small-scale and medium scale projects using the ISO/IEC TR 29110-5-6-1:2015 Entry Profile [40] and ISO/IEC TR 29110-5-6-2:2014 Basic Profile [39] of the ISO 29110 systems engineering standard and guides.

Recently, the systems engineering Basic Profile of the ISO 29110 [39] has been implemented and successfully audited, by a team of 2 independent auditors, in a company involved in the design and production of subway system components [40ƒd].

3 Discussion and Future Work

The three case studies presented in this paper have demonstrated that by using ISO/IEC 29110, it was possible to properly plan and execute projects and develop products or conduct projects using proven system or software engineering practices without interfering with the creativity of developers. The relationship between the success of a software company and the software process it utilized has been investigated [33, 34] showing the need for all organizations, not just VSEs to pay attention to software process practices such as ISO standards.

As ISO/IEC 29110 is an emerging standard there is much work yet to be completed. The main remaining work item is to finalize the development of the remaining two software profiles of the Generic Profile Group: (a) Intermediate - targeted at VSEs involved in the management of more than one project in parallel with more than one work team and (b) Advanced - targeted at VSEs which want to sustain and grow as an independent competitive system and/or software development business.

Working Group 24 of ISO/IEC JTC1/SC7 was initially authorized to develop the ISO/IEC 29110 for software, was also assigned to develop a similar approach for VSEs involved in the domain of systems engineering [37, 38]. Recently the ISO published the systems engineering and management guides of the Basic profile [39] and Entry [41]. A German version of the Basic profile will be available in 2017 from the German standardisation organisation. The systems engineering and management guide of the Intermediate profile should be published by ISO in 2017.

Work currently underway on an assessment mechanism for ISO/IEC 29110 [42], a clear niche market need is emerging which may force the process assessment community to change their views on how process assessments are carried out for VSEs. It is clear that the process assessment community will have to rethink process assessment, new methods and ideas for assessing processes in VSEs.

In 2009, it was proposed to establish an informal interest group about education. Its main objective is to develop a set of courses for software undergraduate and graduate students such that students learn about the ISO standards for VSEs before they graduate. The role of education [4346] is a significant issue in ensuring that the next generation of software project managers and software process engineers are both familiar with the benefits of standards, specifically in VSEs and the role of ISO/IEC 29110 in particular. In 2016, fifteen countries are teaching ISO/IEC 29110. As an example, ISO 29110 is taught in 10 universities of Thailand as well as in undergraduate and graduates courses in Canada [47]. Such education programmes may assist with addressing the perceived issues with standards adoption and the lack of managerial commitment [48, 49] in adopting VSE standards.