Context: Code smells are assumed to indicate bad design that leads to less maintainable code. How... more Context: Code smells are assumed to indicate bad design that leads to less maintainable code. However, this assumption has not been investigated in controlled studies with professional software developers. Aim: This paper investigates the relationship between code smells and maintenance effort. Method: Six developers were hired to perform three maintenance tasks each on four functionally equivalent Java systems originally implemented by different companies. Each developer spent three to four weeks. In total, they modified 298 Java files in the four systems. An Eclipse IDE plug-in measured the exact amount of time a developer spent maintaining each file. Regression analysis was used to explain the effort using file properties, including the number of smells. Results: None of the 12 investigated smells was significantly associated with increased effort after we adjusted for file size and the number of changes; Refused Bequest was significantly associated with decreased effort. File size and the number of changes explained almost all of the modeled variation in effort. Conclusion: The effects of the 12 smells on maintenance effort were limited. To reduce maintenance effort, a focus on reducing code size and the work practices that limit the number of changes may be more beneficial than refactoring code smells.
Faster, better and cheaper are challenges that IT-companies face every day. The customer's ex... more Faster, better and cheaper are challenges that IT-companies face every day. The customer's expectations shall be met in a world where constant change in environment, organization and technology are the rule rather that the exception. A solution for meeting these challenges is to share knowledge and experience - use the company's own experience, and the experience of other companies. Process Improvement in Practice - A Handbook for IT Companies tackles the problems involved in launching these solutions. Process Improvement in Practice - A Handbook for IT Companies is designed for small IT companies who wish to start with systematic improvement. The methods and techniques in this handbook are tried in practice, and have proven to be easy to use and scalable for local needs. Managers and developers will discover useful tips to initiate improvement work efficiently. This practical handbook is based on the authors' improvement work in a range of companies since the mid-nineti...
Most quality and software process improvement frameworks emphasize written (i.e. formal) document... more Most quality and software process improvement frameworks emphasize written (i.e. formal) documentation to convey recommended work practices. However, there is considerable skepticism among developers to learn from and adhere to prescribed process models. The latter are often perceived as overly "structured" or implying too much "control". Further, what is relevant knowledge has often been decided by "others"---often the quality manager.
Context: Code smells are assumed to indicate bad design that leads to less maintainable code. How... more Context: Code smells are assumed to indicate bad design that leads to less maintainable code. However, this assumption has not been investigated in controlled studies with professional software developers. Aim: This paper investigates the relationship between code smells and maintenance effort. Method: Six developers were hired to perform three maintenance tasks each on four functionally equivalent Java systems originally implemented by different companies. Each developer spent three to four weeks. In total, they modified 298 Java files in the four systems. An Eclipse IDE plug-in measured the exact amount of time a developer spent maintaining each file. Regression analysis was used to explain the effort using file properties, including the number of smells. Results: None of the 12 investigated smells was significantly associated with increased effort after we adjusted for file size and the number of changes; Refused Bequest was significantly associated with decreased effort. File size and the number of changes explained almost all of the modeled variation in effort. Conclusion: The effects of the 12 smells on maintenance effort were limited. To reduce maintenance effort, a focus on reducing code size and the work practices that limit the number of changes may be more beneficial than refactoring code smells.
Faster, better and cheaper are challenges that IT-companies face every day. The customer's ex... more Faster, better and cheaper are challenges that IT-companies face every day. The customer's expectations shall be met in a world where constant change in environment, organization and technology are the rule rather that the exception. A solution for meeting these challenges is to share knowledge and experience - use the company's own experience, and the experience of other companies. Process Improvement in Practice - A Handbook for IT Companies tackles the problems involved in launching these solutions. Process Improvement in Practice - A Handbook for IT Companies is designed for small IT companies who wish to start with systematic improvement. The methods and techniques in this handbook are tried in practice, and have proven to be easy to use and scalable for local needs. Managers and developers will discover useful tips to initiate improvement work efficiently. This practical handbook is based on the authors' improvement work in a range of companies since the mid-nineti...
Most quality and software process improvement frameworks emphasize written (i.e. formal) document... more Most quality and software process improvement frameworks emphasize written (i.e. formal) documentation to convey recommended work practices. However, there is considerable skepticism among developers to learn from and adhere to prescribed process models. The latter are often perceived as overly "structured" or implying too much "control". Further, what is relevant knowledge has often been decided by "others"---often the quality manager.
Uploads
Papers by Tore Dybå