Scott W. Ambler explores disciplined agile strategies to avoid and remove existing technical debt, how to fund the removal of technical debt, and related industry data.
Hadi Michael explores the elements commonly found on developer portals, and identifies those that consistently contribute to superior developer experiences.
Roy van Rijn explains what mutation testing is and how it works, comparing several Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in a continuous build.
Jerry Yoakum discusses how code profiling tools and techniques can be used to evaluate code for constructions and errors that are likely to cause problems, highlight places in need of refactoring.
Austin Bingham answers questions on reviews: how long should they be, what should be reviewed, how do reviews account for an increase in quality and ROI?
Alison Lloyd examines some less-than-stellar occurrences in non-software fields, drawing out some ideas that she hopes will make software development a little less painful.
Dan North describes a model for thinking about the age of code and argues for replaceability as a first class concern, ending up with something that looks a lot like microservices.
Chris Chedgey explores how “locality of relationship” affects coupling, cohesion, and the width of interfaces, showing structural patterns that increase or decrease complexity.
Pete Goodliffe keynotes on what it takes to become a better programmer, discussing tools for reviewing the personal skillset and techniques to help one “become a better programmer”.
Donald Belcham explains how to improve a system’s reliability by using appropriate code patterns.
Randy Shoup discusses several important aspects of engineering cultures: hiring and retention, ownership and collaboration, quality and discipline, and learning and experimentation.
Dave Farley looks at a history littered with inefficient processes resulting in poor quality and failed projects, wondering how we got here, what can be done and what does good really look like?