-
Agile
Hardening Sprints. What are they? Do you need them?
For anyone who is developing software using Scrum, XP or another incremental development approach, the idea of a “hardening sprint”…
Read More » -
Software Development
Classic Mistakes in Software Development and Maintenance
…the only difference between experienced and inexperienced developers is that the experienced ones realize when they’re making mistakes. Jeff Atwood,…
Read More » -
Software Development
Don’t take the Technical Debt Metaphor too far
Because “technical debt” has the word “debt” in it, many people have decided that it makes sense to think and…
Read More » -
Software Development
Rule of 30 – When is a method, class or subsystem too big?
A question that constantly comes up from people that care about writing good code, is: what’s the right size for…
Read More » -
Agile
Why Scrum Won
In the 1990s and early 2000s a number of different lightweight ‘agile’ development methods sprung up. Today a few shops…
Read More » -
Agile
Predictability – Making Promises you can Keep
Speed – being first to market, rapid innovation and conducting fast cheap experiments – is critically important to startups and…
Read More » -
DevOps
Health Checks, Run-time Asserts and Monkey Armies
After going live, we started building health checks into the system – run-time checks on operational dependencies and status to…
Read More » -
Software Development
You can’t Refactor your way out of every Problem
Refactoring is a disciplined way to clarify, retain or restore the design of a system as you make changes, and…
Read More » -
Software Development
Should you care about Conway’s Law?
Conway’s Law says that “organizations which design systems (in the broad sense used here) are constrained to produce designs which…
Read More »