Category Archives: Software Architecture

An Architect’s Dilemna: Should I Rework or Exploit Legacy Architecture?

I recently spoke with an architect has been tuning up a legacy system that is built out of a patchwork quilt of technologies. As a consequence of its age and lack of common design approaches, the system is difficult to … Continue reading

Posted in Software Architecture, Software Design | 2 Comments

Agile Architecture Myths #4 Because you are agile you can change your system fast!

Agile designers embrace change. But that doesn’t mean change is always easy. Some things are harder to change than others. So it is good to know how to explain this to impatient product stakeholders, program managers, or product owners when … Continue reading

Posted in Agile, Requirements, Software Architecture, Software Design, Uncategorized | Leave a comment

Who Defines (or Redefines) Landing Zone Criteria?

Who should be in on discussions that set landing zone criteria? Because most landing zone have architectural implications, someone knowledgeable about the system architecture, in addition to the product owner and other key stakeholders should have a lot to say … Continue reading

Posted in Agile, Requirements, Software Architecture | Tagged , | Leave a comment

Landing Zone Targets: Precision, Specificity, and Wiggle Room

A landing zone is a set of criteria used to monitor and characterize the “releasability” of a product. Landing zones allow you to take product features and system qualities and trade them off against each other to determine what an … Continue reading

Posted in Agile, Requirements, Software Architecture, Software Design | Tagged , | Leave a comment

Introducing Landing Zones

On an aircraft carrier, the landing zone describes a small section of deck that a pilot must touch down in to land the plane safely. By analogy, a landing zone for a product describes a range of measurable attributes that … Continue reading

Posted in Agile, Requirements, Software Architecture | Leave a comment

Software Architecture Stewardship

On agile teams, architects do more than design and implement the interesting tricky bits. They typically balance a wide range of concerns: short-term goals, overall system design integrity, risks versus efforts, design expediency… The successful agile architects I know aren’t … Continue reading

Posted in Agile, Software Architecture | Leave a comment

Agile Architecture Myths #3 Good Architecture Emerges

Last time I left the cap off of the toothpaste, a small blob of toothpaste flowed onto the counter. No planning; it just emerged. Now I know that emergent software architecture is another thing entirely. We can’t anticipate everything about … Continue reading

Posted in Agile, Software Architecture, Uncategorized | 5 Comments

Agile Architecture Myths #2 Architecture Decisions Should Be Made At the Last Responsible Moment

In Lean Software Development: An Agile Toolkit, Mary and Tom Poppendieck describe “the last responsible moment” for making decisions: Concurrent development makes it possible to delay commitment until the last responsible moment, that is, the moment at which failing to … Continue reading

Posted in Agile, Software Architecture, Software Design | 1 Comment

Agile Architecture Myths #1 Simple Design is Always Better

Over the next few weeks I plan to blog about some agile software architecture and design beliefs that can cause confusion and dissent on agile teams (and angst for project and program managers). Johanna Rothman and I have jointly drawn … Continue reading

Posted in Agile, Software Architecture, Software Design | 11 Comments

Slicing and Dicing Complex Projects…

In a recent post, Johanna Rothman asked the question, should agile teams Develop by Feature, Develop by Component, or Some Combination? Well, in a nutshell, my answer is, it depends. I have seen teams try different approaches to this problem. … Continue reading

Posted in Agile, Software Architecture, Uncategorized | 1 Comment