Abstract

Design quality is vital if software is to be maintainable. What practices do developers actually use to achieve design quality in their day-to-day work and which of these do they find most useful? To discover the extent to which practitioners concern themselves with object-oriented design quality and the approaches used when determining quality in practice, a questionnaire survey of 102 software practitioners, approximately half from the UK and the remainder from elsewhere around the world was used. Individual and peer experience are major contributors to design quality. Classic design guidelines, well-known lower level practices, tools and metrics all can also contribute positively to design quality. There is a potential relationship between testing practices and design quality. Inexperience, time pressures, novel problems, novel technology, and imprecise or changing requirements may have a negative impact on quality. Respondents with most experience are more confident in their design decisions, place more value on reviews by team leads and are more likely to rate design quality as very important. For practitioners, these results identify the techniques and tools that other practitioners find effective. For researchers, the results highlight a need for more work investigating the role of experience in the design process and the contribution experience makes to quality. There is also the potential for more in-depth studies of how practitioners are actually using design guidance, including Clean Code. Lastly, the potential relationship between testing practices and design quality merits further investigation.

Highlights

  • The key practices and techniques used in the design of software are long established and widely known

  • This paper describes a questionnaire survey designed to discover how important software design quality is to practitioners working in industry and the techniques they find most useful for achieving good quality designs

  • These findings show that the practitioners surveyed here see experience as the most important contribution to design quality

Read more

Summary

Introduction

The key practices and techniques used in the design of software are long established and widely known. The survey is concerned with software design quality—the internal quality of the design of software and the properties that make the software easier to understand and change in the future (maintainability). It focuses on object-oriented technology because much of today’s software is developed using that technology (Cass 2015). It addresses design quality at the class and package level—including source code organisation, class identification, interface use, design patterns and the application of design guidelines

Methods
Findings
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call