Software Architecture

Home/Software Architecture

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

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,

Dependency Management is Risk Management

How well-managed are your dependencies? Are you aware of all of them? Which ones can fail gracefully? Which ones allow the application to continue in a degraded state in the event of a failure? How many dependencies would cause your application to become unavailable in the event of a failure? It's instructive that the Latin

The Future for Smart Technology Architects

The future of software and even hardware is based in ever more complex abilities to adapt to highly dynamic change and input. The Internet of Things brings with it input from billions of sources locally and around the globe and for intelligent architects this represents an opportunity to create deep competitive advantage and customer loyalty. The

Architecture vs Design

There was interesting debate on what is an architect, the difference between design and architecture (no one really knows… (Ilan Kirschenbaum, discussing a meeting of the Software Craftsmanship in Israel group) All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured

Exploring Solution Architecture

I have recently picked up an older book, Financial Intelligence for IT Professionals, by Karen Berman and Joe Knight which was published by the Harvard Business Press in 2008. It is a well written and concise summary of financial management techniques applied to the IT context. It also represents a signficant potential growth area for