Value is a term that’s heard often these days, but I wonder how well it’s understood. Too often, it seems, value is taken to mean raw benefit rather than its actual meaning, benefit after cost (i.e. “bang for the buck”). An even better understanding of the concept can be had from Tom Cagley’s “Breaking Down Value”: “Value = (Benefit + Perception) – (Cost + Perception)”.
The point being?
Change involves costs and, one would hope, benefits. Not only does the magnitude of the cost matter, but also its perception matters. Where a cost is seen as unnecessary or incurred to benefit someone other than the one paying the bills, its perception will likely be unfavorable. Changes that come about due to unforeseen circumstances are more likely to be seen as necessary than those stemming from foreseeable ones. Changes to accommodate known needs are the least likely to be seen as reasonable. This is why I’ve always maintained that YAGNI doesn’t scale beyond low-level design into the realm of architectural decisions. Where cost of change determines architectural significance, decision churn is problematic.
After I posted “Who Needs Architects? Who’s Minding the Architecture?”, Charlie Alfred tweeted:
@GeneHughson For companies to invest in minding the architecture, they first need to believe architecture is an asset, not just an activity—
Charlie Alfred (@calfred56) April 30, 2015
One way to be seen as an asset is to provide value. As Cesare Pautasso put it:
Weeks of refactoring can save you hours of architecting #SATURN15—
Cesare Pautasso (@pautasso) April 30, 2015
This is not to say that architectural refactoring is without value, but that refactoring will be seen as redundant work. When that work is for foreseeable needs, it will be perceived as costlier and less beneficial than strictly new functionality. Refactoring to accommodate known needs will suffer an even greater perception problem.
YAGNI presumes that the risk of flexible design being unnecessary outweighs the risk of refactoring being unnecessary. In my opinion, that is far too simplistic a view. Some functionality and qualities may be speculative, but the need for others (e.g. security) will be more certain.
Studies have shown that the ability to modify an application is a prime quality concern for stakeholders. Flexible design enables easier and cheaper change. “Big bang” changes (expensive and painful) are more likely where coherent design is lacking. Holistic design based on context seems to provide more value (both tangible and perceived) than a dogma-driven process of stringing together tactical decisions and hoping for the best.
4 thoughts on “Let’s Talk Value (Who Needs Architects?)”
I think it’s always going to be a balance of expediency and pragmatism when it comes to architecture. And to an extend it relates back to your initial point about value – I’m not sure that value is *anything* but perception, no matter what logical might tell us. Think about the things that you truly value in your life outside of work, and I’d wager that few of them would fit neatly into the equation…
So why should we expect the world of work to be any different? The reality is that it isn’t, and we just have a fashion these days in business for everything to be attributable to numbers that masks what is otherwise a bunch of activities happening under the cognitive process of confirmation bias.
So when it comes to arguing the case for architecture, despite the logic of the long-term gain, short term expedience will always win out. I’d argue that architectural approaches need to flex to accommodate that… http://mmitii.mattballantine.com/2012/11/27/the-joy-of-hindsight/
LikeLiked by 1 person
Pragmatism is absolutely important – theory is fine, but reality pays the bills. I do believe that there is intrinsic value, but it is certainly overshadowed by perception (e.g. my wedding ring is worth far more to me than its metal content, but that’s non-zero). In my opinion, a key function of the architect is finding out which qualities are perceived as most valuable and providing guidance on how to maximize those with the least impairment of things that may (more likely, will) be valued later. Obtaining short-term gain in a manner that’s easily converted to long-term advantage is possible – done it 🙂 As you note in the linked post (great one, BTW), flexibility is key.
LikeLiked by 1 person
Pingback: Defining architecture… | businessandarchitecture
Pingback: We Deliver Decisions (Who Needs Architects?) | Form Follows Function