Liz Keogh takes a look at why experimentation underpins everything done in technology, and why it is necessary to be able to move and change the right thing.
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?
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.
Donald Belcham explains how to improve a system’s reliability by using appropriate code patterns.
Ian Barber discusses the importance of behavior, domains and clarity of the names used when writing software or building systems.
Donald Belcham presents design patterns and development concepts that protects one’s code from external systems that may change in uncontrollable ways.
Baruch Sadogursky and Fred Simon discuss the Groovy version of the epic Java Puzzlers.
Adam Tornhill teaches how to predict bugs, detect architectural decay and find the code that is most expensive to maintain, how to evaluate knowledge drain in a codebase, and much more.
Chad Fowler attempts to convince people that keeping things "tiny" –small iterations, small methods, small teams - is the best thing one can do for himself and his team.