/Martin Fowler

Legacy Seam tl;dr: "When working with a legacy system it is valuable to identify and create seams: places where we can alter the behavior of the system without editing source code. Once we've found a seam, we can use it to break dependencies to simplify testing, insert probes to gain observability, and redirect program flow to new modules as part of legacy displacement." Martin shows practical examples of how to approach this.  

featured in #478


An Example Of LLM Prompting For Programming tl;dr: Martin shows us how ChatGPT produces useful self-tested code. The initial prompt primes the LLM with an implementation strategy asking for an implementation plan rather than code. Once that plan is in place, it’s refined and the author uses it to generate useful sections of code.

featured in #407


Slack tl;dr: “A common approach with timeboxed iterations is to allocate as many user stories as possible to each iteration in order to maximize the utilization of the staff involved. Slack is the policy of deliberately leaving time that isn't allocated for stories, using that time for unplanned work. Although this seems inefficient, it usually yields a significant improvement for the productivity of a team.”

featured in #406


On The Diverse And Fantastical Shapes of Testing tl;dr: "Pyramids, honeycombs, trophies, and the meaning of unit testing." Martin discusses the recent twitter discussions on various testing strategies, and the balance between unit and integration tests.

featured in #235


The Elephant In The Architecture tl;dr: Asked to perform assessments on architecture, the question that doesn't come up is "how different systems contribute to business value, and how this value interacts with these other architectural attributes." 

featured in #177


TechnicalDebt tl;dr: Shortcomings found in internal code quality make it harder to "extend a system further" without paying off tech debt first. The author describes how he decides when to handle debt.

featured in #142