Keywords

1 Introduction and Motivation

Software process improvement (SPI) methods, such as CMMI or SPICE, deal with the continuous improvement of existing development processes and are an important aspect of software engineering [1, 2]. Nonetheless, SPI projects are hardly ever initiated for their own sake [3]. Instead, process improvement initiatives are generally triggered by organizational or project-specific improvement goals. And here, we lack insight into which organizational improvement goals are actually driving SPI initiatives in practice and of these, which are the most important?

One aspect that has been researched thoroughly is SPI success factors [1], which are only partially related to the improvement goals. In this study, we want to shed light on the state-of-the-practice in setting SPI goals. That is, we want to identify those goals that are typically considered when improving the software development process. Although we investigate a wide variety of software domains, special emphasis has been placed on web domains, business processing, and tool development in small and medium-sized enterprises (SMEs).

The remainder of this paper is structured as follows: After this introduction, we briefly discuss some related work on improvement goals (Sect. 2). Section 3 contains our approach of how we collected the resulting improvement goals of Sect. 4.

2 Related Work

Software process improvement often relies on assessments and the use of reference models, such as CMMI for Development [4] or SPICE (ISO15504) [5]. These approaches only incorporate SPI goals implicitly by aiming for capability or maturity levels that are loosely coupled with high-level improvement goals (e.g., “GP2.2 - plan the process” or “GP2.5 - train people”).

However, there is some existing work on goal-based SPI: Diebold and Zehler [6] introduce an Agile Capability Analysis that uses different improvement goals and applies GQM [7] and GQM+Strategies [8] approaches. This work also incorporates ISO 25010: Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models [9], which are used as sub-goals for product quality.

Along with these very process-specific aspects, there are goal-based software engineering approaches in specific fields such as requirements engineering (RE) [10] and testing [11]. These approaches focus on project and product improvement goals and do not consider process and organizational ones.

3 Data Collection Approach

First of all, we used the input that was directly connected with our work ([6, 9] presented in Sect. 2) as initial idea. (1) Out of this input, we put three examples on a poster to collect further ideas at the OOP2016 conference (www.oop-konferenz.de). We ended with 26 possible improvement goals, collected by the conference participants and other exhibitors. (2) Afterwards, these items were discussed, sorted, and categorized in a workshop with partners from academia and practice.

For further refinement and extension, we (from academic viewpoint) (3) conducted three independent workshops with different industrial partners, all SMEs. These workshops were guided by one of the authors and performed in an open way. We asked generic questions regarding the improvement goals. We collected the data from all workshop-participants (from 2 to 5 participants) on sticky-notes. In this collecting process different roles took part, e.g. management, project leaders, and developers. The notes were discussed, grouped, and consolidated together with all participants. After the workshops, we integrated these results into a mind map that visualized the previous results.

To come up with final results, we conducted a further workshop with practitioners and academics to discuss the final mind map in detail. The results that were concluded in this meeting will be presented in the following section.

4 Result: Current Improvement Goals

We visualized the different improvement goals in a mind map including different levels of abstraction due to their level of granularity. The highest level of the mind map (Fig. 1), level 1, shows the initially established improvement goals customer involvement, time-to-market, quality, and organizational democratization.

Fig. 1.
figure 1

Improvement goals

On level 2, the respective improvement goals from level 1 are refined. Therefore, customer involvement is divided into customer participation, customer satisfaction/acceptance, (intermediate) product-transparency, budget-transparency, and project-transparency. Organizational democratization is clustered into the following three sub-goals: internal knowledge management (technical as well as nontechnical), personnel motivation, and project democratization. Quality is composed of innovative solutions, conceptual quality, technical quality, testability/acceptance criteria, and user experience. Finally, time-to-market has four sub areas: automation, competence focusing, resource management, and time-transparency. All improvement goals on level 2 will be described in the following sub-sections.

4.1 Customer Involvement

Objective is the integration of the customer in the early phases of the product development process. This is to receive early and regular feedback regarding the customer’s expectations. It is addressed by the sub-goals customer participation and customer satisfaction/acceptance. Furthermore, giving stakeholder transparency on the development increases comprehension of the product and business process. This conveys the feeling of being involved in every step and is addressed by budget-transparency and project-transparency.

Customer participation:

For a high customer involvement in the development process, an appropriate qualitative and quantitative feedback is needed. Additionally, predefined deadlines with defined commitments to assess the intermediate product results helps increasing the involvement. To reach respectable feedback, receiving real user feedback in an adequate quantity is important.

Customer satisfaction/acceptance:

Understanding customers is a prerequisite to reach their satisfaction/acceptance. This includes personal aspects and, especially, the expectations of the customer. Misinterpretations of expectations can be created by either the customer by, e.g. being uncertain about the desired result, or by the contractor by misunderstanding the customers’ wishes. The objective is to reach a common understanding concerning the desired output and to build up a common vocabulary regarding the timed collaboration und functioning.

Budget transparency:

Before gaining this goal, an initial (and later continuous) effort estimation is needed and presented openly. Furthermore, the up-to-date information needs to be accessible anytime. The idea is to improve the cost estimation to decrease number of adaptions. Additionally, a good, regular, and truthful communication regarding time and progress is pursued.

Project transparency:

To enable a good project transparency, a close and regular documentation of the project work needs to be implemented in the company (work package, problems, problem solutions, etc.). Additionally, every employee and customer must have an overview over the ongoing projects. Further aspect is the increase of understanding the system, e.g. by clearer and detailed requirements, clarification of expectations, clear/understandable definition of the work packages, and transformation of customer wishes into concrete realizable tasks. Moreover, tracking of progress needs to be enabled, so the status quo can be presented to the stakeholders. Another important sub-goal is the contract management, in particular, the tender preparation and project approval. Project approval enables the customer to recognize, which products will be contemporarily available on the market. Besides, the customer and the market competitors are comprehensible shown, which effort (e.g. budget, duration, and employees) is required to produce the end-product.

4.2 Organizational Democratization

Democratization of the organization tends to uniform, equal (working) conditions and rights of co-determination of all employees within the company. It is clustered into: internal knowledge management, employee motivation, and project-democratization.

Internal knowledge management:

It is focused on technical as wells as on organization knowledge management, that is divided into: elimination of bottlenecks, better documentation, knowledge transfer, exchange of experience, better communication within and across teams, and increase of understanding the system (incl. interfaces). Possible bottlenecks need to be prevented, existing bottlenecks need to be eliminated, e.g. competition, cultural differences, distribution within and of team. Better documentation refers to documentation of change requests to prove anytime: “What shall be proved when and how, and what has been changed in fact.” The exchange of experience focusses on information distribution across all stakeholders and preparation of project learning. Combined with them, a better communication within and across the team is addressed. This is achieved as all employees are informed about time, progress, and budget status of every project. The technical knowledge management should increase the understanding of the system, including its interfaces. This increase shall be ensured by an appropriate tool support at the beginning (e.g. Jira for ticketing) and by avoiding repeating mistakes.

Employee motivation:

The aspired improvement goals are: acceptance of the course of action by the personnel, pleasure at work, satisfaction within the team/staff/company, increasing creativity, assumption of responsibility by all personnel, credibility concerning successful implementation, recruiting of new personnel by increasing attractiveness of the company, and qualification (e.g. training opportunities). Attracting the aspects pleasure at work, satisfaction within the team/staff/company, increasing creativity, assumption of responsibility by all personnel, and credibility concerning successful implementation boost employee motivation by creating an overall feeling of togetherness, being successful, and being appreciated. Recruiting new staff increase motivation by established employee by, on the one hand, getting new insights and ideas, and, on the other hand, defending the acquired position. Acceptance of the course of action leads to the identification with the company values, vision, and working methods.

Project-democratization:

Derived from the high-level organizational democratization, flat hierarchies, simplification of the communication and escalation paths, discussions about project content, multi-project-management, uniformity of processes, and/or filing by a close documentation need to be achieved and improved. This assures uniform conditions regarding the collaboration of every single (team) employee. Additionally, it improves the overall productivity.

4.3 Quality

One workshop resulted in a deeper clustering of the goal “quality”. The companies explicitly addressed and discussed the sub-goals innovative solutions, conceptual quality, technical quality, testability/acceptance criteria, user experience, and documentation.

Innovative Solutions:

One way to increase the process and, thus, the resulting product quality is the creation of more innovative solution within the products. It leads to a competitive advantage on the product market. This is because of creating attractive products, the customers get convinced of their (innovative) unique quality.

Conceptual and technical quality:

In particular, both quality aspects were discussed elaborately due to their high importance. Conceptual quality refers to compatibility, maintainability and portability of the system or the software. In contrast, the technical quality focuses on the quality aspects of the ISO25010. These aspects contain functionality, performance, usability, reliability, and security of single technical parts of the products. They improve software architecture, prototyping, technical up-to-dateness as well as the balance between individual/customized and standard software.

Testability/acceptance criteria:

A further possibility is the implementation of a more efficient testability/more efficient acceptance criteria. This results in a faster testing process. It enables a higher amount of iterations with different scope and, thus, a faster commercialization of a high-value product.

User experience:

This goal focuses on the involvement of the user experience as it is propagated by the ISO25010 [9] with its “quality in use”. Similar to [6], it shows the importance of the different quality aspects of the ISO, whereas the customers (especially in information systems) focus on user experience. User experience increases by fast recovering, evaluating, and implementing.

Documentation:

Documentation is part of software development. Thus, it is an important ingredient for quality. The quality of documentation depends on different aspects, namely amount, availability, maintenance, and granularity of the documents.

4.4 Time-to-Market

Time-to-market aims at bringing products to the market fast for a competitive advantage regarding the price policy. It contains the time from a vague idea through the development and test phase up to the real market launch. Time-to-market is divided into competence focusing, resource management, and time transparency.

Competence focusing:

First of all, competence focusing needs to be implemented and lived. Time and effort available shall fully be used in exactly these fields of work, which represent the core competencies of the company. Therefore, core competencies need to be identified. Afterwards, dealing with these within teams and organization must be learned.

Resource management:

Resource management needs to be optimized for not wasting time, effort, and resources. It refers to a project specific planning, adaption, and application of resources. Thus, a project specific capacity needs to be carried out as well as a balance between projects, products and customers (e.g. regular customer vs. new customer).

Time transparency:

Time management/time transparency might be the most important factor to fulfill the time-to-market. It is addressed and fulfilled by the following two sub-goals: (1) Adhere to internal and external deadlines. (2) Communicate delays within the project plan (e.g. inclusion of the time buffer while doing time-critical tasks) in a transparent, calm, and objective way. Furthermore, including sufficient time buffer for changes that need be done besides the daily business is necessary.

5 Threats to Validity

The aim of this study was not to come up with a complete model. The exploratory focus was on having first ideas of existing improvement goals in practice. Thus, we are aware that conducting a collection on a conference (with mainly German companies) and conducting workshops with only three industrial partners might be a low number. Therefore, we performed the workshop with different roles of partners to get different views and increase the number results. Furthermore, the three workshops were structured in the same way. Also, they were performed by the same persons for a better comparability and integrability.

6 Conclusions and Future Work

This paper presents the collection approach of improvement goals behind SPI as well as the results from practitioners’ perspective. We identified four main goals, customer involvement, organizational democratization, quality, and time-to-market, refined into sub-goals. These sub-goals were collected together with different companies based on their individual challenges. All results represent common improvement goals derived from problems or challenges of SMEs. These results show that companies have similar improvement potential on the high-level goals, but very individual and specific detailed goals. These improvement goals simplify working on goal-specific SPI approaches that address practical issues.

Nonetheless, we are aware of the threats to validity of our results. Thus, we are collecting further input on this topic, e.g. with our project webpage (www.prokob.info) or specific events. Another aspect of future work is the creation of an SPI-approach similar to the application scenario in [6] for addressing the different company goals.

The elaborated results help practitioners comparing and baselining their company. They have the possibility to identify commonalities and differences of other enterprises with respect to their improvement goals. Such that they can identify missing improvement goals. On this basis, practitioners consider, whether it is beneficial and useful including these goals in SPI.