Challenges for software developing companies in the 21st century
Bernhard Kölmel FZI Forschungszentrum Informatik Karlsruhe, Germany
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
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
Fig. BK 4: Example of questionnaire
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).
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.
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.
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.
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.”
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:
[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
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.