EuroSPI 2000 
Practical and innovation based software process improvement to prepare for the new millenium.
European Software Process Improvement
SPI implementation
Category Index
Rated Newspaper Supported by EU Project 

 
 
 
 
 

Challenges for software developing companies in the 21st century
 

Bernhard Kölmel
FZI Forschungszentrum Informatik Karlsruhe, Germany


 

Introduction

This article presents the results of an empirical study of the German ESPINODE (ESPINODE = European Software Process Improvement Node partially financed by the European Commission within the ESSI initiative) “IMPROVE software” concerning the main technological and process-oriented challenges for software developing companies. In this survey 156 companies answered questions on goals of their software process improvement (SPI) activities, the most important technological challenges, the processes to be improved, the main barriers, and needed assistance. It showed that the lack of qualified personal influences most of these topics, leading to time pressure and the lack of information exchange. While the technological goals of the companies are up to date, the process improvement goals seem to be the same for years. The potential benefits of software process improvement projects need to be much more communicated.
 
 

Importance of Software for Economy

Servicse and products, as well as the future of the industrial world are based more and more on software. The contribution of software for the added-value-creation-process is increasing everywhere and amounts, for example over 80% in the telecommunication industry [3]. The rising influence of software in all areas of industry, economy and in ordinary life is the reason for the ever-increasing demand of complex software. „North American software spending enjoying six years of 20%+ growth“ was reported by [6]. In the US [7] illustrates that “beginning in 2000 the industry’s contribution to the […] will exceed that of all other manufacturing industry groups”. Fig. BK 1 demonstrates the expected growth software industry against the automobile industry in the US [7].

Fig. BK  1: Relative growth prospects of software industry vs. automobile industry in the US

The software developing organisations are facing a lot of problems. In accordance to a study of the Standish Group it becomes clear, that the level of software development have has to be improved. [5]: hardly 16% of all software projects are successful (i.e. time- and budget conform with all specified functionality). Some 53% are completed with problems (i.e. with enormous overtime which is in average 222% and much a 180% higher budget than calculated and/or substantial functional or quality impairment) and over 31% of the projects are cancelled at all.
Based on this the European Software Institute concludes that “software process improvement is not just an admirable goal in itself but also a commercial necessity” [8]. Nevertheless a lot of companies do not invest in software process improvement activities [4]. One reason might be that the effects and the return of investment of software process improvement activities are not widely known. Rementeria complains that “too many of the benefits of process improvement appear not be obvious” [9].
Another reason is that the provided services and assistance by consultants and tool-providers is not completely compliant with the requirements of industry. In an SPI-event one attendee complained “the SPI consultants do address our needs, they want to sell their pre-defined approaches”.Too many software process improvement (SPI) consultants try to sell their defined approaches to software developing companies, but a concentration on topics which are needed by the companies is essential for success. “An assessment usually identifies more improvement opportunities than you can tackle at once. “Focus” is a key word in process improvement.” [Wie99]. It is necessary to identify the most challenging technological and process-oriented problem areas and concentrate the provided assistance in a few well-defined and well-needed improvement activities.
Therefore FZI Forschungszentrum Informatik Karlsruhe, on of the German ESPINODEs “completed an empirical study concerning the main challenges of software developing companies. More than 150 companies participated in the study. Within the study, the technological and process-oriented challenges of software developing companies (almost equally distributed over all company-sizes) have been identified. The study contains quantitative figures and detailed information on the distribution of the responses from the software developing companies
 
 

Empirical Basis

The questionnaire was handed out in the first quarter of the year 2000 at ESPINODE events aiming for the improvement of software development, which discussed both process-oriented (e.g. topics like CMM, testing, configuration management) and technology-oriented topics ( OO, Java, XML ,etc.). Additionally the questionnaire was mailed to some 250 software-developing companies in Southern Germany. Besides a short information about the company, the questionnaire contained questions on the specific goals of software process improvement in the company, the processes and technologies that need to be improved, as well as the existing barriers and the demand for support. Overall there was a response of 156 questionnaires, which represents an adequate basis.
The answers are almost evenly distributed over the different sizes of companies, whereby the companies with 50 to 249 employees are strongly represented (see Fig. BK  2).

Fig. BK  2: Size of responding companies

The companies which completed a questionnaire represent all relevant market areas of software development (multiple-entry was possible), the most represented areas are individual development and dedicated software services. The topic of embedded systems is not very highly represented, although in Germany it is assumed that approximately 50% of all software development activities are in the scope of embedded systems (Fig. BK  3).

Fig. BK  3: Represented software market areas


Structure of the questionnaire

The respondents were asked to qualify their company with information regarding the size and turnover, the area of software development and the main application area (branch) of their customers. After that they should identify their main business-oriented improvement goals and deduce the relevant technologies and process, which need to be improved in order to reach these business goals. Moreover the respondents should name the aspects they see as biggest barriers to reach their improvement goals and the kind of assistance they are looking for.
In the questionnaire the respondents should “tick” a number form “-3”, which meant total disagreement to “3”, which meant total agreement.
The following figure (Fig. BK  4) demonstrates a part of the questionnaire, regarding the desired assistance. All other aspects were addressed in the same way.

Fig. BK  4: Example of questionnaire

Goals of improvement activities

All of the possible business goals were rated relatively high. The ratings of all business goals are significantly above zero. Only very few questionnaires contained a negative “tick” (disagreement to a business goal), 4% of the respondents marked “cost reduction” below zero and 2% marked “security of investments” as a disagreement of their business goals. Fig. BK 5 shows graphically the arithmetic average of the most important improvement goals.

Fig. BK  5: Arithmetic average of the improvement goals

According to the arithmetic average both goals time/resource savings (77% of the respondents demonstrate a large agreement, which means rated with 2 or 3) and productivity improvement (72% demonstrate a large agreement) are regard as being of highest importance. Even cost reduction is significantly above the rating of indifference (average of cost reduction is 1,30), although it is the least important business goal. Many of the respondents kept an eye on the market: 61% of the respondents regard the market factors “time-to-market“ and “market benefits” as a highly important business goal. In order to identify the reasons behind this qualitative assessment we conducted some 15 interviews with companies, which completed the questionnaire. It came out that the two highest rated business goals “time/resource savings” and “increase of productivity” are due to the situation on the market. It is relatively easy to get software development contracts. The demand for highly innovative software products and services is very high, especially in the area of embedded systems and e-commerce. Unfortunately it is very hard to take on new employees (due to the great lack of qualified personnel). Therefore especially savings in human resources and increase of productivity is seen as a potential short-term solution to cope with the current situation. Even if every company is always interested to cut costs, this is the least important concern in the actual booming situation (market forecasts predict an annual increase in the turnover of software development of more than 20% [6] for the next few years).
 
 

Technological challenges in the next years

Not surprisingly, technological issues, which are necessary to put the „E-Economy“ in place, are regarded as the most important technological challenges in the next few years. Almost every software developing company sees an important part of their revenue coming from “e-business” products and services.
The following figure (Fig. BK 6) gives an overview on the calculated arithmetic averages of the technological challenges.

Fig. BK  6: Arithmetic average of the technological challenges

Interoperability is in the average sees as the most important technological challenge within the next few years. 77% of all respondents consider interoperability having a very high importance for their development activities, the arithmetic average is 2,35. Also other technologies which are necessary to deliver products and services for the web-based community are of very high importance for the software developing companies. Distributed systems get an arithmetic average of 2,20 and 82% of all respondents say it is one of the major technological goals to have distributed systems. But also object-oriented development  (arithmetic average is 2,10 and 79% say OO has great importance) and component based software engineering (arithmetic average is 2,17 and 77% say it is essential) have a high significance. All these technologies form the technological basis for web-based economy. One of the respondents put it this way: “If you do not come up with a web-based solution in the next two years, even if it is only for marketing purposes, than just forget your company”. An other remark was “we have to announce that we always use the newest technology, last year it was XML, this year it is WAP, nobody know what next year is “hip”.

Regarding the low arithmetic averages of all technologies important for embedded systems (like HW/SW Co-design or code-generation) it has to be kept in mind that only some 18% stated that they are involved in the development of embedded systems. The author does not consider this study to be representative for the area of embedded systems.
 
 

Targeted process improvements

The process improvement must go hand in hand with technological changes. If we look at the figures presented by the Software Engineering Institute in the Process Maturity Profile of the Software Community 1999 [11] it is clear that a lot of companies are still on very low CMM-level. Therefore it is obvious that the development processes must be dramatically improved. “It is now obvious the key to profitability and survival is more than just developing a technical solution. It also depends on how well we manage our resources (people, technology, equipment,...), how well we integrate these resources, and the organization’s adaptability to change“ [11].
As a matter of fact the arithmetic average of the identified process improvement area is much lower than the arithmetic averages of the technological challenges. Whereas in the technological challenges the average of the items is between 1,50 and 2,50 it is in the development processes between 0,50 and 1,50. This gives a first impression on the stated importance of technologies versus processes.
The following figure (Fig. BK 7) gives an overview on the calculated arithmetic averages of the identified process improvement areas.

Fig. BK  7: Arithmetic average of the identified process improvement areas

Especially documentation (arithmetic average is 1,51), testing (arithmetic average is 1,48), project management (arithmetic average is 1,43) and requirements analysis (arithmetic average is 1,41) are seen as the most important process-oriented improvements aspects.
These aspects remain the same for several years, since the early beginnings of software process improvement items like project management or configuration management are on the top list of improvement activities. This is based on the fact, that in the last years a lot of new companies, which are now active in new areas like e-commerce or multi-media, were established. The new companies still have the problems established ones had ten years ago. This leads to the question, if our educational systems are adequate, or if important practical aspects are not adequately addressed.
Within the interviews we got the impression that the “land-rush” for technology is so dominant that all process-oriented issues are totally forgotten. One of the interviewees stated it as follows: “I do not care one iota about the development processes, we have to cope with the technological challenges. I know that we have problems with some processes like configuration management or requirements gathering, but I have no time to improve that, We concentrate now on the technologies and in a few years on the processes”. This leaves the problem, if they will ever have time to cope with process improvement, if there is not always a new technology, which has to be introduced into the company.
 
 

Identified Barriers

In order to support software-developing companies in their SPI-activities it is necessary to know the barriers, which hinder the improvement of the processes and used technologies. The study intends to identify the main obstacles. The following figure (Fig. BK 8) gives an overview on the calculated arithmetic averages of the identified barriers.

Fig. BK  8: Arithmetic average of identified barriers

Time pressure (70% of the respondents mention time pressure as a very important obstacle) and lack of adequately educated staff (60% of the respondents indicate lack of staff as a major problem) are seen as the major barriers to successful improvement of technologies and development processes. Both items correlate very highly with each other, since time pressure and lack of staff are closely related. This fact fits perfectly to the identified major business goals, time/resource-savings and increase in productivity.
The other very important barrier is the lack of accepted standards. In the interviews the respondents complained about the lack of widespread standards, which is currently a big problem in the e-commerce area. This problem is connected with the desire to reach a good interoperability between solutions (e.g. XML might be a possible solution). A lot of companies (especially established onea) await with the implementation of new technology until universally valid standards are defined. But very often it does not last long till the market is insecure again by new formats and technologies (land-rush of technologies). Internal opposition on staff, lack of good training, lack of information and too high costs of investments are not considered as big obstacles for the introduction of better processes or new innovative technologies. A fast change in technology can face companies with problems. This is not deemed as the biggest difficulty, but a lot of respondents name it as a sort of background problem. In the interviews some respondents showed qualms in respect of the technologies they must patch because of customer compulsion.
 
 

Leverages and desired assistance

Most companies need assistance to reach their stated business goals. External assistance of not “pre-occupied” experts is one of the most quoted success factors in change of technology and improvement of processes. This also evident by the recent success of big consulting companies. The following figure (Fig. BK 9) gives an overview on the reported arithmetic average of the desired assistance.

Fig. BK  9: Arithmetic average of the desired assistance

It is very interesting, yet not very surprising, that financial support has received the lowest arithmetic average of the identified assistance areas. This correlates highly with the recognised business goals (cost reduction is seen as the least desirable business goal).
For most of the respondents the exchange of information with experts and colleagues on events is the most important sort of support. Together with information events this is an essential way of planning the future growth of the company. The respondents also postulate the widespread sort of technology transfer by feasibility studies and pilot projects. This strategy is followed by the European Commission in its „Best Practice Projects“. In the internet (URL http://www.esi.es/ESSI/Reports/All/24151/-Download.html) you can find several case studies of the SISSI Initiative, which cover almost all improvement areas in the process area and the technology area. These studies describe the strategy and the solved problems, the used processes, the chosen technologies and the realised business benefits.
Though the topics training/coaching and the existence of information and consulting centres have not the highest averages, there is a big majority which would like to use such facilities and offers. 95% of all respondents mark the assistance through established competence centres with a mark of zero or higher, and still 84% of all respondents do this for training/coaching in relevant areas.
In the interviews some software experts stated “we need to go to technology events, there we can see the newest technologies already introduced into a prototype. This gives us an idea about what can be done”. Another one said “technological feasibility is the most important area of information. It helps us most, if we can have a discussion with somebody who did it.”
 
 

Conclusions

“The Roman bridges of antiquity were very inefficient structures. By modern standards, they used too much stone, and as a result, far too much labour to build. Over the years we have learned to build bridges more efficiently, using fewer materials and less labour to perform the same task.” quoted from Tom Clancy (The Sum of All Fears).
Software development is a relatively new field in science and practice. There are huge gaps between the state of the art and the targeted goal. We can only hope to build modern software efficiently (just like bridges, each major step towards improvement be it technological or process oriented must be investigated, studied, reported and shared) if we improve both, the technology and the processes. It makes no sense to concentrate only on either one [1].

At the moment all business goals are greatly influenced by the lack of staff and the emergence of new products and services in the e-commerce field.
Very interesting is the difference between the technological goals, which are highly innovative and most of them rather new and the “old” process-oriented problems, which remains the same all the time.
The technologies, which should be introduced into the companies within the next few years, are highly innovative (due to demand of distributed, web-based solutions). The processes, which need improvement, remain the same, since first SPI activities started. Documentation, project management and testing, which are often seen as bureaucratic activities within the software development life cycle still need to be improved. The most important barriers in order to reach the targeted business goals are the lack of staff and time pressure within the projects (related to the current situation with several hundred thousand software-experts missing in Europe) and the lack of accepted standards (especially for interoperability). The companies appreciate, if multipliers or competence centres organise information exchange meetings. For the demonstration of feasibility, pilot projects and demonstrators are seen as very helpful. At the moment Money is not the problem, it is the least desired business goal to reduce costs and it is the least quoted assistance measure to receive financial support.
Notwithstanding, this study is hardly in-depth enough to provide a real solution to such a daunting problem as the current low level of software development. In order to reach high quality of software products and services, to keep schedules and cost calculations, a lot of effort is necessary. Especially the assisting organisations should concentrate more on the business goals of their customers and not on their consulting approaches. Since almost all technology matters are attributed with higher importance than the process issues, it seems to be necessary to consider appropriate activities.

Here ends this report, it should serve as a reminder for discussion and leaves us with the questions:


 

References

[1] Watts, Humphrey S.: Doing Disciplined Work . SEI 1994

[2] Koch, Guenther R.: Process assessment: the “BOOTSTRAP” approach. 1994

[3] Rombach, Dieter: Software Qualität geht alle an. Handelsblatt Ausgabe 49, 1998

[4] Rombach, Dieter: Softwareprozessverbesserung: Strategische Notwendigkeit für alle Branchen in SQM (Software-Qualitätsmanagement) „Made in Germany“ – Nützlich oder strategisch notwendig- SQS Gesellschaft für Software-Qualitätssicherung mbH Köln, 1998

[5] The Standish Group: CHAOS-Report. The Standish Group, Report, 1998

[6] Sentry Technology Group: 1997 Software Market Survey - Establishing value-based supplier differentiation. http://www.softwaremag.com/
research_reports/soft_mkt/ Download 06.07.2000

[7] Business Software Alliance: Forecasting a robust future, Report 1998

[8] European Software Institue: Process Improvement - The Business Case. http://www.esi.es/Brochure/English/br2.html Download: 03.07.2000

[9] Rementeria, Santiago: EUROPEAN SOFTWARE INSTITUTE in SOFTWARE PROCESS-Improvement and Practice - Vol.1, Issue 2 1995

[10] Wiegers, Karl E.: Process Improvement that Works. In Software Development. 1999

[11] Carnegie Mellon University - Software Engineering Institute: Process Maturity Profile of the Software Community 1999 Year End Update
 
 

Appendix 1 - Curriculum Vitae author

Bernhard Kölmel is currently head of the divisions “International Department” and “Technology Transfer” at FZI Forschungszentrum Informatik Karlsruhe. FZI is an interdisciplinary technology transfer institute, which is specialised in industrial take-up projects of highly innovative information and communication technologies (ICT).
In this respect he is responsible for the management of all public R&D projects and the contacts to national and international industry.
Mr. Kölmel is project leader of several national and international R&D and Technology Transfer projects, among them IMPROVE software: the ESPINODEs (European Software Process Improvement Node ), the SME COMPETENCE CENTRE for Electronic Commerce, Virtual Organisations and Knowledge Management, the project VIRTUAL OFFICE which provides knowledge intensive services for SMEs etc.
Mr. Kölmel is since June 1999 acting head of the division “Business Process Engineering and Management”, where he is responsible for the establishment and the growth of the division.
Mr. Kölmel is advisor in European ICT matters (esp. IST programme) to ministry for economic affairs of the federal state of Baden-Württemberg. He is involved in the set-up of public funded initiatives in the area of Software Process Improvement, Business Software, Embedded Systems and Virtual Organisation for various ministries in Germany.
Mr. Kölmel is also evaluator and reviewer for various projects and programmes of the European Commission.
 
 

Appendix 2 – description of company

FZI Forschungszentrum Informatik Karlsruhe is an interdisciplinary technology transfer institute, which is specialised in industrial take-up projects of highly innovative information and communication technologies (ICT).
FZI was established to bridge the gap between Universities and Industry. FZI helps its customers with their investment policies by supplying them with critical information. In feasibility studies FZI shows hether and how an innovative technology might be useful. Comparative case studies help to choose among business and engineering methods and techniques, and market analyses put a customers in a position to select software and hardware tools. The following figure illustrates the approach of FZI to technology transfer.

Fig. BK  10: FZI – ways of technology transfer

FZI's Expertise for Tomorrow's Solutions
With our core competence in software and hardware systems, particularly for supporting distributed applications, FZI occupies a central position in modern information and communication technology. FZI focus its activities on a number of critical areas.



 
Partners in EuroSPI

Editors
ISCN LTD, ISCN GesmbH, Schieszstattgasse 4/24, 8010 Graz, and Coordination Office, Florence House, 1 Florence Villas, Bray, Ireland, office@iscn.at, office@iscn.com, office@iscn.ie, Editing Done: 19.7.2002