Legacy Systems – Constraints, Conflicts, and Customers

As I was reading Roger Sessions’ latest white paper, “The Thirteen Laws of Highly Complex IT Systems”, Laws 1 and 2 immediately caught my eye: Law 1. There are three categories of complexity: business, architectural and implementation. Law 2. The three categories of complexity are largely independent of each other. That complexity in these categories…

Technical Debt – What it is and what to do about it

In spite of all that’s been written on the subject of technical debt, it’s still a common occurrence to see it defined as simply “bad code”. Likewise, it’s still common to see the solution offered being “stop writing bad code”. Technical debt encompasses much more than that simplistic definition, so while “stop writing bad code”…

She meant Software Architect

Did she just say Architect? Its interesting that in the past five or so years the title of software architect has undergone significant change. The initial argument (He’s an architect – so he builds buildings?) added the software in front of the title. Did she say software architect? In fact she did. Software Architects build…

Design By Committee

Can a team of experienced, empowered developers successfully design the architecture of a product? Sure. Can a team of experienced, empowered developers successfully design the architecture of a product without a unified vision of how the architecture should be structured to accomplish its purpose? Probably not. Can a team of experienced, empowered developers successfully design…

Bumper Sticker Philosophy

YAGNI: You Ain’t Gonna Need It. Sound bites are great – short, sweet, clear, and simple. Just like real life, right? Seductive simple certainty is what makes slogans so problematic. Uncertainty and ambiguity occur far more frequently in the real world. Context and nuance add complexity, but not all complexity can be avoided. In fact,…

Emergence versus Evolution

Hayim Makabee’s recent post, “The Myth of Emergent Design and the Big Ball of Mud”, encountered a relatively critical reception on two of the LinkedIn groups we’re both members of. Much of that resistance seemed to stem from a belief that the choice was between Big Design Up Front (BDUF) and Emergent Design. Hayim’s position,…