Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Guides InfoQ eMag: Technical Debt and Software Craftsmanship

InfoQ eMag: Technical Debt and Software Craftsmanship


Technical debt is a hackneyed phrase that refers to the likely cost of maintaining and enhancing a software product. To many, the existence of technical debt is a curse and indicates a lack of professionalism or craftsmanship in the code whereas others find it a natural by-product of the many different trade-offs that have to be made when delivering solutions to meet market and organisational needs. Whatever way you view it, technical debt is something that will most probably impact every codebase at some point.

This e-Mag brings together a number of authors who have addressed the topic on InfoQ and suggests ways to identify, monetize, and tackle technical debt in your products.

Free download

Contents of the Technical Debt and Software Craftsmanship include:

  • Bad Code, Craftsmanship, Engineering & Certification - Robert C. Martin, during his keynote at QCon London 2010, tried to figure out why there is so much bad code written. He offers advice on writing good code talking about a bad code example, Boy Scout rule, functions, arguments, craftsmanship, TDD, continuous integration, pairing, small cycles, patterns, engineering, certification, and other elements contributing to quality code.
  • Creating a Culture of Quality - Every company wants to delight customers with a highquality product, and many organizations naturally focus on process improvements to reach quality goals. But organizational culture eats process for breakfast. So how do you create a culture of quality? New research on 850 employees who impact quality from 80 companies presents new strategies for shifting values, norms, beliefs, and habits.
  • Michael Feathers on Technical Debt, Process, and Culture - Michael Feathers offers advice on creating an organizational process and culture that can enhance software development in a way that reduces technical debt.
  • Managing Technical Debt - Technical Debt is widely regarded as a bad thing that should be paid back as soon as possible, however it can be a strategy that helps balance short-term wins and longterm productivity. This article describes different ways that a project could pay back Technical Debt and what factors must be considered when deciding if you should repay, convert debt or just pay the interest.
  • Technical Debt: A Repayment Plan - All teams eventually face technical debt. In this article Jeremy presents what technical debt is...and isn’t, as well as introducing some of the different types of technical debt and how to deal with them. Finally, he presents a metaphor for understanding technical debt, explaining it to stakeholders, and then dealing with it in an efficient way.
  • James Grenning on Technical Excellence - At the recent Agile Singapore conference James Grenning presented two technically focused talks - one on the importance of technical excellence and the other teaching test driven development. He spoke to InfoQ about the importance of strong technical practices to enable true agility in software development.

About InfoQ eMags

InfoQ eMags are professionally designed, downloadable collections of popular InfoQ content - articles, interviews, presentations, and research - covering the latest software development technologies, trends, and topics.