Context: Quality assurance performed during the implementation phase, e.g., by coding guidelines, static analysis or unit testing, is of high importance to ensure quality of software, but there is a lack of common knowledge and best practices on it. Objective: The goal of this paper is to investigate the state-of-practice of quality assurance during the implementation phase in software houses. Method: For this purpose, we conducted a survey in Germany, Austria, and Switzerland where 57 software houses participated. The questionnaire comprised questions regarding techniques, tools, and effort for software quality assurance during implementation as well as the perceived quality after implementation. The results were complemented by interviews and results from other surveys on software quality in general. Results: Results from the survey show that the most common software quality assurance techniques used during implementation are unit testing, code reviews and coding guidelines. Most tool support is used in the areas of bug tracking, version control and project management. Due to relationships between the used tool types, it seems that the introduction of one tool leads to the adoption of several others. Also quality assurance techniques and tools are correlated. Bug fixing takes a significant ratio of the overall project effort assigned to implementation. Furthermore, we found that the more developers a software company has, the more effort is spent on bug fixing. Finally, more than half of all companies rated the quality after implementation as rather good to good. Conclusion: For the most important quality assurance techniques and supporting tool types clear usage patterns can be seen and serve as a basis to provide guidelines on their application in practice.
[1]
Andreas Spillner,et al.
Softwaretest-Umfrage 2011 - Erkenntnisziele, Durchführung und Ergebnisse
,
2012,
Software Engineering.
[2]
Martin Höst,et al.
Guidelines for Conducting Surveys in Software Engineering
,
2015
.
[3]
Christian Schindler,et al.
Agile Software Development Methods and Practices in Austrian IT-Industry: Results of an Empirical Study
,
2008,
2008 International Conference on Computational Intelligence for Modelling Control & Automation.
[4]
Michael Felderer,et al.
Preventing Incomplete/Hidden Requirements: Reflections on Survey Data from Austria and Brazil
,
2016,
SWQD.
[5]
Kevin Roebuck,et al.
Encryption: High-impact Strategies - What You Need to Know Definitions, Adoptions, Impact, Benefits, Maturity, Vendors
,
2011
.
[6]
Daniel Galin,et al.
SOFTWARE QUALITY ASSURANCE
,
2008
.
[7]
Vahid Garousi,et al.
A Survey of Software Engineering Practices in Turkey (extended version)
,
2014,
J. Syst. Softw..
[8]
Richard E. Fairley,et al.
Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0
,
2014
.
[9]
Mark Kasunic,et al.
Designing an Effective Survey
,
2005
.
[10]
Tayana Conte,et al.
Naming the Pain in Requirements Engineering: Comparing Practices in Brazil and Germany
,
2015,
IEEE Software.
[11]
A. E. Zaidman,et al.
Software Engineering in the Netherlands: The State of the Practice
,
2012
.