A Trace in the Sand

by Ruth Malan





Architects Architecting Architecture  

January 2014


Happy New Year!

I hope you have an awesome 2014, filled with dreams and realizations, joy and becoming.


What's a Trace?

My Trace is a playground for developing ideas, for exploring architecture and the role of architects. I don't know where these ideas are going to come from, so I explore, finding the dots to connect and sharing them, and the connections I make, playfully and thoughtfully, here.

On February 3, this Trace will be 8 years old. EIGHT YEARS!!! Eight years of inspired and inspiring exploration, investigation, probing, discovering, leading, helping this field to know itself and reconceive itself. No? oh....

Well, anyway, until January entries mass, perhaps you might like to take a look at traces from last year? January perhaps? Or February, if nothing else then for the Trace Turns Seven dragon! Or use the links in the sidebar on the right and let Serendipity drive. Or use the wonderful storylines tubemap by Peter Bakker to find traces by topic.

Passion, Energy and Flow

"The flow of energy through a system tends to organize that system" -- (ascribed to) Buckminster Fuller (source??)

Dana observed, watching Man on Wire, that when intense passion and energy is poured into something, the very universe seems to organize around it! The impossible happens. Visual architecting focus

It is a wonderful image to start the year with!


Software Architecture Workshop

I'm teaching an open enrollment Software Architecture Workshop in Boulder/Louisville, CO on March 24-27, 2014. You should be there! ... Unless you're in Europe, in which case you might want to snap up one of the last few seats in the Software Architecture Workshop Dana Bredemeyer is teaching in Eindhoven, The Netherlands on January 20-23, 2014


Much Ado

Got around to seeing Joss Whedon's Much Ado About Nothing. Hey, we only got a 10-ish mile ride in today -- sure temps were above freezing... but not by much... which made for icy fingers. So we took the rest of the workout indoors. Last night we went to see The Secret Life of Walter Mitty... Just think, those two amazing movies bookended 2013-2014! And we went to see the New Year in looking at the stars from a dark spot in the country away from light pollution -- and were treated by the Universe to meteor just a couple of minutes before midnight. And last night and again tonight we were thrilled by Sara who played the piano and sang the latest song she is writing (it is a heart-breaking breath-halting thought-arresting lovely song -- the music, the way she uses her voice, the timbre and expression in it, the giddy loveliness of it) over and over (I had to pay in marmite on toast and, for my greedy requests for repetition, dollars, but hey, it was worth it -- to be held suspended in a moment so utterly lovely, well, is worth a price...)...Such Wow!



Many Beauty. Such Wow!!!

How about that for a view? And decorated for the season. :-)

Dana woke me up this morning saying "It's an emergency" but he didn't sound distressed... It was a beauty emergency that couldn't even wait for coffee! Now that's an emergency!!!


What is not profound about exuberant sharing of beauty, huh? huh? ;-)


tried every wardrobe... and lo

#ff Gratitude

Several people have supported my Trace on twitter with retweets and directed replies to tweets, but in making the 140 char cutline for a #ff tweet, I narrowed it to those who initiated a tweet shout-out for my Trace in 2013.

I am very grateful to everyone who has extended collegiality to me in various forums and forms.



Characterizing this Trace

As this Trace hurtles towards its 8th birthday, questions of identity and merit tug at me -- again. Silence on a body of work batters and thwarts egos. Consider that so talented a man as Rodriguez was silenced by silence. I hope you'll grant a little salve to my battered ego, permitting me to reiterate a positive framing for what I do here:

This Trace is a "live performance" of organically updating discovery in the areas of (architectural) design, system thinking, innovation, leadership, more, with a focus on and applied to software, systems and enterprise architecture. Hopefully you will encounter it as something like the Susan Sontag or the Anais Nin journals in terms of their significance and calibre of writing, but, instead of speaking to culture and art, focused on architecture and the culture and practice of systems architecture, unfolded live, and expressing a dynamic understanding that dances on the fast folding sands of time.

It is worth, I think/hope, also encountering it as a valuable resource in developing mastery (and the variety and flexibility requisite to the uncertainties and complexity and sheer difficulty of innovating and evolve-designing systems in dynamic contexts) as an architect. I acknowledge that coming upon a month's-worth of traces is likely to evoke that tl;dr attention-protecting defense response. But upon closer encounter, hopefully a month of traces confirms its worth, with much to stimulate and enrich thinking about architects architecting architecture.

If you want to discover if the claim is overstated, may I suggest reading the traces from October 2012? I experimented there with an overview at the top of the month's traces, and a “grok check” at the end of each trace. I only tried that for a month; no-one said it was useful, and I was worried that it risked insulting anyone reading there, and I was concerned that making the shaping insight stand out in relief, jeopardized other insights that would emerge at the interaction between the trace and the mind of its reader.

What makes something profound? It sheds light on the human condition, and its struggles? Ahh, what mortality thrives in us... and crushingly embattles us.  It is such a signal quality of our being, that we strive to do something meaningful, and yet no matter how much we strive and accomplish, our work only achieves that status if others allow it to be so. Hence, the work of seeing, appreciating and connecting, of weaving and including, is important work. You do it, your way. I do it, but I try to make it personal, richly hued with seeing, appreciating and celebrating the people of our field, as I weave their ideas into a richer fabric of understanding of our field.

And this Trace is, too, part of a profound quest – to advance our field by helping to shape how it conceives itself, as well as giving it tangible tools to do its work (the aspects that are people-oriented, such as leadership and being collaborative and co-creative, etc., as well as the core matter of design, the problem designing-surfacing and solving, etc.). And part of my quest is to make bringing our whole quaking, quivering, yearning, striving, tender selves to our work, for it needs to be creative and vibrant and… well, human. If our work is to have that "quality without a name" it has to have design integrity and be shaped with a keenly developed aesthetic, a uniqueness and distinction that comes from being a full person, with experience to bring to bear on solving real problems, but a sense of structural and design integrity and beauty. As we compete with, and are extended by, computing, we need to thrill at, enhance and cherish what makes us human. And so forth… there is a dynamically evolving personal philosophy that underlies what I do… and lends an integrity across all the seeming chance snips and snippets that might strike one if one merely glanced across traces.

If we turn our attention to traces, they go after deep and hard topics in our field (broadly speaking, covering software and systems architecture but also enterprise architecture), explore them with intellectual curiosity, openness, and inclusion of the thoughtful insights of great minds, and develop new insights that expose problems in our field, help shape its identity, its self-concept, its principles and practices, and so forth.  That they do so dancingly and playfully is merely style – a style that I hope helps us enter into tough contemplations without being defensive and resistant…

But. It is hard not to get dispirited when positive reflection is rare. If we value a body of work, we need to say so, or the silence will crush it.

1/10/14: Looking for "why architect" traces, I reread this:

It occurs to me -- if you are new to my Trace, you might want to go back a year or three and read there, for many topics, like visual design, got covered more extensively then. Taking a step back and reading entries from a few years ago may give you a better introduction to what I'm aboutEven my daughter says she wants one!.



T-Shirt This!!

Okay, this isn't going to seem like an excusable humble-brag at all at all, but it is so creative and wonderful I have to share Peter's tweet (right):

That is one of those images that inspires, like a vision or ... <trumpet sound>... a beacon. ;-) Seriously, it captures what this Trace is muchly about -- connecting ideas (and via them, their people :-).

(The link is to Peter's amazing storylines tubemap of traces.)

1/6/14: And that is what collective intelligence is muchly about -- creative mashups and insightful connections that grow our understanding, or just are fun!.


Lincoln on EA Government

This, via Dana Bredemeyer:

“The legitimate object of government is to do for a community of people whatever they need to have done, but can not do at all, or can not so well do, for themselves – in their separate, and individual capacities.” -- Abraham Lincoln


'The legitimate object of government is "to do for the people what needs to be done, but which they can not, by individual effort, do at all, or do  so well, for themselves." There are many such things—some of them exist independently of the injustice in the world. Making and maintaining roads, bridges, and the like; providing for the helpless young and afflicted; common schools; and disposing of deceased men's property, are instances.

But a far larger class of objects springs from the injustice of men. If one people will make war upon another, it is a necessity with that other to unite and cooperate for defense. Hence the military department. If some men will kill, or beat, or constrain others, or despoil them of property, by force, fraud, or non-compliance with contracts, it is a common object with peaceful and just men to prevent it. Hence the criminal and civil departments.'

-- Abraham Lincoln, "The Object of Government", July 1, 1854

Interesting seed to contemplations on enterprise architecture?

Image right: Zombies Are Nuts About Brains, Terry Borderdon't feed the trolls... by saying... anything?



We Need to (be able to) Talk

This article, written rather dramatically perhaps, prompted a little shower of conversations in my field of view and interaction:

I playfully pointed to the slippery slope BF, because... well, we do so relish those slippery slopes to downfall, don't we? She says, climbing out of her SUV. [Before you judge me, may I recommend a few Terrence Malick movies??] ;-)

How do I get from closing of minds to matters of collective conscience, ethics, ...individual morality...?? Well, discourse. How are we to get to a better understanding of the complex perplexities that befall us, unless we can have open debate? And sure, some of that debate is going to be stated in "performance art" terms of colorful hyperbole. Even the pieces that draw attention to the hyperbole of exclusive occluding views on the extreme self-righteous reaches of atheism and religions, of science as dogma and territorialism (oh, I can do hyperbolic rhetoric with the best of them, ...and do?) and such, can be shimmeringly extreme in their provocations. ;-) Partly, in this attention glut, perhaps we have trained writers to go to the kind of excess of glitzy entertainment, to play the dominance angle with pompously large, colorful overblown statements, to garner attention? How am I doing? Do I have your attention?

I think Terrence Malick's movies are important (though not to everyone's tastes, not just for content but their dense/richly nuanced and textured and layered and referential and yadda film-as-art style), for they take us into difficult material. They don't make moral judgments, but the very subjects are deep into territory most of us do not venture into, at least not IRL. They probe at the interaction between individual and collective, or social morality. Big questions of how we humans hurt each other, individually, and in something as big and impersonal, yet deeply, devastatingly personal, as war. But also how we love, and tend and open ourselves to others.

It is one thing to tsk tsk at Google turning its back on "do no evil" and another to figure out what the jabberwock we mean by evil in a world where massive surveillance is "clearly" evil but ads that take info from our shopping cart on one site and stalk us as we move from site to site, flashing their goods at us, are "fair" game? Or reach their grubby digital hands into our emails, and use what they learn there to push solicitations at us? We twitter-flock in outrage at personal infractions like dongle-gate, where the heated flaming and shaming reached such a quick pitch that people were hastily, decisively fired... Awareness was raised, crucial conversations were had, but at great personal cost to those involved, and broader costs of creating fears about speaking up as well as fears around what can and can't be said between individuals where they can be overheard... While I wouldn't encourage jokes that debase people (whether they can hear or not), inflammatory hyperbole or the flocking flaming, I do think we need to be able to have these debates and conversations and become more aware -- hopefully reduce the cost and penalties involved, but also not shut down the mechanisms that allow voices that are otherwise dinned out, or too intimidated, to be heard. We have a whole set of "interesting," often -- sadly -- hurtful, dynamics in play... But, whether it is climate change and flagrant conspicuous consumption of fossil fuels, or the plight of women, or the plight of boys, or the invasive spying on our personal and professional communications and lives, or the use of our habits and explorations to sell to us, or ...robots taking jobs without any social net to catch ever more (economically, socially and politically) disenfranchised people, or... putting our investment into making computing smarter without matching investments in helping humanity fully deploy its smarts... you get it? Long list. We need to be able to express these very different views, and be able to share the different experiences, because humanity is not all the same-same-same. But we need to traverse and explore these moral quagmires delicately and not go all moralistic ballistic... or worse... And that gets me back to Malick. I really like the way he leaves it to the individual to explore tough territory and draw their own conclusions. If we try to dictate morality on people, we get into Anna Karenina territory... Lines shift, depending on where we stand. Depending on the particular conflux of forces individuals try to survive, and hopefully even, at least for a time, thrive in. Mortality is hard enough.

So, um, about those movies? Sheer decadence? No, no. Look how cold it is! Movies take my mind off working out indoors. That's my excuse, and I'm sticking to it. We try to shift, shift, shift in the direction of being better individuals, better serving others and doing less damage to the planet. But there are no easy choices. Shut down all consumption today? Economies tumble. Livelihoods lost. So it is more a matter of finding the trimtabs that turn this big economic-environmental-social ship in a direction that is more sustainable... If...


1/9/14: Best commentary on the state of commentary ever?


safe to talk

(from Amy Edmonson,: Team Up Fail Well Learn Fast)

Said a Blade of Grass

2/12/15: Important discussion of the cost of flash social shaming via platforms like twitter: How One Stupid Tweet Blew Up


Pretty. Cold!

View from other side of the pond towards our houseYep, it's pretty cold


Oh. That's one approach.


We Need to Talk

Is my writing style hard to understand? Should I try harder to simplify sentences -- I do tend rather to the recursive and pass by reference and otherwise make it hard to follow, don't I? But. For what I gain in color and nuance, do I lose too much in clarity and accessibility?

For example. In Enterprise Architecture: A Matter of Relevance, I created the feeling of Leviathan, which is also the feeling of being in an organization that has no clear sense of its structure, no clear narrative and purpose, etc. I did so to make the point that the enterprise architect has to sift all those signals in a "fog" of ambiguity and uncertainty for what is relevant, what is shapingly significant -- and draw those out. Yes, literally, even. Hopefully the last two paragraphs make that point clear.

But. I'd like to know what you think. Do I shed readers because I write in a way that is impenetrable?

I think there is room to treat readers like the intelligent curious playful people they are. But in an attention-taxed world, do I go too far, require too much?

1/20/14: Well, if it works for Faulkner? ; )

There is a point worth bearing in mind though -- I expect that links are followed after a trace is read, if someone is especially interested in the topic and wants another layer of meaning and is inclined to go find the "easter eggs" in the links.


Dances with Hatses

And this is why it's fun to have a dancer daughter:

Why it's fun to have a dancer daughter


"To exist is to dare to throw oneself into the world" -- Simone de Beauvoir



Charybdis of Narcissism, or Scylla of Silenced Contribution?

I write to see what I think; alternately put:

"she said she wrote not what she knew of, but what she wanted to understand" -- Aminatta Forna (as quoted by Paul Harland)

So, it is hard for me to not write, no matter how much I decide it crushes my spirit and ensnares my attention in protesting that this luminescent thing of a Trace is not nothing! I feel like one authentic, genuine, expression of appreciation would free me from the trap of wanting this thing to have been worth it (sunk costs are easy to tell others to walk away from; try walking away from your own, though). And I remind myself that mapping my journal is such an expression! That "amazing" is such an expression. That "may the trace be with you" is such an expression. Okay then. I can go now, right?

"This sickness, to express oneself. What is it?" -- Jean Cocteau




The Code is...

Some insist "the source is the design." Let's explore that position, for it presents a neat Socratic challenge.

When we look at our own code, or someone else's, and wonder "what the jabberwock was I/he thinking?", some of that is related to code understanding, which may be:

  • a matter of (re)submerging in the meaning of the abstractions and (con)sequence of operations;
  • related to system complexity (difficulty, size, interaction and action at a distance, wotnot) -- it is in the code, but it is hard to wrap our heads around because the design thinking is distributed around the code.

And some of that is design thinking that influenced and shaped, but is not expressed in, the code. The following is generally missing from the source (though, especially at narrow/local scope, may perhaps be partially inferred from assertions and tests or comments):

  • assumptions (where? under what conditions? ...)
  • rationale (why? connecting the dots to intended outcomes/value and challenges)
  • theory of operation (how? explaining how key mechanisms are intended to deliver outcomes with an emphasis on qualities or cross-cutting concerns which by nature are non-local and emergent, identifying challenges faced and how they're addressed)
  • alternatives considered, but ruled out (what we're not doing and why not)

We might protest that points like these merely highlight what is missing in terms of retrieving the design thinking that went into the design. The design consequences are now entirely captured in the code. Or are they?

What is the point of considering "Why was it done this way -- what forces and goals and constraints made writing the code that way make sense, at the time?" We can play devil's advocate and say the design is what it is -- a POSIWID kind of point. But if we don't understand what system integrity means for our system, how do we maintain it? Further, in evolving the system, we want to assess whether the founding assumptions and shaping forces still hold -- does the design still make sense?

Likewise, we might protest that what we decided not to do is merely superfluous cognitive load, now that the system is the way it is. Except that we argue so much about better ways to do things, that for those that are make-or-break shapingly important, it is just as well to persist our reasoning so that we can recall and share it, defuse arguments perhaps, but also inform and persuade and convey the wisdom that went into the choices that were made. Not everyone will read it, but those seeking to grow their technical acuity and wisdom will.

Backing out further, as we begin to navigate towards an understanding of an overwhelmingly large code base, it is useful to have "big picture" map-like views of the system, that help us create a mental model of the structures and their interrelationships, and what they are supposed to do -- to channel our attention more efficiently, but also to have a level of understanding of the larger system, and how it works, so we have context for the pieces of the system we're going to focus on.

Design is the act and the outcome. We design a system. The system has a design.

The system has a design because implicit and explicit design intuition and reasoning shaped the system, steering it, or attempting to steer it, towards more the outcomes we want. Still more, the better we are at design.

The code is not synonymous with the design. It is a realization of the design. It is shaped and constrained by the design. From the code, we can but partially infer the design intent that shaped it. We can reflect aspects of the design that is embedded in the code, and this can be supported with code visualization tools (visualizing static dependencies among structures in the code, for example), but these reflections of what can be garnered just from the code are incomplete descriptions of the design.

Code can be used as a design medium -- that is, it is a medium for design thinking and design expression. Indeed, code is the dominant design medium for software systems. But that is not to say it is the only medium, nor for all purposes the best.

Code realizes the design that may be enacted in our heads as thoughts about what the system needs to do and how to accomplish it. And, as the code takes form, we interact with the design expressed in code and our shaping, reshaping, elaborating mental model of the design.

It is just as well to ask:

  • When is code poor or inadequate as a design medium (medium for considering and making design choices, communicating them, preserving/recording them, adapting and evolving them)?
  • What is missing from the code that is critical to the design (the act: surfacing and playing with ideas, assessing and comparing alternative approaches; the outcome: understanding, sharing or communicating and improving it)?

Systems are not "parts flying in formation, trying to be an airplane" (Wim Roelandts) but parts that interact and give rise to (emergent) capabilities and properties. Design considers and expresses how to achieve these capabilties with more the properties various stakeholders care about. Properties that include structural integrity and design integrity (including consistency or "wholeness" with that "quality without a name"-ness that comes from coherent design and not just a heap of parts duct tape and bailing wired together).

We have more options than just code for thinking, reasoning, analysis, tradeoff and alternatives assessment to enable us to come up with better mechanism and system designs. These include models and discussions (conversations and written), mockups and sketch-prototypes, simulations, and code prototypes -- as well as an incremental and evolutionary approach to systems design-building-evolving that we associate with Agile development.

Design happens at different scales and scopes -- it is fractal, if you like. And to see the design at larger scope -- the form of the system, its contours and surfaces, interactions and major flows, it can be helpful to express the design in a design language other than code. Code draws us to the details; requires a focus of comprehension on particulars that are dense and meaningful in their very precision. With code, every detail matters. That is not to say that no details matter to design at other scopes, but it is part of the art of design to decide, given a design element and its expression, which details matter. Any conceptualization takes in and leaves off -- we just can't hold all actively in mind at once. Code tends to pull us to a local view, implicitly leaving the system and even mechanism views out of the frame of focus. As we zoom out to wider frames, taking in more of the system and what it does where and how and why (because we must make tradeoffs), we begin to describe our mental model to ourselves, to make meaning and explain the system to ourselves, in a different language than the language of this or that operation, as powerfully transformative as any operation may be.

Life is way better than our ideas about it. -- mfeathers

Our ideas are such small fragmented, partial conceptualizations; and even if we work hard to develop not just knowledge but wisdom, and apply not just wisdom but a determined process of finding things out through questioning-reflecting and experiment, we're fallible. The notion that we can get away with designing a complex system merely with code as the medium of design thinking, reasoning, probing, alternative exploring, on the one hand, and expressing, communicating, holding for future reference and evolution, and so forth, on the other... is... just silly when one puts it like that? We need to take different vantage points and use different frames-of-reference, and while TDD, for example, is a way to get us to shift our vantage point, other vantage points also help. Some are ad hoc, and chosen or designed to fit the moment. Others we step into as a matter of discipline, because we have found that discipline helpful across a range of contexts and systems.


Code: Necessary but not sufficient?

Expanding further on the discussion, as the-code-is-the-design goes, here are a few thoughts from earlier traces:

Grady Booch makes the point that the code is the truth but not the whole truth and much of the truth lies in tribal memory. Actually, if we're honest, we'd say much of the truth lies in tribal forgetting! Which is the point of architecture documentation. Or a part of the point. If it is architecturally significant -- make or break stuff -- don't we want to put that design thinking into a form where we get it more clear and allow others to have access to it, to influence it but also to use it? To test it, prove and improve it? Getting better at system design means drawing what works -- and what clearly does not -- into conscious and shared knowledge. If we don't articulate our assumptions, the design idea or strategy or sketch of how it works, its components and interworking, and our expectations for its outcomes, we can't judge how effective (this facet of) our design is to improve it, to learn from it, and to adapt it if changes mean our assumptions are no longer valid.

Ok, I'm feeling my way here... but to indicate that the code is the design language and it is the full (and most accurate) expression of the design misses key points. For example, it misses the "negative space" (things we don't do) directed by the design. It misses the notion that design is an abstraction or conception, and not just any conception -- the design is conceived just-so*, and there is a premise (or a conjoint set) that links intent (or aspiration or purpose) with the particular form the design takes, the organization, the elements, their relationships, their articulation or interaction points, their collaborative interactions, and more. Lists to manage by: To do well, To do, and To don'tThe code contains neither the abstraction** nor the premise. Sure, we want the code to speak to the design, to realize the design and to imply and signify and convey the design as best the code can. And if we create the design in the process of writing the code, simultaneously thinking about design issues and code detail, the point still holds -- we want the code to be as expressive of the design as we can reasonably make it. But both the code and informal tribal memory are going to be missing bits, so it is good to write and draw the design as design out. Or at least the architecture -- the strategically and structurally significant bits. To draw out the relationship of the system to its various contexts, the organization of architectural abstractions (or elements) and their interrelationships and the key mechanisms -- with diagrams and descriptions -- and explicating the reasoning that drove those design choices (and eliminated others).

-- The Code is the Design -- Or Is It?, 9/7/11

As code as truth goes:

it is hard, and even impossible, to get the full truth about the whole from the code. There are truths about the system that are not extractable from the code, although we may inspect the code for consistency with the truth.

"But not the whole truth" goes after what is missing from the code. This is crucial! For example, we don't need to tell processors why so the rationale for design decisions is not expressed in programming languages. We might remember to comment crucial assumptions, but implications of decisions and alternative approaches considered but ruled out, also get left out of the code. We apply the principle of separation of concerns variously in software design--and documentation design. And when we variously separate concerns we're going to be variously partitioning our "truth" too.

Software visualization (tools) that reflects structures and properties of the code, claims to reflect the truth because it reflects facts. But it is in the selection of facts to reflect, that we are getting at the visualization designer's sense of some dimension of truth that is worth wrestling with.

-- Code As Fact, 8/25/10

I'd like to recommend reading all of that Code is the Design -- Or Is It? trace, but I'll pull out a few more highlights that help identify design thinking that shapes the code, to be sure, but is not extractable or generally inferable from the code by itself:

  • If a mechanism has a specific design focus of addressing a system property or cross-cutting concern, neither the concern nor the principles that make the mechanism design a good choice for addressing the concern, are generally in the code (we may leave something of a bread crumb trail with naming, but for the naming to carry information, it is referring to something else that clarifies the design concern and the principles).
  • The "theory" (formal or informal) of how it works is not in the code, only the consequences of choices made with the theory in mind.

For an example of design description, principles and reasoning that is well conveyed with sketches (informal visual models) and textual description, see Martin Fowler's description of the LMAX architecture.

Here are snippets from other traces that reflect on how models supplement code, to help us in thinking through design challenges and approaches to addressing them, as well as to grok the design (of existing code) better, so that we can explain it, or evolve it, etc.:

In short, models are better than code at creating understanding of the system in big picture terms, or to reveal the design of a mechanism especially when multiple components collaborate to implement the mechanism, and so forth. But just like code, models don't stand alone without accompanying words to make the intent clear, to make the assumptions and context clear, to defend the chosen path and explain why alternatives were eliminated.

...different kinds of models, diagrams and even ad hoc sketches do this other important thing which is cause us to move through different thinking operations, using different vehicles for thought, moving different pieces of our mental processing to consciousness. This flexes our thinking organ, giving us more chance to be pliable, to find new, fresh combinations of ideas, surfacing different issues and sticking points as well as opportunities.

... when we need to think about "the big picture;" relationships, spatial organization; time oriented and especially fuzzy future oriented threats and opportunities; draw on and relate multiple ideas, concerns, influences; process emotions, deal with politics and draw on empathy; etc. then it helps to use pictures, visual thinking and visual formats to foster collaboration and draw people in.  I have argued that we would benefit from using pictures as a thinking tool when writing code (if nothing else, to engage more of our brain, and to see from different perspectives), but when it comes to architecting it is important to get our heads into the visual space. To "picture it" -- to envision and visualize, to create shared thoughtspaces to enhance collaboration and co-creation, and to communicate so that we can create great yet ever more complex systems with and through the creative engagement of many people (minds and hands and emotions/feelings).

-- Thinking in Pictures, 8/16/11


One thing we tend to keep overlooking in our field, I suspect, is the difference between design-coding in a team of one or a very small team of people with strong communication among them, versus teams of teams. I know, I know. Best to do small things. But sometimes things are big. Not necessarily Dreamliner big, nor even hybrid car big. But still big enough that they take more than a few people if we want to get them done in competitive timeframes. Product lines. Systems of interacting systems. Various ways complexity and the need to have teams of teams enters the picture. Anyway, sure, sometimes we can do the design in our head as we're coding, and keep a mental model of the structure and mechanisms. But as more complexity enters the scope, we need ways to contend with the complexity cognitively and organizationally. We need to get the design activity out of our heads and into a shared thought space. Of course, there are a lot of traces addressing that topic!

Your code...

1/20/14: Gene Hughson wrote a post which adds several useful points to the discussion (and it quoted me -- happy day! :-)

[Post] "Your Code is not Enough" on Form Follows Function ... code alone won't document the architecture of a system -- @genehughson


"He inherited from his mother's stories the fundamental style he used, unaltered, in his own stories: namely, the assumption that fact may not be truth, and truth may not be factual."

-- Haruki Murakami, The Wind-up Bird Chronicle

1/21/14: Design happens at different scopes (lines, units, mechanisms, ... cross-cutting concerns, system, capabilities and properties offered to the broader systems-of-systems, ...). And is to be understood at different scopes:

code... fractal

That tweet points to: Code is not literature 20 January 2014

1/31/14: Software archeology and anthropology:

2/3/14: Use of Assertions, John Regehr, 2/2/14 (via mfeathers, via Dan North, via Nat Pryce ;-)

3/8/14: Sketching and design:

Architecture: designing across:

The system has to bear the "weight", so to speak, of features that delight users (and functions they rely on but barely notice unless we mess up). Hence, the system must have structural integrity which raises different arenas of attention and competency than coding the features. That is, it requires attention to emergent properties associated with resilience and scalability and evolvability and such. Properties are emergent; they arise dynamically from the structure (elements and relationships) and mechanisms (interacting elements, designed to accomplish some function addressing, often, a cross-cutting concern) of the system. But architecting is not just about structural integrity -- or we could just call the role structural engineering and be done. Architecting is about the design of the system to achieve (more) its desired outcomes across the contexts of relevance -- various contexts of use, as well as operation and evolution. And architecting is about bringing insight to the strategy table when those desired outcomes are shaped. -- 5/16/12

The point of design is mindfulness. Different techniques bring more mindfulness to bear at different points in the design process.

3/12/14: "Quality is a function of thought and reflection - precise thought and reflection." -- Michael Feathers.

Yes. But. Quality is not only a matter of correctness, or even correctness and how hard or easy it is to change at the unit level. It is about the qualitative experience of the system, from various standpoints (users in differing contexts, operations, system evolution/maintenance, etc.). So quality is also a matter of discovering what is valued, what delights, what is below the threshold of concern given the trade-offs concerned with reaching what delights and is desired, and what frustrates. That is, there is a whole lot of design thinking that is conducted in the fog of uncertainty that requires the kind of intuition and judgment we associate perhaps more with art than "precision." It may become more and more precise, but there are realms of thinking that is about leaps of intuition and judgment that is springing from the chaotic connection-making unconscious.

We use various design tools to get that thinking out where we can see it, so that we can nudge and move the design towards more the outcomes we want -- along the way, discovering more what outcomes we seek. That is, we are well-served to recognize that "quality" is not something discrete, but interacting qualities that each themselves are best thought of as being on (complex) continua. We can provide more or less features, We can cram more or less into features. We can make features more or less automated with more or fewer degrees of freedom to the user, we can make the system more or less scalable, areas of the system may have differing performance profiles. It isn't just one complex design envelope. So quality is a tricksy matter, and being very precise about one area takes attention. But there are other areas that need attention too. Precision is a good thing. Where and when it is a good thing.

So the tools we use to assist our design thinking usefully includes unit testing in the TDD sense. Along with visual design tools which also may be used with less and more precision, depending on the design thinking we're trying to support. For example, we can sketch sequence diagrams in very hand-wavy, sketchy terms, leaving lots of detail off, but simply using the tool to think about and surface responsibilities of the system, finding natural "interstices" of the system, exploring the key abstractions that will give shape to the system. Doing so in a sketchy feeling-our-way sort of exploration that is cheap to do, so a reasonable way to evaluate various alternatives and narrow down our choices for more detailed analysis and prototyping or whatever.

3/22/14: Perhaps pointing to Seth Godin at this juncture is an 'appeal to irrelevant authority" but... hey, it's cool to point to Seth Godin, relevant or not. ;-) So here:

4/3/14: Advocating code as design medium:

  • Code as Design: Three Essays by Jack W. Reeves (via mfeathers, though of course -- smiles -- I've pointed to the first two papers variously ;-)

A couple of things come to mind. One is that much of our discussion about design in code circles focuses on the qualities or properties of the code -- the emphasis of refactoring. Sure, implicitly the code does something of value, and much technical debt accrues as we jump through mental hoops building the capability (which may be system, rather than user, serving) or function, focusing on what the code needs to do, and not on code properties. That is, we emphasize building capabilities and the related software qualities, and then (re)turn attention to code qualities and improving the design of the structures and mechanisms that deliver the capabilities (function and associated qualities of the capabilities) and qualities of the system as a whole. But design is not just about code qualities, nor even just about structural integrity and resilience, but also about the system providing value and being valued, even delighting its users, and earning returns. Revenue, or reputation. Whatever. That is, there are different faces or facets and interweaving threads to design. Emphasizing one should not imply we neglect to do others:

  • "All design activities interact" -- Jack W. Reeves

The other, rather different point: Our minds are powerful, but we expand and enhance our mental processing power by externalizing our thinking, so we can "see" it, get different access to it, persist it at least in some form, and others can access it. Some forms of expression give some kinds of reasoning more support than others. And this can be highly personal. Some people have a harder time thinking and expressing themselves visually (even when the bars are lowered to such sketchy imperfection as mine ;-), for example.

4/4/14: Other thoughts come to mind. The evident priorities (given the mess -- euphemistically? -- known as "technical debt") tend to be of the form: 1. build functionality (what it does) 2. figure out how to improve system/software qualities (how well it works -- in areas like performance or scaling) and 3. (when disaster looms?) improve code qualities (refactor). So the focus on code qualities -- that is, the design focus at the code level -- is warranted because design (of the code) tends to be such an afterthought (under the pressures of figuring out how to build the current delta of functionality, under schedule pressure and team co-commitments, so we move on, rather than refactoring as much as we might otherwise like, as we go) it is not done well. And needs to be improved, needs the attention of smarts and experience to draw the lessons out and share them, to improve the state of our craftsmanship. Now, we're building functionality and releasing continuously or at least often and getting user feedback so we have the functionality/capability design base covered with incremental design. Or so they say. I say not so fast. For one thing, we canalize, but anyway.

Design happens at multiple levels and on multiple fronts, and these interact, and the medium that gives us the best leverage isn't always code. Where it is code, we should use it for then our design thinking is doing double-duty in that it is also delivering the system. When tests are a great medium for the design thinking of the moment, then we should use those, because tests do double duty too. And the design expression of mechanisms and fundamental architectural structures can do double duty -- it not only gives us better designs because we have something to "move against" (we and others can see the thinking and explore alternatives), as it were, but it shares and exposes the design thinking so others can learn from and improve it.

Let's hear the refrain: Judgment factors. And factors and refactors.

7/27/14: When I wrote (in the trace above):

Design is the act and the outcome. We design a system. The system has a design.

I wasn't in any way precluding "accidental architecture" in that notion. I was merely pointing to "design" having two substantial and different meanings (act, and outcome), which has implications for approach and medium (for example, are we seeking to support the act of designing, versus "seeing" the design in the built system). I illustrated the distinction with "design a system" (act) and "has a design" (outcome). Sure, this is the classic verb versus noun distinction that appears in the dictionary. The point was to rephrase in a way that helps us think about code as a design medium for the two different understandings of design -- design as act, versus understanding and communicating the design as built.

Of course, putting the two in close conjunction, does tend to prompt to mind the disjunction that occurs when systeml design is neglected, so that the system is pretty much a kludge of granular parts. In that case, the design may have been, for the most part, limited to design (thinking/acting/deciding) focused at narrow scope (like the scope of a class or function or some such narrower unit of abstraction and composition -- as opposed to system or "subsystem", etc.). That is, there is still design going on, but not explicit system-scoped design that contemplates and designs for system outcomes, such as system properties -- emergent properties that arise from interactions among the parts, not just the parts themselves -- and system integrity. We'd characterize the resulting architecture as accidental. And being accidental, it may not do a particualrly good job of supporting some key intended outcomes; may even prevent them. This points to the importance of having a notion of design happening at different scopes of impact (ranging from unit to system) which gets us back to code as design medium -- while good as a local design medium, it doesn't particularly support reasoning about (all) system properties and resolving tensions and tradeoffs among them.

Anyway, what I was going after in the trace, was getting us to ask how well code supports design reasoning and expression. Clearly it does a great job of building systems, and a more or less sufficient job when it comes to design reasoning and expression given that it is often the limit, perhaps supplemented with a rough sketch or two, of the design tools we use to give ourselves some cognitive assist and to communicate and express our designs to others, not just the compute systems they run on. But relying solely on code means we lose some design information and we arguably don't give ourselves enough cognitive assistance given the complexity of our systems, and the myriad competing tensions and dimensions we need to weigh and resolve and better address. The F-35 is a case in point -- complex systems can't be approached as merely many, many "parts flying in formation, trying to be an airplane" (Wim Roelandts).

1/5/15: This image from Shadows of the Mind: A Search for the Missing Science of Consciousness (Roger Penrose) and this on models of our mental models have their pertinence. And there's this: DDD - Diagram Driven Design (Gregor Hohpe).

Experience becomes history. History, context. Amd context shapes -- confines, constrains, orients, yields potential.

software architecture]


Architects? Who Needs 'em?

That reminds me, I wrote a few things:

One way of thinking about it, is we need software architects because software architecture. Smiles. No really.

Architecture translates strategy into design decisions that enable that strategy, and leads their implementation. -- 1/13/11


When the team and code base is small, the situation is quite different from when it is large, and complexified by lots of different organizational groups and organizational and cognitive distance, charter differences, etc. In the small, architecture can be treated more organically than in the large, where we need more in the formal organizational structures, communication and process "scaffolding" to support structural integrity and design effectiveness, even excellence. -- 1/13/11



Visual Architecting


Agility, Integrity and Sustainability

We design to get more the outcomes stakeholders want (Herbert Simon). We undertake to apply conscious purpose, or intentionality, along with experience, knowledge and insight, and design techniques that aid in surfacing and resolving design demands and tensions. In competitive situations that characterize business systems and products or services, we're designing systems that tend to be complex in that they forge new frontiers, innovating to provide differentiating value. That is, they are not only composed of non-trivial components and interactions, but there is considerable uncertainty as the design envelope is explored and pushed, and contexts of operation and use continually shift and evolve. Hence, we want our architectural design process to support agility, integrity and sustainability.

Agility has two essential components -- sensing and responding (or spotting and exploiting). Sensing opportunity, including opportunity to create and define value and opportunity. Sensing threat (uncertainty, change, unmet needs, escalation or drift into failure, ...), and sensing when and how to turn threat into opportunity. And responding adaptively. Which itself has various facets: what is done and how. There's an element of how quickly (under threat or to take advantage of windows of opportunity), but also how we respond can severely undermine our ability to respond adaptively in the future -- the near future at that.

By integrity, we mean:

  • structural integrity -- we seek to understand what forces the system is and/or will be subject to, and to design the system to stand up to these stresses and strains (hence system qualities like reliability, security, and scalability), as well as
  • design integrity, and that "quality without a name" (Christopher Alexander) that we associate with the kind of design excellence that delights users, and is a matter of designing not just the "skin" and the "guts" separately, but "across the skin and the guts" (Steve Jobs), and,
  • team and organizational integrity, taking a position we (can and do) rally behind.

By sustainability we mean sustainability (or the ability to thrive not just in the short term, but to continue to do so well into the future -- including a "bounce forward" resilience) in all its senses, including:

  • economic: business sustainability through (net) value creation and delivery
  • technical: scalable, extensible, adaptable and evolvable, ...
  • social: organizationally viable, as the social system(s) face challenges like scaling and adapting as the ecosystem evolves; provides social context for its people to thrive and find joy in work
  • environmental: putting more value into the ecosystem than we take out, including taking care to net out our environmental footprint.


Technical Debt -- Aaa-gain

Thomas Cagley has been exploring technical debt with a series of posts:

Gene Hughson wrote a nice post:

I've written many nice traces:

What? They aren't nice? Or you don't like that I say they're nice? Well, shoot, someone has to, and since no-one else is kind enough to, I guess that just leaves me. Aaa-gain. ;-)

Even if you don't think my traces are all that nice, you have to grant that it is nice that in them I mention other useful work on technical debt, such as:

Waxy build-up, huh?

Technical debt as house of cards:

  • Why do bank IT systems keep failing? Lloyds, RBS and NatWest customers have all been locked out of ATMs or unable to use their cards at check-outs. A lack of investment is only compounding the problem, Hilary Osborne, 27 January 2014



Wait. Wot?


Love you guys but really? Really?

Brian Marick is wonderful and very knowledgable not just about software, but literature and other areas too. But...cybernetics died? Who knew? ;-)

The software world can get so focused on the details of language structures and clever manipulations that it misses what is happening in software and systems architecture.

Pst. Among friends, cybernetics is not dead. Pass it along.

1/21/14: 'The greatest deception men suffer is from their own opinions.' -- Leonardo da Vinci



Oh my, it seems a lifetime since I read Howard's End. Reading this, I know what's up next for me to (re)read:

"But she failed. For there was one quality in Henry for which she was never prepared, however much she reminded herself of it: his obtuseness. He simply did not notice things, and there was no more to be said. He never noticed that Helen and Frieda were hostile, or that Tibby was not interested in currant plantations; he never noticed the lights and shades that exist in the greyest conversation, the finger-posts, the milestones, the collisions, the illimitable views. Once--on another occasion--she scolded him about it. He was puzzled, but replied with a laugh: "My motto is Concentrate. I've no intention of frittering away my strength on that sort of thing." "It isn't frittering away the strength," she protested. "It's enlarging the space in which you may be strong." He answered: "You're a clever little woman, but my motto's Concentrate." And this morning he concentrated with a vengeance."

Image source: the internetzTilting at windmills



Building Awareness

There is growing awareness that though we have come so far in terms of inclusion and opportunities for women in the workplace, we have a numbers problem in tech that hints that something is not... quite... right... Those of us who enter and stay in computing love it, but why do fewer women enter the field, and why do so many leave mid-career? Here are a few of the explorations of this emotion-triggering topic:

I think this is also illuminating:

Given the numbers, and given that many women have what it takes to love this industry, but shy away, it is worth asking: Do we make women feel welcome, comfortable, like women belong?

"Whether a potential role model conveys to women a sense of belonging in the field may matter more in recruiting women into computer science than gender of the role model." -- Sapna Cheryan, Benjamin J. Drury, Marissa Vichayapai, Enduring Influence of Stereotypical Computer Science Role Models on Women’s Academic Aspirations

What makes women feel like they (we!) don't belong? Condescension, lack of inclusion, ignoring their (our!) presence, input, work. Now let me hasten to add, that this isn't generally about obvious obnoxious behaviors -- those are relatively rare, but they do serve to remind women that the threat to women who stick out is there. It is more the subtle massing of small ways in which people don't respond to us when we do speak, for example.

In its worst incarnations, not welcome looks like this, among other things. Men get trolled too, but not as much with the physical threats, and contact info being spread along with slurs and calls to do harm. I'm not kidding! But there are many incarnations. And we're so often told that men are subjected to the same stuff -- while it is just as important to raise awareness of the ways men are also diminished by downsized expectations and harmful innuendo, it can also feel like we're being told that we're being whiny and can't play the game how its played. Instead, can't we all use the pain of whatever degree we have these kinds of experiences at, to have more empathy and engage more positively in making things better for women and men, and girls and boys. More inclusive. Less harshly combative. Not disallowing horseplay, for it is important. But also noticing more when gentle people are being pushed aside before they are driven away because they don't, wouldn't even know how, to engage that way. Women are told to be more assertive, but messaged in a myriad ways to not be. That alone creates an uneven playing field for career momentum unless we start to bring facilitative leadership strengths more into our value-set, to counterbalance the success rates of those with more strong dominance hierarchy behaviors. It shouldn't be about not valuing the ways that some people just naturally project assertiveness (voice, height, body bearing, strategic cursing, ..., "making an example of" to mark territory, etc.) but about recognizing that other styles can help teams and organizations be great, too. If we just remind ourselves to include others more, and to ask quiet people for their input, for example, we start to break up the lines of inclusion/exclusion.

3/7/14: It might be helpful to consider the ways you feel you don't have a voice or aren't heard, and where that comes from. Gentle boys who have avoided being bullied. And so forth. And then use that as a basis for understanding how that might be true for women or minorities in any situation. The more vulnerable, the more likely they are to have been taught some lessons directly, by innuendo, of by seeing examples made of others.

1/22/14: It's not just STEM...

Sorry if raising awareness raises discomfort... but... Well, for example, the line-up of speakers before the call for papers, sets tone... Like this. I don't think there should be a shipwreck over it, but it'd be nice if gradually gradually more of these men in the line-up, for example, would suggest women speakers to the conference organizers. They ought to know some good women in the field, if they are paying attention. No-one should be called out (to be shamed), because the issue is pervasive. Unintended instance after instance after instance, adds up; in each case, organizers are pouring a lot of hard work and good intentions into a great experience for audiences, but doing so without realizing the social cost of not creating inviting space for women's voices to become associated with technical authority. But if each person who becomes more aware of the way they could pitch in and help shift the ratio, does, we'd see the trim tab effect of their leadership.

Habits leave their traces: "Every smallest stroke of virtue or of vice leaves its never so little scar" -- via Brainpickings

1/23/14: This just in via the Serendipity server (aka Twitter):

And this from yesterday, via Reginald Braithwaite:

Awareness 101

Source: John Gruber, Daring Fireball

I know, I know:

Attention filters

We're raising awareness, so we can together make this a more wonderful world. It takes talking and writing about it though, so we get to understand each other's experiences and perspectives, where it hurts and frustrates, where we can reach out and help. We talk about it, to change it. We try to expose the truth, to reshape the truth when it will help us be more the humanity we want to be. Words are an instrument of peaceful change, for they help us become aware of actions we can choose more to take. Habits we can try to regroove and shift away from. Martin Luther King and Nelson Mandela helped us note and reshape fundamental social truths. We still have a long way to go on race, on gender, on socio-economic grounds, on freedom to love whom we love and to be ourselves no matter what body we were cast in, on age, and more....

"when women do speak up about our experiences, we are branded as trouble-makers" -- open letter to Nature

2/21/14: This is a really useful contribution to the conversation:

A few points. I wouldn't classify 2 rape or sexual abuse case per 1000 per year (and 4 per 1000 for younger women) as rare... Moreover, there is data like this data sheet from the CDC and "1 in 5 women in Indiana have been victims of rape at some point in their lifetime!!"... Yes, that is Indiana, not India -- where it is worse still. Know too that many incidents are not reported, and more are close-calls that teach/remind women to be cautious. I could tell you a story about ECOOP'97 for example.

As for the issues around sexual jokes (in conference presentations), I have tried to make sense of why they tend to be a problem, and this is my conjecture: when a woman (or female parts) is the object of the joke, or where the language subliminally carries innuendo of sexual aggression, then women are being implicitly placed in the "outsider" role. When ridicule or subjugation in some form is the object of the joke, it can be a dominance or territorial marking behavior that distinguishes insiders/belittles outsiders; you'll find this often enough in political settings to rally support against the opposition. Transfer the behavior to gender in a professional setting, and we wonder at the implicit messaging? Even if we find it funny, the smack of exclusion strikes women. Moreover, "male gaze" imagery and language implicitly caters to hetero men in the audience and draws a boundary along (heteronormative) gender lines. Not all women will be aware of these messages, and men who are subjectively being demarked as the buddy-buddy-insiders to the joke and/or imagery may not notice it either. Leveraging locker-room styled male bonding through horseplay and sex jokes in this way, may make some women feel more included -- they have been allowed into the locker room. But make others feel excluded -- their gender is the object of the joke, and all the other exclusions gets exacerbated by that exclusion. Personally? In settings where racy jokes or imagery put a blinking arrow over my head as the only woman in the room, I get uncomfortable because I didn't ask for or deserve the attention on the basis of being the one who is different in that way. I get the jokes; in a setting where various golden calves take their fall under the hammer of humor, I'm game. I think camaraderie-building is goodful. Still, I would prefer that where I get attention for being different, it is for the substantive contributions I make -- albeit in a different style, with a different voice. With a gentler style and softer voice and smaller body frame, there is already a huge autonomic expectation deficit that I have to surmount to be even on the same playing field as most men in terms of having any sort of authority (meant positively, in a respect for contribution sort of way) in this field. To be further rend as an outsider by jokes or images, puts me at even more of a disadvantage.

Notice though, that this is relative -- if women weren't so much in the minority (to the extent that I am frequently the only, or the only other, woman in a large group of men in technical settings), the dynamic would possibly be very different. It is hard to identify how the mechanism works; I gave it a shot. Perhaps I got it all wrong.

I really wouldn't want to make our field a "police state," shaming those who fall into patterns they aren't even necessarily aware of. Sure, I don't think it is nice if people understand the impact of locker-room jokes and still choose to use them to build camaraderie with their preferred identity set in a field that has issues with being elitist and exclusive based on cutlines that by-and-large cleave down gender lines. But I don't think it is healthy for a field to flame and shame in reactive mode. Moral righteousness is a quagmire of cognitive and historical biases, and we don't want a "Hollywood code" or "witch-hunt" sort of mentality. If we have clear and calmly reasoned codes of conduct we have community consensus around, and a process to investigate and deal with issues, hopefully we can hold off on the outraged flocking and shaming that happens on hearsay and partial information and which pressures dramatic rushed responses. Of course, explicitly, intentionally, incitefully, viciously hurtful language against groups (race, religion, gender, sexual orientation, etc.) in a setting like conference presentations that provide a platform for attention, cannot be condoned. But rushed responses that destroy a person's reputation or get them fired based on jesting in a small-group personal conversation, seems like an area where we can go awfully wrong too.

Further, when people have a platform for raising awareness, and use it as Martin Fowler is doing, that is awesomeness. That way, those who care can adjust their behavior, and if we simply get more inclusive behaviors to balance things out more, then I think the whole thing will right itself in a more gentle sort of way. Like what? Like really taking #readwomen2014 seriously -- but extending it to software and systems reading, not just literature. Reading women may be a bit of a taste we have to develop, like brussels sprouts and poetry. So notice when who you pay attention to in a space is strongly gender skewed, and think about whether you want to add to making a gender invisible in that space. We think we are gender blind in our field -- too often that means we are blind to women. We make women invisible, because we do not generally see (notice and acknowledge, so others will notice) women's contributions. (Really? Yes, really.)

I don't want this trace to be the one that gets talked about. My Trace represents 8 years of arguably excellent discourse on architects architecting architecture -- that it has received so little attention has to be one of the atrocities of our field? Oh, that's just a little dramatic hyperbole as ego-salve, she smiles teasing-wryly!! Anyway, it would not be fair to make a victim of me for this attempt to raise awareness by touching just a gentle ripple of insight among those few who chance to read here. ;-)

2/26/14: And then. One response to exclusion is to build a parallel universe founded on exclusion... But... apartheid isn't the world we want to build, is it?? I want the camaraderie to be okay within and across genders or any other groups that need that space. But I also want our work settings and broader professional community events to be welcoming to everyone. Tricksy, tricksy. Well, that's what the conversations are for. Let's keep them safe and respectful though, so we can share views without intimidating and silencing.

10/28/14: This is a heartening story of a journey of becoming more aware:

I too am on a journey, and there are many lessons. One is that I play a role in the experience of other women, and at first I had to pay attention to paying attention to other women in our field -- to following women on Twitter, to "hearing" them -- noticing their tweets and following through on their pointers, reading their work and giving them a more even playing field in my own attention space. And it's not just women -- I try to attend to, to notice, to hear, to pay attention to a diverse set of people in our field, not just those who are prominant and dominant, assertive and who self-promote with a degree of generosity they don't extend to others.

“The splinter in your eye is the best magnifying glass.” -- Adorno

The Lady


Winter Workouts

Oh yeah, as real service to you goes, I need to catch you up on some of the movies that worked out my mind while I worked out my body these past evenings. :-)

I'm looking forward to more Robert Bresson, though it looks like we'll have to buy them on DVD as Netflix/iTunes/Amazon Instant are all abysmal when it comes to great foreign movies. (We have The Trial of Joan of Arc and I no doubt told you about that last winter. :-)

Why tell you? Why quid pro quo my dear Watson. (Paul Harland recommended Bresson -- indebted I am!)

As recommendations go... The two young gentlemen at the checkout counter at the grocery store yesterday asked me if I had anything fun planned for my Sunday. I was so taken aback I couldn't think of what to say! So I told them that I don't always plan fun, and that at 10pm the previous night my teens and I had decided to watch Witness for the Prosecution. The young man packing the grocery bags strongly encouraged me to see Shame. The other young man recognized that my teens probably should see it, but they probably would not want to watch it with me. (I hadn't mentioned mine are young teens...) We didn't catch 12 Years a Slave in the theater, much as we wanted to -- hopefully it will make another circuit as Oscar fever mounts.

And so it goes. Life.

1/20/14: I hope you noticed I gave the director names along with the movies. Think architect. Think body of work, aesthetic and PoV/stance, as well as shaping force bringing integrity to the work. ;-)Empathy



Practice Empathy

When I read

I was reminded of:

And in particular:

"That immersion is supported by the way the brain handles language rich in detail, allusion and metaphor: by creating a mental representation that draws on the same brain regions that would be active if the scene were unfolding in real life. The emotional situations and moral dilemmas that are the stuff of literature are also vigorous exercise for the brain, propelling us inside the heads of fictional characters and even, studies suggest, increasing our real-life capacity for empathy."

-- Annie Murphy Paul, Reading Literature Makes Us Smarter and Nicer

I pointed Chad to that article, but I should add that I believe that good movies have the same effect/benefit of stretching our imaginations and empathy capability. Why good literature and movies? Because simplistic pulpy fiction or movies may not leave much to the imagination nor delve into complex situations. They may be camp and challenge that muscle. They may be full of pop culture references and challenge that connection-making facility. So I'm not discounting them out of hand. I am rather making the other point that great art -- literature, poems, movies, pictures, music -- doesn't tell us in a spoon feedy way what to learn. Good books and movies, especially, explore the human condition in all its weird messy nuanced half-truths, its glory and shabbiness, the complex ways that things don't fall cleanly into good and evil. They present complex situations with their many interacting forces and fraught moral quagmires and the thoughtspace of protagonists and others as they encounter what they feel and glimpse, their tensions and hard choices in the fogs of uncertainty and pain loss stirs up, and so forth. They invite us to discover by actively entering into and engaging with the work, to find what it yields to us. Prescriptive writing, which may even be strong in colorful rhetoric, aims to guide us, tell us what to think and do, while great fiction offers situations in their complexity, offering us scope for trying out other viewpoints, giving us the chance to change our very minds! It is very much an interpretive interaction between our minds and what we are open to discovering. Empathy is such an active stepping into another's situation, using our imagination.

The last part of Chad's well designed, thoughtful, helpful post, reminded me of this xkcd:

which I mention in a trace on Gestalt Principles. And yes, yes, indeed, I have traced on empathy:

Empathy is also treated in:

Others on empathy (videos):

And in IT:

Oh, and since empathy is flavor of the month, there's even an HBR blog post on active listening that is titled:

And this just in:

Empathy is hot! Doesn't that just make you want to go back and read The Art of Change: Fractal and Emergent so you'll know what else is about to be big? ;-) (Oh, I know all about cognitive biases and "what we're paying attention to shapes and determines what we pay attention to" -- I said that one before cognitive biases were hot. Yep. Hindsight bias. ;-)

Now, back to the movies:

and books:

and stories:

1/22/14: I found these snips (from Why fiction is good for you) relevant and interesting:

"If you read fiction, what you get good at understanding is what goes on between people.” -- Keith Oatley


"He uses the metaphor of a flight simulator to explain fiction's role in our lives: Just as the flight simulator allows the pilot-in-training to quickly and safely encounter all sorts of contingencies that might happen in the air, so fiction allows us to experience emotions in a safe place, training us to understand ourselves and others."

"When you read the book yourself you have a particular understanding, but it is always very partial, so the moment you start talking with someone else about it, you are increasing the amount of brain power and coming at if from all these different directions,” Oatley said. He has participated in the same book club for 20 years and finds its discussions often deepen his understanding not just of the book, but also of his friends in the group.

So, a book club improves what psychologists call “theory of mind.” Acquired around the age of five, theory of mind is our awareness of our own and others' consciousness – and of the possibility they may believe something different from us.

U.S. English professor Lisa Zunshine was one of the first to suggest fiction trains us in theory of mind. Similarly, U.S. philosopher Martha Nussbaum has argued that fiction teaches empathy, and so should be required reading for public leaders."

-- Kate Taylor, Why fiction is good for you, 9/10/11


1/22/14: Bacon on reading! Yesss!

"Studies serve for delight, for ornament, and for ability. Their chief use for delight, is in privateness and retiring; for ornament, is in discourse; and for ability, is in the judgment, and disposition of business. For expert men can execute, and perhaps judge of particulars, one by one; but the general counsels, and the plots and marshalling of affairs, come best, from those that are learned. To spend too much time in studies is sloth; to use them too much for ornament, is affectation; to make judgment wholly by their rules, is the humor of a scholar. They perfect nature, and are perfected by experience: for natural abilities are like natural plants, that need proyning, by study; and studies themselves, do give forth directions too much at large, except they be bounded in by experience. Crafty men contemn studies, simple men admire them, and wise men use them; for they teach not their own use; but that is a wisdom without them, and above them, won by observation. Read not to contradict and confute; nor to believe and take for granted; nor to find talk and discourse; but to weigh and consider. Some books are to be tasted, others to be swallowed, and some few to be chewed and digested; that is, some books are to be read only in parts; others to be read, but not curiously; and some few to be read wholly, and with diligence and attention. Some books also may be read by deputy, and extracts made of them by others; but that would be only in the less important arguments, and the meaner sort of books, else distilled books are like common distilled waters, flashy things. Reading maketh a full man; conference a ready man; and writing an exact man. And therefore, if a man write little, he had need have a great memory; if he confer little, he had need have a present wit: and if he read little, he had need have much cunning, to seem to know, that he doth not. Histories make men wise; poets witty; the mathematics subtile; natural philosophy deep; moral grave; logic and rhetoric able to contend. Abeunt studia in mores. [Studies permeate and shape manners.] Nay, there is no stond or impediment in the wit, but may be wrought out by fit studies; like as diseases of the body, may have appropriate exercises. Bowling is good for the stone and reins; shooting for the lungs and breast; gentle walking for the stomach; riding for the head; and the like. So if a man’s wit be wandering, let him study the mathematics; for in demonstrations, if his wit be called away never so little, he must begin again. If his wit be not apt to distinguish or find differences, let him study the Schoolmen; for they are cymini sectores. If he be not apt to beat over matters, and to call up one thing to prove and illustrate another, let him study 197 the lawyers’ cases. So every defect of the mind, may have a special receipt."

-- Francis Bacon via Maria Popova

1/24/14: Via Paul Harland:

1/27/14: This, vis Joyce Hostyn:

3/22/14: Three types of empathy: Cognitive, Emotional, Compassionate

4/3/14: Neat overview of research and some counterpoint:

  • 10 Novels to a Better You Who really knows if reading will make you a better person? More to the point, why should it matter? By Mark O'Connell


Empathy in Practice



Dashboard on the Boxes we stuff people in

Well, as empathy goes... I pointed to my Martin Luther King Day trace from a few years ago. I know. It's not bright shiny new... But stereotypes such as those in this cartoon show why it is still needed. I know, I know. I've traced:

Tonight Dana said to Sara "You need to keep some of your thoughts in your head!" I was the one who blushed.

But that is a lot different than a cartoon showing a girl with no thoughts, and only loads of textured babble... I realize that the cartoon just struck a chord with someone whose daughters effusively bubble sparkling delight. He no doubt is quite charmed by that joyful chatter. But still! A cartoon that reinforces and draws forth the notion that girls have no thoughts... they do no thinking... Just babble? That is wrong!

My Martin Luther King Day trace does shine (in reflection, by quoting), and shine a light, doesn't it? Empathy? And kindness. It is very hard for me to break taboos against women self-promoting by tweeting a link to a trace. So when I do, I feel exposed and anxious about "doing it wrong."

Now if I was drawing that cartoon, I'd draw the thought bubble with people and things and relationships (connections but also investigating how they work) among the people and among the things and to the people, and relationships among the relationships. And the talk bubble as lots of positive bubbly effusive things being exclaimed about all the cool things she is learning, even as she muses out loud, and relaying so others can share the discoveries and joy. Girls are complex creatures with complex thoughts darting all over their beautiful minds. It is not fair to trivialize them or their minds. Cartoons are cartoons -- an artform, often satirical, that amplifies things that are right and things that are wrong about the world. They announce the human condition to us, often via irony and subtle devices. But in this case, apparently the condition being spoken is one of a mind left empty by all the babble. Tsk tsk. <Steps off schoolmarn soapbox and looks abashed.> ;-)

Image source: Thanks, Mom and Dad, for all your support, New York Times

1/22/14: I know. 7 year old girl's poetry. The courage it takes to trace and tweet that.

[In case you wondered about the muse -- that poetry writing kid now composes and writes songs. And the content of her mind? She also competes in the Science Olympiad and, as a middle schooler, is doing honors classes in science and math in high school. Along with being in the highest level of precollege ballet. My son is amazing too, but he is much more of a private person, so I try to respect that... Except when it comes to deCycles. I have permission to brag that, sort of as a public service to the awesome people who make it happen, and because it is a way cool thing for teens to do. Anyway. Proud mom, I are.]

1/23/14: Image right: from Johnson Tsang's Open Mind...
Isn't it just such a wonderful (re) interpretation of an open mind....? :-)Johnson Tsang's Open Mind



Non-Functional Words (Tricksy Beasties)

Paul Harland returned from a blogging hiatus to write a post about abstraction and The Art of the Talkie. It's a lovely post, but I'm going to pull out a piece that fits my agenda just now:

"And yet, however much in control the author is of these effects in the arrangement of words, and regardless of what we know of the author’s intentions, there can never be a definitive reading of a novel. Each time, even for the same reader, a novel will conjure up from each episode, from each phrase, a slightly different set of associations.

Words in themselves can never claim to possess any final meaning. They are as used, as collectively agreed, or as disputed. This is why the arguments of philosophers founder, not just on contrasting definitions, but on the contrasting individual experiences of life that are their ultimate references for those definitions. There is only so far you can get with a logic that can never entirely escape the uncertainty that started with the language it was expressed in. Even mathematics is less than pure (unless you try to apply a different argument, which I think is cheating)."

-- Paul Harland, The Art of the Talkie, 1/14/14

That post was rattling around in my thoughtspace when Kevlin Henney tweeted:

Non-functional requirements?
You keep using that word…

non-functional, adjective
• having no function
• not in working order
— Concise OED

If you're in the architecture space, you've likely seen reaction to the "non-functional" term before -- for example, the Clements et al SEI team have long been advocating for the term quality attributes (their first book on software architecture dates all the way back to the 90's). And Kevlin's version is vivid and witty and fun and acute. Point taken. And yet.

Stepping on the stage for a little counterpoint for entertainment: Inflammable anyone? The technical meaning is opposite to what we'd expect, given flammable and the prefix "in." But it gets messier. There's plenty of precedent for auto-antonyms (or contranyms). Take left, which can mean "to depart" or "to remain." So words need to be interpreted in their situational context. (That phrase is from Sara's song. I couldn't resist -- I love it!)

While I agree that NFR isn't the most evocative term for what we are going after, it is in common use, and it is the hand-me-down use through generations of projects that informs our interpretation. Sure, we, too, map from NFR to alternative terms like quality attributes (or qualities), properties, characteristics, and for a space of the qualities, service level and SLAs. And I, too, make a bit of performance art of the low-hanging fruit joke that NFRs don't refer to dysfunctional requirements... (Though we might explore acceptance boundaries or minimum thresholds on qualities by considering what falls in dysfunction territory.) But I'm also perfectly comfortable if an organization wants to retain the legacy NFR terminology that is well understood across their various disciplines (hw/fw/sw) and teams. (I gained much of my understanding of system quality definitions working in product development, where NFRs were approached with non-trivial insight and treated with engineering wisdom I hope I absorbed sufficiently.)

words, and requirements, aren't hard cast. They shape shift, and change over time, but also on contexts If we squint into history, we can infer how the term came to be used this way -- if we think of the space of requirements as being all those that are functional and those that are left, that then are not functional, or non-functional.

Still, some qualities relate to functionality (what the system does) from the user's perspective -- they are the "how well" dimension (like performance, and usability). Other properties relate to characteristics that operations cares about, like scalability. Others relate to characteristics of the code that the development organization cares about (like understandability, testability, reusability, etc.). [So we distinguish between software qualities (operations and use) and code qualities (development, evolution/"maintenance", product family extension, integration into solutions or systems-of-systems, etc.] That is, non-functionals, or quality attributes are attributes of the system that impact the developer, user, operator, and other stakeholder's experience and sense of the quality of the system (where some attributes relate to the system in operation and use, while others relate to the code).

While we're at it, we might want to make a little memorable educational performance art of outrage at the term "requirements." ;-) For really, these are, generally speaking, matters of design and strategy, not precast or preset in the situation. In many cases they aren't required so much as judged and determined by someone (or several) to be what is going to be asked or expected, and they become "requirements" by decision and action. Sure, situations vary -- if you're a contractor in India, you might get requirements thrown over the ocean at you that you're expected to deliver to. etc.

Whether we call them non-functionals or qualities, and requirements or design decisions or design commitments or some such, what we're going after is a set of system capabilities with associated properties that form a design envelope. Qualities are continuous (the "landing zones" metaphor is useful), multifaceted, and interrelated -- getting more of some will interact, perhaps counteract and intervene, with getting more of others. And there are constraints to take into account, like budgets. And from the conflux of much, the desired commitments or requirements are determined. The reason to make a song and dance of this, is that these design determinations take design savvy -- require not only a sense of what they entail and imply for the system, but also for what they entail and imply for users, operations, developers, the business. If we think these are simply requirements to be captured, we can weight consideration of a user, or some users, in undue ways, observing what they desire and aspire to have, but not taking much else into account. We need to be thinking of how we craft the "problem definition" (what we have tended to call "requirements", but which we lean towards calling capability design or system-in-context design) as being one face of the design problem, with "solution definition" (architecture) being the other face -- with interaction between both faces of system design.

Those who don't pay any attention to qualities and design intentions or design goals, fall into best-effort engineering and whatever that happens to yield, with tradeoffs being made under some combination of instinct and wishful thinking.

So, I kind of veered off into characterizing qualities in their contexts of relevance and concern as an example of the tricksy business of words that are best understood in their contexts. And while we want to get enough understanding of desired qualities to engineer systems with the integrity we need to deliver, it doesn't do to get our knickers overly in a knot about precise quality requirements before we know what design tradeoffs are even in the ballpark. I'm happy if the field shifts to a different term and ditches NFR. I think we can manage just fine even if we don't; there is a firmament of context-sensitive understanding around the term non-functional that demonstrates that even if the word is counter-intuitive, many have found a way to nonetheless make it functional. ;-) The bigger issue is working better with qualities and design of the system, from concept through capabilities and system-in-context design to internal design of the system and building out more what we want and expect to get -- even as we actively discover what it is we want and can manage to build in what sorts of timescales*.

I know, words can be like windows -- we don't notice them, but they frame what we see. So we need to be careful to use words that help us do what we're trying to do, rather than push against or subtly subvert.

Words, and requirements, aren't hard cast. They shape-shift, and change over time, but also across contexts. Yes, we can get better at defining them, and at different points in the design cycle, we bring them into clearer focus, disambiguate and clarify at least what the minimum sufficient and target levels are. But especially early in the lifecycle of a product genre, and even early in the design cycle of a new product (or system or service), we should also expect to work with ambiguity, and goodwill, rather than wilfully misunderstanding or obstructing understanding. Pick which frontiers to advance, and which to accept as good enough.

"As a scientist, I firmly believe that atoms and molecules are real (even if mostly empty space) and exist independently of our minds. On the other hand, I have witnessed firsthand how distressed I become when I experience anger or jealousy or insult, all emotional states manufactured by my own mind. The mind is certainly its own cosmos. As Milton wrote in Paradise Lost, “[The mind] can make a heaven of hell or a hell of heaven.” In our constant search for meaning in this baffling and temporary existence, trapped as we are within our three pounds of neurons, it is sometimes hard to tell what is real. We often invent what isn’t there. Or ignore what is. We try to impose order, both in our minds and in our conceptions of external reality. We try to connect. We try to find truth. We dream and we hope. And underneath all of these strivings, we are haunted by the suspicion that what we see and understand of the world is only a tiny piece of the whole." -- Alan Lightman

* Words have to be sequenced; please don't read "waterfall" into the fall of words there. The activities are interwoven and interleaved, as fits the extraordinary moment, its challenges and the outcomes we're working towards shaping, understanding, and build-delivering. In some settings, for example systems with mechanical and electronic subsystems with firmware, more may need to be done earlier to set context for the teams. Those cases where prior generations of product set a background level of expectation for capabilities and associated qualities (braking distance for cars, for example, has a threshold beyond which braking performance would just not be acceptable), have a different starting point than first generation, highly exploratory systems.

1/24/13: As performance art goes, here's a quip: Outrage over the subversion of language is literally everywhere. ;-)

1/24/14: I'm happy for someone (else!) to lead the crusade to change what word is in de facto practice for system qualities (or quality attributes) or properties or non-functionals. Still, I think we have a lot of work to do, to get better at characterizing qualities for our system under design (and designed-evolution). We need to better understand when and how to get precise. How should we characterize what system quality levels we want (to aim for in) for our system, taking into account that we need to shape understanding of what the qualities mean for our system (e.g., what does usability mean for this system) and resolve many interacting forces that come into play when we demand higher and higher degrees of qualities?

We can draw attention to this territory with some performance art (don't get me wrong -- I think performance art is very important; consider Randy Pausch and how he used to take a mallet to a brand new VCR to make usability points in the first lecture of his CS classes; if you haven't seen The Last Lecture, it is time!). I want focus to be on understanding that we're making judgment calls about which qualities to put the lense of our attention on*, what they mean for our system, how they interact and resolving them so we get more of what we want and less of what we don't want.

Judgment calls? Yes. We take into account what users value, desire, aspire to and such. We take into account what frustrates them. We take into account users in varying contexts. We take into account expectations set by prior generations of similar products and what competitors are doing, as that sets expectation benchmarks users and buyers and media reviewers will have in mind. We're taking into account (anticipated) load (e.g., transaction volume) on the system, and patterns of load (daily, weekly, seasonal). Threats. Capacity. And on and on. And if we're savvy, we use judgment as we determine the desired quality envelope for the set of interacting qualities that are significant for our system. Knowing too that what we focus on, will then cause other qualities to potentially raise their heads as more important than we'd noticed. And so it goes. To ignore these things is to allow happenstance to have rule. We want to apply our knowledge, experience and wisdom to getting more the outcomes we want, systems that delight where that is important, and satisfice where it is not, and such -- that "use conscious purpose without wrecking everything." (If you haven't read John Gall's paper with that title (.pdf on Tom Gilb's site) yet, it is time! ;-)

For me, drawing attention to being more precise about the word we use, while making the point that we need to use judgment about how precise to be about characterizing and setting desired quality levels for the systems they're defining, feels incongruent, so it's not a battle charge I choose to lead. It is all a set of judgment calls. No nailed down rigorous predefined set of engineering decisions that simply have to be stepped through. It is design. We take guidance. We apply experience. But we still have to develop and use context-sensitive judgment.flappy planes... from xkcd 1322

Does that make sense? I'm saying I recognize that the meaning of the word "non-functionals" in engineering contexts is incongruent with what we might expect from its dictionary definition (Concise OED at that). But there is another incongruity that concerns me (more), which is what would arise if I wasn't comfortable with that word-level ambiguity, but asked people to be comfortable with the ambiguity that surrounds qualities. We face a tension between getting really rigorous on defining and setting "requirements" for qualities, and allowing that they are design factors that are squirmy, squiggly beasties. And we must be comfortable with that tension, pushing for resolution and precision in some places, and accepting good enough characterizations in others -- knowing that more will become clear as we experiment, (iteratively and incrementally) build and deploy into use. Does that make sense? We discover what really matters. We try to discover the really critical bits as early as possible, bring all (smarts, experience, research, etc.) we can to bear, and then still discover more as we go. In part, because the context(s) into which our system is situated, is reshaped by the very system, but are also undergoing other changes as well, reshaping expectations and desires, and.... Uncertainty. Yeah. But we have to use judgment, to "create ground under our feet" (Dana Bredemeyer) that we can make progress on.

Image source: xkcd 1322

Doing a domain search on judgment on my Trace, the following are among those that come up:

And I'm reminded of:

'I confess that there are several parts of this constitution which I do not at present approve, but I am not sure I shall never approve them: For having lived long, I have experienced many instances of being obliged by better information, or fuller consideration, to change opinions even on important subjects, which I once thought right, but found to be otherwise. It is therefore that the older I grow, the more apt I am to doubt my own judgment, and to pay more respect to the judgment of others. Most men indeed as well as most sects in Religion, think themselves in possession of all truth, and that wherever others differ from them it is so far error. Steele a Protestant in a Dedication tells the Pope, that the only difference between our Churches in their opinions of the certainty of their doctrines is, the Church of Rome is infallible and the Church of England is never in the wrong. But though many private persons think almost as highly of their own infallibility as of that of their sect, few express it so naturally as a certain french lady, who in a dispute with her sister, said "I don't know how it happens, Sister but I meet with no body but myself, that's always in the right-Il n'y a que moi qui a toujours raison."'

-- Benjamin Franklin, as quoted in James Madison's notes on the Debates in the Federal Convention, September 17, 1787 (via Dana Bredemeyer)


3/10/14: More traces on word matters:

3/14/14: If we are creating a "me too" "copy-cat" product, then, sure, the competitor's product is our design starting point, and we have benchmark quality and cost profiles we are then working against, to differentiate. But being in the business of creating "copy cat" (or, more pleasantly put, "early follower") products, is a strategic decision, and while the design space is more constrained by that decision, there still are tradeoffs to be made in deciding which spot (capabilities and associated qualities, with a cost profile) in the feasible design envelopes to target. And as soon as we try to break out of the nose-by-nose race of cut-throat me-too competition, with innovative capabilities that launch new frontiers or form new niches in the market, we are back into the terrain of wider design freedom -- where design initiative has to be taken to explore and discover and determine qualities that matter and, as we reach for more engineering precision, set targets for critical qualities that market success hinges on. (Having a clear sense of the threshold of qualities below which we'd experience the system to be dysfunctional, makes for an interesting spin. ;-)

Via Paul Harland:

3/23/14: You might find the notion of "conjoint design" useful to have in your lexicon. I did some case study writing on conjoint analysis for Bill Lovejoy when I was a grad student at Stanford. That takes me back! Early nineties!

3/24/14: See also

6/5/14: "how well" should give you a Tom Gilb echo. :-) Tom Gilb is one of my "go to"s when it comes to system qualities. The SEI is right there alongside, of course.

I returned to this topic today, because Tom Gilb re-re-re-invited us to this year's GilbFest. It has been ever so long since I saw Tom.... waaaaaay back in the 90's when I was still at HP and we were working on Team Fusion (brining EVO, architecture and dynamic, organic teaming into Fusion). Dana has dined with Tom in Norway in recent years, but for me... way too long.

Yesterday Dana was talking about his ideas for what he'd do (at GilbFest). And it set me to thinking about what I could contribute, were I to manage the logistics and be there too. Which had me rereading this trace. Dana said something wonderful I don't want to lose track of -- he said "each person has their own well they go to, that gives them energy." Each person is drawn uniquely; they fill their vitality buckets at their own unique fountain. So each has different strengths and predilections, but also what they focus on, attend to, what compels and energizes them, is different for each. I think that well or fountain image is wonderful! But how does it relate to requirements? It sends me in different directions. Different people willl thrill to detail, others may be comfortable with the foggy ambiguity of early value exploration and discovery. Etc.




Quality Attribute Scenarios

Repeating myself but again, what we're paying attention to, shapes what we perceive and pay attention to. So, of course, I noticed this:


Which, of course, I relate to the SEI's quality attribute scenarios (for NFR characterization/specification):

QAS template

I've always found that wording to be a bit.. obtuse... Context, event and result works well for me.

"For example, a modifiability general scenario is:

  • The platform on which the system depends is changed. The system must be modified to continue to provide current functionality. The platform change may be a change in hardware including input and output hardware, it could be a change in operating system or it could be a change in COTS middleware included in the system. Existing functionality of the system should remain unchanged.

And a reliability general scenario is:

  • An internal component fails. The system is able to recognize a failure of an internal component and has strategies to compensate the fault."

-- Reasoning About Software Quality Attributes

* When we decide to prioritize and emphasize certain qualities, we draw design and implementation attention to them... which causes others to get less attention, and potentially that will come back to bite us... Thems the breaks kids. ;-) You remember the drill: Judgment factors. And factors and refactors.:-) This is why architects need to practice stretching -- system design is a dance with varied devils in the details, and other beasties. On the heads of pins. I tell you! ;-) It's not for the faint of heart, nor the dull of mind. Lots of arrows pointed at us, and the need to develop resilient self-healing egos. Among other things. But now I digress into qualities of architects. ;-)



Requirements Surface

Yes, that is a play on words.

Sure, as a system matures, we understand its demand profiles better and better -- but keep pushing them, so there continues to be novelty and uncertainty, even as regions of the system come under more control from better design understanding (how the mechanisms really work, under interactions with other systems and various operating environments and uses). Consider:

There is a lot going on there... Early in the lifecycle of something so complex as an F-35 with all its interacting systems(-of-systems), integration yields issues and emergent properties are discovered... to have been misunderstood...

Yeah. And. This wasn't in my requirements:


Fortunately Reddit is still up, so we can still talk to and about Google:


GOogle down; fiortunately Reddit still up

1/30/14: Google on what happened:

Image right: Richard Feynman, iconic performance artist-scientistfine perfomance ;-)
Source: Richard-Feynman.net



Performance Art

Ah yes, mentioning Randy Pausch and performance art, reminded me of this anecdote about Steve Jobs (via Dana Bredemeyer, via an architect in a workshop, but this version will do):

'...when the Apple design team presented him with the first version of the iPod. He looked at it for a while, turned it over and over, weighed it in his hand and then said: "It's too big." The engineers protested that it was a miracle of state-of-the-art miniaturisation – 1,000 songs packed into that tiny space. Jobs walked over to the fish tank in the corner of his office and dropped the prototype into the water. He then pointed to the bubbles that floated from it to the surface and said: "That means there's still some space in it. It's too big." End of conversation.' Steve Jobs: Stanford commencement address, June 2005,

An example of performance art? Or just a performance? Regardless. It made the point... uh... vigorously...

1/26/14: Oliver Wendell Holmes on performance art (not that he put it quite in those terms, but still):

performance art

Ye-esss... I have characterized my Trace as performance art; what a good memory you have. ;-)



Requirements as Design (Rehash... umm, I mean... Iterating)

[This continues the "non-functional" discussion started above.]

I watched Richard Cook's "How Complex Systems Fail." The story about pumps (around minute 8+) illustrates that "requirements" involve active imaginative exploration of scenarios to discover what might and likely would happen if this design route for the system's interactions with its context is taken, versus another. It is a matter of making assumptions (and surfacing them) and playing out what transpires -- in a "future" world in which the system is "in place". Sure. prior generations of the (kind of) system help illuminate expectations, intentions, assumptions, and contextual constraints, but the context changes. And the system, with its changes over prior generations, reshapes and changes the context. For example, if the system is "smart" and means less human intervention, that has reshaped the context. You can see how that would have gone in the case of the pumps. Anyway, I highly recommend the talk by another MD (Richard Cook) looking at how systems (don't) fail. Another? Yes, remember John Gall and Systemantics?

The story told in Gene Hughson's post, Risky Assumptions and the Assumption of Risk, surfaces similar illumination. We make assumptions about the system, but not all are explicit, some are poorly conceived, and some are not even considered. Some of the assumptions lead to formal agreements or commitments about what we will/must deliver. We call those requirements. But we also tend (post hoc) to call those we missed or got wrong, requirements -- for example, when we failed to understand the operating context of our system, and what that would mean in terms of demands on the system, we point to requirements failure. These are design decisions that have to do with system capabilities and qualities, though they may be determined by choices we make as we code, if they haven't been thought through in advance. And so it goes. Yet we can't think it all through in advance. Hence iterative and incremental -- and interactive. Using the design medium that best fits the moment we're at. Which might be code -- building capabilities to better learn what quality levels we need to shoot for, and to learn what functionality we need, even. But might be role play and developing scenarios. And user experience/customer journey maps. And. So forth.

"most cases of failure... have been in two categories: imagination and process" -- Grady Booch

1/28/14: Anyway, I'm arguing that it is all design. If "Steve Jobs" (the handle we associate the innovation with) took playing CDs as a "requirement" for portable music, the iPod would not have come into being until someone else opened up the design space by tossing out that "requirement" (which, you note, was actually just an assumption that was constraining the design space). "Steve Jobs" (himself, and all the teams who worked with him on the myriad innovations in the ecosystem that Apple initiated and facilitated and built out) didn't just open up the design space around the player, but the whole set of ecosystems surrounding music and electronics and more. I'm using that example, because a vein of push-back is of the sort that points to existing physical constraints or strongly held expectations about how things are done. Disruptive innovations help reveal the relationship between assumptions and requirements (where requirements is the design of system capabilities and qualities), and assumptions and design of the system (internals -- parts and relationships; mechanisms and how it works, etc.). Hence our language: context, system-in context and system, and strategy and context; capabilities design and system-in-context; and architecture and system. Presumably you're going "I see what you did there" -- you just got rid of the need for the "requirements" word altogether, and NFRs along with it. ;-) Tee hee. Watch this woman. She's sneaky like that. You feel a little breath of wind and look around and without even knowing it you're seeing the world differently. ;-) What's that? Sleight of mind.

Ohhh. I know. Sometimes the design space is constrained by other systems our system must interact with, by expectations shaped by prior generations of our systems, and/or our competitors. Not to mention physics... Yet, if we engage in "how would we like this to be" rather than how does the past cast entrap us in assumptions we aren't willing to loosen the grip of, we open up the space of opportunity. We want to make design decisions which set direction and constrain future decisions. But the point I'm making is, do we let the environment dictate these decisions without question? Or do we give a moment to considering what opportunity we close out? The difference can mean becoming a Nokia or a RIM to Apple... Y'all, the assumptions our worlds are founded on are being reinvented! Re-invented I tell you!

And, quips aside, I don't really care what we call them, so long as we have a sufficiently fluid understanding that what is "required" is a set of decisions that could generally use some design judgment being brought to bear. I realize full well there are situations where the containing system has a lot of design power, as it were. (Where our system has to fit in to expectations and interfaces that are already pretty well cemented.) But those systems and the situations they drive are going to be disrupted at some point, and it is strategic to take that into account. Too. This extraordinary moment. So many considerations. Judgement factors.

Of course, this isn't the first time I've traced in this space of ideas. But my thinking evolves, as I iterate on it. :-)

1/28/14: I've told you before, Randall totally works for me. No really -- words.

More about words:

1/30/14: Why don't more things go wrong?



(Why) I Love Twitter!



And Yet...

Sigh... We need to do all we can to stay gentle with each other... Life just hurts sometimes and we might do something out of alignment with our best self and cause hurt... So much goodwill, good intentions, kindness, and somehow something trips emotions and it gets messy.

On the one hand, it is too bad we know the "dirt" on Richard Feynman's divorce, and on the other, it is reminder that our human condition is well human. This living out loud in public stuff is risky. I know. One part of me is in horror of tracing! And tweeting. And having a presence on the i-way.

1/23/14: It's been a year since I mentioned Jim March's movies on leadership, hasn't it? Must surely be time to:

Why do I mention these movies, in this context? Both have as a theme, debunking the overblown myth of heroic leaders. Is Emma Thompson one of the rare exceptions:

'"Ezra Pound said, ‘I have not met anyone worth a damn who was not irascible.’ Well, I have: Emma Thompson. Not only is she not irascible, she’s practically a saint. There’s something so consoling about that old trope, but Emma makes you want to kill yourself, because she’s a beautiful artist, she’s a writer, she’s a thinker, she’s a living, acting conscience.' -- Meryl Streep

a jug-full from the stream



More from the Serendipity Feed

System Design
Conceptual Architecture

Some heuristics:

Fragility -- It's All Connected!
Utopia or Oblivion...

Yes, that's a title of a Buckminster Fuller book.

1/30/14: ThoughtWorks Jan2014 Technology Radar (covering dashboarding ops; physical gets more digital upliftment; intelligence is invasive unless principled; ... :-)



Empathy and Reading

If we truly want to develop empathy we might want to start with developing a better understanding of ~50% of this planet's population. This is the year of building awareness of how little we read the work of women. Those who read my Trace have a distinct empathy advantage!!! ;-)

Marc Andreesen began by noticing that a smaller proportion of women (11%) follow him, than men. Then he noticed that he follows much fewer women (<20%) than men. And he asked for suggestions on who to follow.

How biased are we in our reading and following habits? Can we do better, if we just become more aware? I find that more women follow me (back) after I interact with them on Twitter, than men -- even if they favorite or tweet the interaction, do they consider looking at my tweet stream to see if I'm interesting? Do some (men and women) filter me out due to gender filters they don't even perceive they have? (Don't we also filter at the seek step, Tim? Oh wait, Tim doesn't follow me. ;-)

What we read is a matter of very personal taste, but sometimes we have to work on opening our minds a bit, and give something a chance.

Here's Maria Popova with some suggestions:

In honor of #readwomen2014 – an effort to equalize the gender imbalance in our collective reading habits – here are 14 fantastic, timeless reads by women


"I am no longer accepting the things I cannot change. I am changing the things I cannot accept." - Anonymous (via jhagel)

"Everyone wants change, but is reluctant to make a change." #readwomen2014

“Vision without action is a daydream. Action without vision is a nightmare.”Japanese Proverb



Uncertainty and Ambiguity

Here are some traces on uncertainty and ambiguity:

Beauty and Delight



Decision Template

nice decision template

You can buy them at KnockKnockStuff!

Oh, you can also get a guilt trip. What? You already get enough of those? :-) Aw, I'm sorry? WTF? Seriously? #justsaying ...



Jadis strikes again:

Jadis strikes again!

The sunrise this morning was spectacular though, with the first slant rays dancing in the ice-strung trees.

1/23/14: Pretty morning -- clear skies with a rainbow around the sun. Not a complete arc, but still astonishing -- I've never seen rainbows without clouds in the sky before! It turned out to be -2 degrees F (that's coooooold), but quite calm so fortunately not the wind chill they forecast..



So, we're barreling towards the 8th birthday of this Trace and you're just waiting for February 3 to say all those nice things about it, right?

The Conceptual Architecture page has more hits this month than journalCurrent. I guess that it is recommended reading for some classes on software design/architecture.

Instrument Analogy

Use quality tools


Requisite Flexibility


N.W. Dougherty, a professor of civil engineering at the University of Tennessee, described the artist/engineer well when he wrote in 1955: “The ideal engineer is a composite ... He is not a scientist, he is not a mathematician, he is not a sociologist or a writer; but he may use the knowledge and techniques of any or all of these disciplines in solving engineering problems.”

The discussion is timely and timeless. Art, in fact, was featured as one of the topics at this fall’s National Academy of Engineering U.S. Frontiers of Engineering Symposium. Among the sessions was one focused on engineering and music, with presentations including “De-mystifying Music and its Performance” and “The Laptop Orchestra as Ensemble and Laboratory.”


Leonardo da Vinci set the wheels in motion long ago with his marriage of engineering and art. His curiosity and ingenuity spanned the domains of mathematics, civil engineering, anatomy, and well beyond.

-- Leah H. Jamieson, Dean, College of Engineering, Purdue University

As is:

'Yih’s dancing is as precise as her engineering. In competition, one small slip — a split-second miss on connecting with a partner’s hand — can set off a perilous chain reaction. “Like any system, recovering from a breakdown takes a lot of effort,” Yih says. “Dancing is the coordination of many different things. There is no single element you can ignore. Like many systems that have many different components, when one is out of sync, the whole system will suffer.”'

-- Art meets Engineering, Linda Thomas Terhune


I'm still processing the change from this to this... Anyway, how does one draw wisdom, which is emergent... from the interaction between knowledge and experience... and... empathy? :-)

2/9/14: Develop Strategic Thinkers Throughout Your Organization, Robert Kabacoff, February 7, 2014



Introducing... The Art of Drawing People (In)

I was reminded that I'd introduced myself at the beginning of my Art of Drawing People In tutorial at SATURN 2010 as follows (except that instead of the second slide, I played the beginning of The Emperor's Club, where those quoted lines (on the slide) are spoken:









More here: The End Depends Upon... the Beginning

I thought about submitting a proposal to SATURN 2014 that would focus on some playful (and useful) and some serious (foot in the door of credibility, but also useful) techniques for conceptual architecture design. But actually, that Art of Drawing People In Tutorial would sure be timely about now. [Oh, you get the double-play in the title right? Drawing people. Yes, that. But also getting people to enter into, to engage.]

Dana was invited to do a keynote at an internal conference and he had such a great topic/focus and he thought of submitting that to SATURN 2014 too. But he was just so busy traveling he didn't make the deadline.

The organizer of the Agile Architecture conference in The Netherlands asked if I'd be interested in presenting, since both my name and Dana's name was given to them by conference attendees last year. The Dutch are awesome! #justsaying ;-)

So, should I? And if so, assume you're going, and tell me what topic you would be most interested in hearing from me on?

For those who have only more recently started to check in on this Trace journey, I draw architects as "box and line drawings" -- you know, sketchy conceptual architecture figures. ;-) I call the character Archman, and he turns SIX in March. Time sure slips through the fingers, doesn't it? Ugh.

Oh. And remember. This Trace turns 8 on February 3. You're going to be suitably effusive, no?

Uh... For a lark, I looked to see if anyone had ever tweeted the video of the Picture It talk, given that it is in this topic space of drawing people in ... and one person had... back in 2009 so I missed that, 'til now:

The only nice reaction!!

I suppose it doesn't do Aleks credibility any good to say that is the only compliment that video got (barring a nice compliment from my friend Daniel Stroe who had to be nice, naturally)...?! Well, if... being a really gracious kind human being deserves any standing... then Aleks credibility is untainted by that kindness. And, yes, I would talk differently about the brain in the past year or three than I did then (2009), although the larger point I was making then still holds: we might view ourselves and others as "analytical/left brained" or "intuitive/right brained" but we all use both sides of the brain, and all stand to gain from overcoming the notion that "I don't/can't draw," and recognizing that we can draw well enough to draw people in.

Anyway, it does my self-esteem no end of good to see that someone had, in fact, said something nice about it. It feels really.... daunting... to have a video out there that only one person in its history "liked"... Complete silence feels like criticism, leaving me wondering what terrible things people thought but saved my feelings from seeing...

As golden oldies go, our slides on EA as Business Capabilities Architecture (from 2002) got a replay via Emeric the other day. Woohoo. ;-) [You might notice that my name is first on the slidedeck, and I indeed created it. Such is the culture in our field that Dana is given credit for it... Oh, I am grateful it was mentioned. But for those who are thinking women are just making a lot of noise about a non-issue, they might want to start to pay more attention to all the instances that mount up to waves that just wash out the contribution of women in this field.]

As for that video... that was the first and only time I've presented on camera. I'm not usually nervous like that, but I got terrible stage fright with the thought that not only were some people tweeting out (another first for me), but people in the future -- in the future! -- would be able to see my preso. Silly me. I should have realized no-one would be interested!!!!! ;-) And rightly so. Rightly so.

See also:

As left/right brain goes, there is a neat sketch around minute 20+ in Bo Burnham's awesome (but NSFW) "what" standup routine. No sacred cow left untipped in that routine! ;-)


Remind Me To




Conway's Law

My Conway's Law post from 2008 was picked up in 2012 and tweeted around a bit, making it the most tweeted thing I have ever done!!

Conway's Law

More here:

"Reverse" Conway bounced around a bit this past week... Michael Feathers characterizes the relationship as symbiotic... Interesting that there is debate among the scientific community as to whether symbiosis should refer only to mutualistic relationships, or any persistent relationship between two organisms... ;-) From (the always reliable) wikipedia:

"Symbiosis (from Ancient Greek σύν "together" and βίωσις "living") is close and often long-term interaction between two or more different biological species. In 1877, Albert Bernhard Frank used the word symbiosis (which previously had been used to depict people living together in community) to describe the mutualistic relationship in lichens. In 1879, the German mycologist Heinrich Anton de Bary defined it as "the living together of unlike organisms."

The definition of symbiosis is controversial among scientists. Some believe symbiosis should only refer to persistent mutualisms, while others believe it should apply to any types of persistent biological interactions (i.e. mutualistic, commensalistic, or parasitic). After 130+ years of debate, current biology and ecology textbooks now use the latter "de Bary" definition or an even broader definition (i.e. symbiosis = all species interactions), with absence of the restrictive definition (i.e. symbiosis = mutualism).

Some symbiotic relationships are obligate, meaning that both symbionts entirely depend on each other for survival. For example, many lichens consist of fungal and photosynthetic symbionts that cannot live on their own. Others are facultative, meaning that they can, but do not have to live with the other organism.

Symbiotic relationships include those associations in which one organism lives on another (ectosymbiosis, such as mistletoe), or where one partner lives inside the other (endosymbiosis, such as lactobacilli and other bacteria in humans or Symbiodinium in corals). Symbiosis is also classified by physical attachment of the organisms; symbiosis in which the organisms have bodily union is called conjunctive symbiosis, and symbiosis in which they are not in union is called disjunctive symbiosis"

-- symbiosis, wikipedia

As overlooked work goes, my software visualization zoo got no love and that is a real shame. Guys, guys, isn't that rather an excellent way of characterizing the visualization space. ;-)

2010 that were.capability bundles



Innovation as Remix

Systems are, in a sense, simply capability bundles -- which are themselves bundles of capabilities, with "big new ideas" being more "sophisticated" or "advanced" or "complex" bundles that change the relationship dynamics. Or (in some ways novel, in some ways analogous or even existing) blends of capabilities applied to new contexts. More simply? They're just a remix, for the most part. Borrowed from other fields or applications, bundled up in new combinations to serve different or emerging needs. With some advances or inventive new capabilities in the mix, but not necessarily.


Modeling ecosystem dynamics

Another sketch mock-up of my exploring-thinking (from 2012):

cpabailities and evolution



Getting closer to the end of the month. So closer to February 3! I'm so excited. Everyone is going to be so nice!


Well, .... I'm sure Peter will be. :-) Peter, you are hands down the most generous person my Trace ever met!

I know. I know. This silly vanity has gone on quite long enough. Fancy pouring this many words into the intertubes. Sullying the attention streams of those kind enough to look in here. Really, I should be more responsible!

"If a tree falls In the forest
And there's nobody around
Then the bitter cries
Of its harsh demise
Don't even make a sound"

from the lyrics of one of Sara's songs

Thanks to Peter for hearing the sound of that trace:

If a tree falls...

Peter, Gene, Stuart. A few good men. All I do. All they do. And the ball is almost never punted on. It is heart-sickening. It really is. I'm not sure if I can keep rekindling my hoping machine.

1/27/14: Here's a little something:



Simplify: Cut the Clutter

Simplicity: The Next Big Thing, Rosabeth Moss Kanter, February 12, 2009

This includes, among other things, a neat reminder that variation (in product lines) comes at the cost of increasing complexity. There is a tension between better addressing real needs of market niches, and adding superfluous, additional complexity (not just in development-evolution, but integration, supply chains, on and on).


Expanded Mind

“Just like startups that promote the myth of the genius founder, we reward individuals for collective projects” -- and more and more, we expand our minds with compute assist, and cognitive intelligence benefits from ours:

The power to mashup gets ever greater -- and our feeling that "we did it all," alone deserving credit, with it? The more rich the soup of others' contributions we draw on, the more unique our peculiar idiosyncratic remix has a chance to be. So is it our genius, or the genius in the "soup" that compute assist gives us the power to draw on? Interesting time this. And what a future we glimpse!



Every time I see an increment in Peter Bakker's exploration, discovery, building, I get more tingly with anticipation -- I'm so looking forward to Peter's mapping app. Peeeeeter, when will it be in an app store near me?

I like "subway" styled maps -- to me, they are much more powerful than mind maps, for they allow/support a more complex web of connections and thematic interactions. But they are hard to draw as one's thinking reshapes. So. An app.

Go, Peter go!!

Later: Hmmmmm. Text analysis... Where's he going with that? Antici-pa-tion.


Humility and Confidence; Uncertainty and Intentionality

I had the privilege of seeing the outline for Stuart Boardman's upcoming talk, and am excited by what he figures factors into uncertainty (as it relates to organizations and technology) and how he factors his talk. Uncertainty popped back into mind, seeing Rosabeth Moss Kanter's tweet on humility, given our thread on empathy.

We face much complexity and uncertainty. We need to hold ourselves and each other in a crucible where we see ourselves as highly capable (hence able to be confident) and also fallible (hence humble) -- being compassionate and tender in how we view ourselves, so that we can tolerate where we mess up even as we strive not to, even as we aspire to do much good in this world full of surprises and daunting complexes of uncertainty under interactions of so many forces and transpirations of anticipated and unanticipated, even unanticipatable, events,... And. Again and again I return to "how to use conscious purpose without wrecking everything" (John Gall) -- including our own sense of ourselves and others.

[Note: Long complex entangled sentences emulating the reality it is describing. :)]

playful be



"the many theories of play expounded in the past are clear proof that the phenomenon is difficult to understand." -- Piaget, 1962

“Combinatory play seems to be the essential feature in productive thought.” ― Albert Einstein

Image source: Kazuki Yamamoto



As we hurtle towards eight years of architects architecting architecture Traces, I'm going to allow myself the luxury of revisiting some of the kind words people have said over the years. It is a nice excuse to go back and see that here or there a trace rang enough of a bell for someone, that they were kind enough to share a link to it.

Don't worry, there haven't been that many shoutouts, and I'll pick just 1 a day for the 5 days leading up to the 8th anniversary of tracing here.

Like this:

thank you

Thank you to all who have said kind things about my Trace:

Yeah, so this!

Oh, oh, oh:

As amazing traces in the sand go, here are some of the most amazing!

Image right: xkcd 605xkxd 605



Connecting, Extrapolating... Assertions, Projections


Facilitation Resources


(No) Estimates

The noEstimates wave is swelling...

Reaction to misconception...? Estimates are simply, well, you know, estimates. It is helpful if we can attach confidence levels, but so often our confidence levels are as iffy as our estimates. So why bother with estimates? Because we have to make investment and prioritization choices on the one hand -- sorry, we can't do it all, so how do we decide what to do, and what to not do? And, on the other, we have dependencies and we are trying to raise awareness around what those dependencies are, how they interact, and what to expect -- even as we actively reshape what we expect. So we can have contingencies in the wings. Buffers. Estimates are "stakes in the ground" so we can see the lay of things, so we can sense and probe where the unexpected is rearing its unsettling head so we can move the stakes and design for and around. Estimates are simply tools in the "how to use conscious purpose" game. They help us learn. We figure out as best we can, and then we sense and probe. We assess, orient and adapt. To surface and illuminate issues. To respond. To better understand. To become more wise. More wise, because there is uncertainty and it takes insight and foresight to shape systems -- including the social systems creating systems -- to enable more the outcomes we want.

When we treat estimates as fixed commitments and associate penalties with breach of commitment, we risk driving the visibility truck off the (no)project cliff. Huh? If we make it risky to make how we're doing visible, we're going to promote disguising and obscuring and hiding anything that helps surface and see how we're doing.

Of course, among the "truck drivers" to be implicated here are those who do this: “Studies show that 94 percent of major government IT projects between 2003 and 2012 came in over budget, behind schedule, or failed completely." (Eshoo and Connolly). Do what? Call it failure when estimates are used for budgets and schedules, treating system development efforts more like assembly lines than development of strategically important systems that have crucial arenas of novelty and discovery and inventiveness. We estimate, because we don't know. Estimate -- you know, roughly, approximately, judge what we anticipate the cost and schedule to be. Under great uncertainty -- very roughly! But we do so to see how we are tacking, so we can estimate and re-estimate expectations for all the flows of activities we're bringing together -- not just different pieces of the system like infrastructure or hardware, and software or firmware, or whatever, but also so others in the value stream can be doing their parts.

Pssst, I have been saying for years (<sigh>, <impish wink>):

6/16/14: It is useful to revisit practices we may take for granted and question whether, when, to what extent they (still) apply. The noEstimates discussion serves to (re)surface or take another look at the considerations, concerns, assumptions and presumptions around estimates. It all adds perspective (or to the ability to shift perspective). And, you know, "perspective is worth 80 IQ points" [Alan Kay]. :-) Noticing how our industry does relative to estimates, we could toss the estimates baby. We could decide we're not going to try to look beyond now; simply follow the unfolding of a system, giving the team resources as needed and as we're able to provide them. Where the team and the business are paired at the hip and unfolding together, that makes sense. The dependencies are highly visible, the effects of choices are more direct. For teams that fit within broad webs of interdependencies from threads and flows of value that come together various ways (for new products, there's manufacturing setup, supply chain preparation, channel readiness, partners that need to stay in sync, hw/fw/sw teams, etc.), it helps to have open communication, including a sense -- that is updated and adapted as more is learned -- when and how others can play their roles. If we think that small focused teams are good, we need ways to connect them that are also adaptive. Our bodies aren't simply reactive. We use anticipation -- each step we take has very local anticipation that adjusts how we take the step, but also heads in a direction we have anticipated we want or need to go in. Again, if something unanticipated is in our path, we adjust. We have these many levels of anticipation and adjustment, all the way up to budgeting for our kids' education, saving for college. We know that we have this balancing between anticipation and sensing and adjusting and anticipation. Yeah, Stafford Beer VSM and Boyd's OODA comes to mind. The ongoing process of observe and orient, decide and act and observe and orient. (aside: The "control" language is misleading; organic, dynamic responsiveness is so central to VSM.)

Context factors. And, sure, we have to decide what, in the context, factors most heavily. Situations differ. Demands, drivers, forces, people, ... individual proclivities, ... factor. It is good to revisit our assumptions, presumptions, ask what has changed in our option set, and take a fresh look at how we do things. And it is not good to act like people who make different choices are doing so because they don't get it... They may just get more about their own situation than outsiders are acknowledging.

Image source: internetsneeds no words



(Innovative) Logic

that's logical

My daughter?

broad spectrum logic

"How can I tell what I think till I see what I say?" -- (quoted by?) E.M. Forster, "Aspects of the Novel"

The context? So nice of you to ask:

"Another distinguished critic has agreed with Gide--that old lady in the anecdote who was accused by her niece of being illogical. For some time she could not be brought to understand what logic was, and when she grasped its true nature she was not so much angry as contemptuous. 'Logic! Good gracious! What rubbish!' she exclaimed. 'How can I tell what I think till I see what I say?' Her nieces, educated young women, thought that she was passée; she was really more up-to-date than they were." (EMF, _AN_, ed. Oliver Stallybrass (Harmondsworth: Penguin, 1976) 99)

All kinds of delicious, isn't it?

There's logic. And there's logic. It's good if you see what I mean. I think?


Pssst. I had to read back down through RuffyanMe tweets to find that innovative logic one. Why hasn't anyone said anything nice about her? She's quite a sparkly little creation, is she not? Personas have egos too, you know.


Fashions Fashion Us

fashions fashion

Same may be said of tech/engineering fashions, no?


On Principle(s)

Here is Susan Sontag (by way of Maria Popova):

'Fear binds people together. And fear disperses them. Courage inspires communities: the courage of an example — for courage is as contagious as fear. But courage, certain kinds of courage, can also isolate the brave.

The perennial destiny of principles: while everyone professes to have them, they are likely to be sacrificed when they become inconveniencing. Generally a moral principle is something that puts one at variance with accepted practice. And that variance has consequences, sometimes unpleasant consequences, as the community takes its revenge on those who challenge its contradictions — who want a society actually to uphold the principles it professes to defend.

The standard that a society should actually embody its own professed principles is a utopian one, in the sense that moral principles contradict the way things really are — and always will be. How things really are — and always will be — is neither all evil nor all good but deficient, inconsistent, inferior. Principles invite us to do something about the morass of contradictions in which we function morally. Principles invite us to clean up our act, to become intolerant of moral laxity and compromise and cowardice and the turning away from what is upsetting: that secret gnawing of the heart that tells us that what we are doing is not right, and so counsels us that we’d be better off just not thinking about it.

The cry of the antiprincipled: ‘I’m doing the best I can.’ The best given the circumstances, of course.'

Homework assignment: Relate that to architectural principles. Reports due on Monday morning. ;-)



This Strange Thing, My Trace

I hope that I don't seem too pathetic retweeting compliments about my Trace from a year or three ago.... I know that I choose to write in a format that is... idiosyncratic and not everyone's cup of tea. I also know that I make it hard for people to recommend, because it is a very unique sort of thing -- bigger chunks than a tweet stream, and generally smaller chunks than a blog or zine. Evolving material. Iterating over topics that I'm exploring/working on. None of the blog features that enable interaction. So many ways it bucks every recommendation in the "book" of proper form for making it big/popular. I reveal my thinking with tremendous openness and vulnerability, knowing that it is well hidden behind the tl;dr veil of words. It makes this a highly personal space. So reactions to it would be as strong as reactions to me. And the general reaction to me is... no reaction. Still waters run deep and all that, and these are not the depths many can tolerate encountering at all, let alone much.

Why then, do I (playfully) draw attention to whether people do or don't say anything nice? Well, because I don't want a large audience, I rely on a very small audience to give me the positive feedback I get. We all need some positive feedback and inclusion that makes us feel seen, valued, present to the world in this our one short life on spaceship Earth. :-) Camaraderie is important, and I'm going to remind people to give me some every now and then, otherwise it is a lonely thing to be a me. I don't need much. But somehow people seem to forget to actually say nice things to women -- or this woman anyway -- and while resilient as the rest of humanity, we also need some encouragement and positive response to our work and contribution once in a while.... :-)

But I am a happy resilient sort of creature. So even while there is a voice in me that is capable of this perspective:






I do that more because I see how indifference hurts others, even more than it hurts me. I use myself as an example, but my hope is that we become more tender and take better care of others we're in contact with. I have the advantage of being articulate and though shy, I do manage to jump up and down pointing to myself when I need the help of a kind word (a virtual hug, if you like), and I have friends who notice me doing that and pitch in with the kindness of taking me seriously. And besides:

and besides



We need to use our words to build. In many ways. Including by providing reflections of the positive. The world gives out negative feedback freely and in heaping-generous portions. Recognition, appreciation, celebration, acknowledgment must be expressed to be known, to provide enriching reflection of that other person's best self.


I have some of the most beautiful friends in the world -- you don't have to know who they are to know that they are amazing for they noticed me and were kind to me -- to me!!! So I am, and feel myself to be, incredibly fortunate! But I also take the liberty of reminding them that sometimes I need all the negatives I perceive and feel to be counter-balanced with some outright positive celebration of what I do and contribute. :-) And the birthday of my Trace provides an opportunity to do that. Through the first five or so years of tracing, it was up to Dana and Daniel to say something encouragingly celebratory, but my Trace has made a few more friends so that part of me has a few more sources to draw on. Some of my friends and most clients don't read my Trace. And of those that do, some are just not comfortable being effusive. I understand. It's not designed for easy consumption. And not everyone thinks that positive responses do good in the world. Personal tastes, discretions, and more, factor.) So. February 3. No excuses. Exceptions excepted. ;-)


And... If no-one else remembers or overcomes inertia or shyness enough to say something nice, at least the birthday of my Trace gives me the excuse to be self-indulgent. Oh, I'm frequently self-indulgent, but most of the time I have no excuse. ;-)




"And while we appreciate the artistic foresight of the past, we rarely appreciate the artistic foresight of the present, because it feels ugly and difficult. But it has always been so, from Kandinsky to Kafka, since the shock of the new is about patterns not yet recognised, patterns not yet subsumed into the zeitgeist.

The real artists of today will not find favour with us, or with our institutions, maybe not even in their own lifetime, because their work is not for us. It is for our great grandchildren."


"Art is what you do to the viewer"

- Tom Uglow, The arts electric,

Which reminds me that the other day, scanning for insights on play, I came across/was struck by this (on the theatrical kind of play):

“Did I tell you what happened at the play? We were at the back of the theatre, standing there in the dark, when all of a sudden I feel one of 'em tug at my sleeve, whispers, "Trudy look!" I said, "Yeah, goosebumps. You definitely got goosebumps. You like the play that much?" They said it wasn't the play that gave 'em goosebumps, it was the audience!

I'd forgot to tell them to watch the play; they'd been watching the audience! Yeah, to see a group of people sitting together in the dark, laughing and crying at the same things...well that just knocked 'em out! They said, "Trudy, the play was soup, the audience, art."

So they're taking goosebumps back with 'em into space. Goosebumps! Quite a souvenir. I like to think of them out there in the dark, watching us. Sometimes we'll do something and they'll laugh. Sometimes we'll do something and they'll cry. And maybe, one day we'll do something so magnificent, the whole universe will get goosebumps.” 

― Jane Wagner, The Search for Signs of Intelligent Life in the Universe



Like nous detached from Anaxagoras,
Like cosmic fire glimmering without
A Heraclitus there to find it out,
Like square roots waiting for Pythagoras,
Like One-ness riven from Parmenides,
Like Nothing without Gorgias to detect it,
Like paradox sans Zeno to perfect it,
Like plural worlds lacking Empedocles,
Like Plato’s chairs and tables if you took
The furniture’s Eternal Forms away,
Objects abandoned by Reality
Still look the same…

-- Gjertrud Schnackenberg’s “Sonata


Relationship Thinking, Hugo Mercier, (via Paul Harland)



I also write at:

- Bredemeyer Resources for  Architects

- Trace In the Sand Blog




Journal Archives

- Journal Map

- storylines tubemap by Peter Bakker



- June
- July
- August
- September
- October
- November

- Current



- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November


- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December


- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December



- January

- February

- March

- April

- May

- June

- July

- August

- September

- October

- November

- December


More Archives



January Traces

- Characterizing this Trace

- We Need to be able to Talk

- Lincoln on Government

- Charybdis of Narcissism, or Scylla of Silenced Contribution?

- The Code is

- Architects? Who Needs 'em?

- Agility Integrity Sustainability

- Technical Debt -- Aaa-gain

- Winter Workouts

- Practice Empathy

- Non-Functional Words (Tricksy Beasties)

- Quality Attribute Scenarios

- Requirements Surface

- Performance Art

- Requirements as Design

- Introducing The Art of Drawing People In

- Empathy and Reading










Chief Scientists

- Grady Booch

- Martin Fowler

Enterprise Architects

- John Ayre

-Peter Bakker

- Stuart Boardman

- Todd Biske

- Adrian Campbell

- Louis Dietvorst

- Leo de Sousa

- Johan Den Haan

- Chris Eaton

- Roger Evernden

- Ondrej Galik

- John Gotze

- Tom Graves

- Melvin Greer

- Adrian Grigoriu

- Carl Haggerty

- Dion Hinchcliffe

- Paul Homan

- Brian Hopkins

- James Hooper

- Martin Howitt

- Kristian Hjort-Madsen

- Alan Inglis

- Jeff Kennedy

- Janne J. Korhonen

- Nick Malik

- Alex Matthews

- Brenda Michelson


- Sethuraj Nair

- Doug Newdick

- Steve Nimmons

- Jim Parnitzke

- Ric Phillips

- Chris Potts

- Randall Satchell

- Praba Siva

- Serge Thorn

- Bas van Gils

- Jaco Vermeulen

- Richard Veryard

- Mike Walker

- Tim Westbrock

Architects and Architecture

- Charlie Alfred

- "Doc" Andersen

- Tad Anderson

- Jason Baragry

- Simon Brown

- Peter Cripps

- Rob Daigneau

- Udi Dahan

- Tony DaSilva

- Matt Deacon

- Peter Eeles

- George Fairbanks

- Kevin Francis

- Sam Gentile

- Simon Guest

- Philip Hartman

- Todd Hoff (highly recommended)

- Gregor Hohpe

- Gene Hughson

- Steve Jones

- Frank Kelly

- Kirk Knoernschild

- Philippe Kruchten

- Sjaak Laan

- Dave Linthicum

- Anna Liu

- Nick Malik

- Chirag Mehta

- JD Meier

- Kris Meukens

- Gabriel Morgan

- Robert Morschel

- Dan Pritchett

- Chris Potts

- Bob Rhubart

- Arnon Rotem-Gal-Oz

- Carlos Serrano-Morales

- Shaji Sethu

- Leo Shuster

- Collin Smith

- Brian Sondergaard

- Michael Stahl

- Daniel Stroe

- Gavin Terrill

- Jack van Hoof

- Steve Vinoski

- Mike Walker

- Richard West

- Rebecca Wirfs-Brock

- Rodney Willis

- Eion Woods

- Brian Zimmer

Architect Professional Organizations





Agile and Lean

- Alistair Cockburn

- NOOP.nl

- hackerchickblog

- Johanna Rothman


Agile and Testing

- Elisabeth Hendrickson

- Elizabeth Keogh

Software Reuse

- Vijay Narayanan

Other Software Thought Leaders

- Jeff Atwood

- Scott Berkun

- CapGeminini's CTOblog

- John Daniels

- Brian Foote

- Joel Spolosky

CTOs and CIOs

- Rebecca Parsons

- Werner Vogels

CEOs (Tech)


CEOs (Web 2.0)

- Don MacAskill (SmugMug)

Innovate/Tech Watch

- Barry Briggs

- Tim Brown (IDEO)

- BoingBoing

- Mary-Jo Foley's All About Microsoft

- Gizmodo

- Dion Hinchcliffe

- Oren Hurvitz

- Diego Rodriguez

- slashdot

- smoothspan

- The Tech Chronicles

- Wired's monkey_bites



- Marci Segal


Visual Thinking

- Amanda Lyons


Social Networking/Web 2.0+ Watch

- bokardo.com

- Mashable


Visual Thinking

- Dave Gray

- Dan Roam

- David Sibbet (The Grove)

- Scott McLoud


Leadership Skills

- Presentation Zen


Strategy, BI and Competitive Intelligence

- Freakonomics blog

- Tom Hawes

- Malcom Ryder


Um... and these
- Nick Carr

- Tom Peters


Green Thinking

- Sylvia Earle, TED

- CNN Money Business of Green videos

- Matter Network


- xkcd

- Buttercup Festival

- Dinosaur comics

- geek&poke

- phd comics

- a softer world

- Dilbert


I also write at:


- Strategy, Architecture and Agility: The Art of Change: Fractal and Emergent, 2010 

- Innovation and Agile Architecting: Getting Past ‘But’: Finding Opportunity and Making It Happen, 2008

- EA and Business Strategy: Enterprise Architecture as Strategic Differentiator, 2005

- The Role of the Architect:: What it Takes to be a Great Enterprise Architect, 2004


Ruth Malan has played a pioneering role in the software architecture field, helping to define architectures and the process by which they are created and evolved, and helping to shape the role of the software, systems and enterprise architect. She and Dana Bredemeyer created the Visual Architecting Process which emphasizes: architecting for agility, integrity and sustainability. Creating architectures that are good, right and successful, where good: technically sound; right: meets stakeholders goals and fits context and purpose; and successful: actually delivers strategic outcomes. Translating business strategy into technical strategy and leading the implementation of that strategy. Applying guiding principles like: the extraordinary moment principle; the minimalist architecture principle; and the connect the dots principle. Being agile. Creating options.

Feedback: I welcome input, discussion and feedback on any of the topics in this Trace in The Sand Journal, my blog, and the Resources for Architects website, or, for that matter, anything relevant to architects, architecting and architecture! I can be reached at

Restrictions on Use: If you wish to quote or paraphrase original work on this page, please properly acknowledge the source, with appropriate reference to this web page. Thank you.


- Links to tools and other resources



- Other Interests






Copyright 2013 by Ruth Malan
Page Created:July 1, 2013
Last Modified: August 18, 2016