A Trace in the Sand
by Ruth Malan
What's a Trace?
For 7+ years, this journal has contained notes I've taken as I explored what it takes to be a great software, systems and enterprise architect. That's a long time, and a lot of exploring, wrestling with understanding, and simply noticing and celebrating. Too much really. I should go back to thinking outside this box; and I am creating some better organized boxes for the work I share. :-)
I closed out May early, so as to "turn over a new leaf." :-)
But.. that didn't last long:
I created my informal blog on Blogger just to try that out. But... I hear that Blogger is pretty inhospitable to those who try to comment from outside Google's imperialist base... That's really unfortunate. So sorry about that.
While a cycle out into a glorious after-the-storm evening light blew the funk right out of me, it was Surfaces and Essences that set my spirit back to full flame. There is a lot that is familiar, given that, over the past several years, I have been reading papers and watching talks by Douglas Hofstadter on analogies and thinking. At times the book is rather ponderously didactic, not making much allowance for the quickly grokking playful skipping mind that it is talking about! ;-) But my, my, at others it is delightfully, exquisitely vibrant! Making full use of analogies to hue sentences that just radiate. Anyway, I do recommend it with warmth and reason. We use analogies to think, to learn, to communicate and to create.
Sometimes I think that it would be fun to vamp a method called Design by Analogy (or summat of that ilk) to get this important tool a decent place on the software development toolbelt. But it seems like this clan-oriented software world needs tribal leaders who assert and muster a kind of single-minded allegiance to break into the attention space. Which doesn't appeal to me in the least, because such skewed single-mindedness has a maladaptive fit in this highly shaded, complex world.
Balance the Deck?
EA conferences have a better ratio of women to men than most tech conferences -- at about the ratio of women to men in the industry. But still too often have all men in the top slots.
From wikipedia, for expediency:
Hm, seems like we need a "Jefferson's Law" (see the scrollover text) for software...
And Celine's laws... -- translate fairly well to organizational politics and architecture (esp. the 3rd)...
For me, xkcd is pretty much there:
And of course, Murphy's Law.
Levity aside, what should I add? (Of course there's principles like SOLID: SRP, OCP, LSP, ISP, DIP; and DRP, PLS, SoC, ... and guidelines like YAGNI, and so forth. Ok, I've already argued that Postel's Law is really a principle. But what are the "laws" that software people would find useful, but are perhaps less likely to be aware of?)
As software goes, I really like that Jessica Kerr is helping us think about the distinctions between FP and OOP, and design issues that come up in FP -- on her blog, her tweet stream and her talks. Of course Michael Feathers is moving our understanding in these areas forward importantly too.
6/3/13: In his keynote at Ruby Midwest this year, Michael Feathers makes the case for "Deliberate Reflective Design" that is a call to use judgment rather than uniform application of standards and principles. This is very much in sympathy with our "extraordinary moment principle" which says "what at this moment is the most important thing for me to be thinking about?" -- in the large, it gets us to prioritize what uncertainties and challenges to address (for example, in this moment, what are the make-or-break market and technical risk/challenges we face and which do we go after now and soon?) and in the small it brings in all the factors that are flying in messy formation around what we are trying to do*, and figures out what the key drivers are and how to achieve them while also balancing and bringing into view factors/drivers that will rear their heads as key if we ignore them. Which really is the useful/adaptive role of checklists and standards and principles -- they should be used to bring what has been learned to bear to check how we're doing in this messy moment and remind us of some things we might, in all the demands on our attention, have neglected. In short, we shouldn't let our tools become our masters, but rather use them judiciously and art-fully. Further, while we are learning to master our craft, it is useful to attend to our technique and principles help us internalize values (and their tensions and sometime even contradictions or paradoxes) and develop our technique**.
If we look at moral values and moral principles we see the same sorts of tensions. If we tried to make everyone adhere to the same values and principles uniformly, we'd get a society that has little variance and poor fit to different tensions that arise in different contexts and individual situations. The film Anna Karenina is a great treatise. This doesn't mean that values and principles are bad. It just means that we need to allow that personal judgment and circumstance needs to factor. Too.
Dana, playfully but meaningfully, asserts that there is a silver bullet in software and it is "relationships of goodwill and a commitment to objectivity." (Let me hasten to add, in this cognitive/perceptual/decision bias/flaws -aware world, this doesn't mean Dana makes the assumption that we are always, and by default objective, but rather that we seek to bend our path toward objectivity rather than alllowing ourselves to drift away from it).
This (neat Serendipity, via Stuart Boardman) is pertinent:
(But applying the analogy at a different scope, to system and capability or component or algorithm.) We introduce (a minimal set of) standards, principles, over-arching or higher level design decisions, and such, (in the best case) to bring the "overall good" into the "local" picture of a narrowly scoped design consideration. But it is a factor to be weighed along with other factors. And judgment has to be used when we choose to put aside bigger systemic concerns and outcomes -- and we need to judge when to raise our desire to do so to the architect who is balancing more of the system concerns that are being tested and weighed locally. And so forth. Deliberate reflective design. Being more conscious of the factors that give design integrity and make for a sustainable design.
Judgement factors. As does experience. Ours. And that of others who work with us, and before us.
So, my heart is really in "no brute-forcing" -- no willy-nilly application of some principle on the simple basis that some guru said so; no filling a wish-list with every checklist, standard, law and principle we can scour off the knowledge stocks Google-Bing indexes and then living slave to them; yadda. But equally, the exhortation isn't to go cowboy in the city. The days in which Django Unchained was (ostencibly) set were wild and brutal survivalist days... Frontiers open up where many rules are an impedance to doing what makes sense. But in the city, wild bullets are going to take down innocents. And wild stuff like that. Sense. It gets tested a lot in this frail form we come in, but we still strive to have some, and to return to some form of balance where the contradictions within ourselves, and in our contexts, can be lined up enough that more good than bad stuff happens!!
* For example, we are juggling issues of conceptual "proximity" and (often algorithmic) cohesion with what prompts changes and hence what tends to change together, along with, for example, what is really uncertain and experimental, or complex and we want to shield the rest of the system from the special knowledge and care this piece requires, and and and multiple forces and considerations flying not in close, aligned formation so much as a messy interacting buzzing around what we are designing. Or something.
** I like what Michael is doing there -- specifically, he illustrates design challenges with examples that put the questions (or challenges) to which the SOLID principles are an answer/response before us in place of the principles. Notice that the questions/challenges require (even more) judgment -- they aren't pedantically didactic the way the principles are. And multiple challenges get thrown against the same posited structures, begging the question of which alternative best satifices the conjoint set of goals and properties/qualities we are striving for. (I feel obliged to mention that these questions overlap with questions*** we ask in our architecture workshop. I don't mean that in a "been there done that" way, for Michael does a wonderful/much better job of positioning them, and shades/nuances the approach in a way I much like/value! Oh, and I can't help teasingly pointing out that while he makes apologies for being abstract, I just let comfort with abstraction be a filter that sifts out the architectural thinkers. ;-) I'm teasing, but mostly myself. Architecture astronaut has barbs that are not lost on me. Even so... I deal in abstractions. Being abstract, making connections, drawing relationships. And making leaps. IS my game. Frustrating, I suppose, for those who... what the jabberwocky! Deal in abstractions. Name made up things. That have to relate. That shape shift over time. Oh. My. Cheshire Cat!
*** (6/6): These questions or challenges bring design heuristics into view, but require judgment in applying them because they don't prescribe what must be done in response (being both more open ended/not prescriptive but rather attention directing, and taking into account multiple simultaneous concerns the architect/designer is weighing and addressing), though they are suggestive.
6/6/13: Nice post today by mfeathers:
Image: Design questions and design challenges come up in many ways -- from the big questions and uncertainties in the market to the technical challenges in creating structural integrity (where I think of design integrity as both structural integrity and fit to context and to purpose). Image source: cjdelling via Jennifer Aaker
Which also reminds me to mention Charlie Alfred's work on architecture challenges -- which is on a different vein than collecting the set of general design challenges that are useful to address at our designs (alternatives under consideration or "legacy"/existing code). There's also the strategies and tactics work addressed at system properties (e.g. done by the SEI/Rick Kazman, etc.).
All these things wash together in messy ways. I was collecting "laws" and mentioning principles and responding to my inner goad that reacts against big anything and towards minimalist, so I riffed off the part of mfeathers talk that reminds us to use judgment. But having bought his talk in as a push-off point, felt I had to point out that his talk isn't about judgement in the large (which, important though it is, would be too wishy washy to fairly characterize the talk) but rather gets into specifics... Garr. I shouldn't engage. If I don't mention other work, I can be more of an idiot. ;-)
Which recalls to mind this quote:
6/13/13: On uncertainty and judgment in engineering:
One of my favorites is the book title You Are Not So Smart. Oh, I haven't read the book, although I've read the blog from time to time. No. I really mean the title. You -- are not so smart. The author, we should understand, is smart enough to write the book on You being not so smart. That is a recursive joke that I would expect the author invites knowingly. I hope so. Because while Nassim Taleb expounds on the virtue of self-awareness he seems to have little. I too have blind spots you can't see. All those you do see? Well, I see those too because you don't keep quiet about them, now do you? ;-) For example, you think that I am blind to the egoism entailed in writing a Trace in which I show up. Ha! (Wink) How dare I point to Taleb's overt displays of territorialism, when, in doing so, I fall foul of the same ploy? In essence, I'm as scrappy a street fighter, climbing the monkey power tree slinging... um. This is starting to sound like a Ze Frank True Facts episode... ;-)
Ok. Let's get serious. Some books:
And, if our cognitive baises could fail us, this would make sure we never make a decision with confidence again:
On the funny side:
What else should I add?
Hm, yes, this:
and with applications (wink):
And looking up nucleus accumbens and leadership leads me to this:
I really liked Dana's positioning of ongoing dynamic strategy [stated as to an executive team, but not organization specific (you can stop shuffling your feet uncomfortably)]:
Making All the Difference
Kind words and deeds. They make all the difference.
6/3/13: I'm not always right. (If you read here much, you'll know that I write to figure things out, which means I often find myself wrong, and ammend myself. Sometimes quite radically.) But I'm not bland. And I try to take on meaningful topics. You may not think they are front and center important to a technologist -- until the beast is staring you in the face and you realize, damn, that Ruffyan idiot wasn't.
So if you say something encouraging, we are not going to think you agree with me. Given that even I don't. ;-) But it's nice when someone just is nice. It is rough being in a field where "wrestling" rather than "hugs" is the end all of how human contact is meted out. ;-)
I mean, you guys. Hello. Why isn't anyone saying this is frabjously awesome:
That "make it predictable by deciding" owes a lot to Dana. Sure, sure. Not 100%. But we have a better shot than if we do nothing, We design, and lead, to make something that isn't already so in the world. No sure bets. Lots of imaginative leaps, assertions, decisions, building, and testing -- not just our code, but the assumptions our code depnds on. Hello. Hello. Brain treat!
Ooooo this is perfect. You can go now. Or not.
So. Hey. Today I was called Jiminy Cricket. I took it to be a gentle scolding. But I could have let it be a compliment. ;-)
It takes courage to speak to and for others as artists do. As leaders do. Giving voice, standing up, standing out, risks being made a target.
The Architect Skills Workshop
A number of wonderful architects are signed up for our next open enrollment Architectural Leadership and Other Skills Workshop which is coming up in Chicago/Schaumburg on July 16-18. There are still seats available, and we would love to have you join us. Email me for more info:
Architecture includes but isn't limited to just those decisions that are significant by the "cost of change" measure, but those that are significant to structural and design integrity and (competitive) sustainability (in the larger sense of economically viable now -- delivers value -- and into the future -- is economically and technically and environmentally adaptive and adaptable and suchnesses).
For example, it may be a "finer detail" but if it is going to percolate up to affect system identity or otherwise impact system integrity, there's some architectural work to be done to communicate what identity and integrity mean for this system, so that more fine grained/local (in scope of impact) decisions are consistent with the identity and don't undermine system integrity.
Let me make this more clear: I am not advocating architectural oversight of error messages!! (That's a wink to those who saw how this trace started its life.) That's so far from minimalism it's utterly absurd! But if a seeming small detail erodes the product/enterprise identity, and these things add up to something that impacts success, they are architecturally significant.
Culture and values get expressed through technical details like the state of the code and our conduct observable through the membrane of the system. And while culture is emergent from many factors, it can be influenced by the stance, the conversations and stories and attention, and so forth of the technical leadership.
More exploration of architecturally significant decisions here:
Um, I think I need to go do this now....
(Twitter has growing pains... We understand... And Twitter teaches us that eventually consistent can be very ... eventual when it comes to Twitter DMs... and we put up with it because we're addicted to it! Speak for myself? Ok. Ok. I'm addicted to it. But I was ranting earlier about the "Thanks for noticing" error message. Ever since I entered the Twitter world, that has irritated me because it is condescending. I mean. The world stops. And we get "thanks for noticing"? See what I mean? Condescending. Oh, you hadn't noticed that? Oops. Sorry!)
Um, I think I really need to go do this now....
6/4/13: Rats, this keeps happening to me:
See, this is perfect:
Perfect? For architecture -- deciding what belongs in the architecture is, no way around it, an architectural act.
I can't tell you which decisions should be in your architecture. I can tell you which kinds of decisions are likely candidates. I can give you examples of decisions and I can guess at and start to give you an idea of the forces and drivers and goals that were in play that made that decision an appropriate one for that architect to make.
But the corollary is that when the management team or the development team make a decision that is architecturally significant, they have become that system's architects and they may not have the perspective and experience to have brought in the appropriate mix of considerations and experience to bear, and they may not have the experience and the leadership weight to ensure that the right tests or experiments are done to validate the approach taken and and and suchness. I'm not trying to undermine and understate the excellence of managers or developers, but only saying that it does actually take time and attention and a way of perceiving and way of shifting perception and and and to make architecture/system design decisions that is similar to, but in important ways different to more local technical decisions -- like the conversations that are had are different when the decision crosses organizational boundaries. That overlaps with conversations managers have in terms of resources and tradeoffs, but is deeply technical (for technical systems). Etc.
There's no getting away from it -- developers and managers will make architecture-impacting decisions (sometimes even subversively)... But deciding what belongs in the architecture is, no way around it, an architectural act. Which has shades of political, because resources are managed in organizations in politically charged power structures. I'm not saying this latter is necessarily a bad thing. Resources are limited. Mechanisms will exist to channel resources. And the same essential mechanisms can often be used maladaptively and for ill, or adaptively and for good.
Oh My Goodness...
Alcohol has really taken to social media like ticks to my dog on a hike through the woods.
Mining tweets to find people who seem depressed and following them with a persona who spams gin and martini? That is sick!
6/5/13: Spam is getting ever more creative too. Got "invited" to CIOSummit -- which, you understand, never happens to me, so I did some Googling... Found this. Hm.
Thank You for Noticing?!
Is there anything more irritating than:
No, not the fact there is an issue. But the "Thanks for noticing". How can Twitter still be doing that? Because... no-one notices? Or is too nice to complain? Oops.
Word to the wise: when you shove an error message in your users face with nothing else to look at, don't say "Thanks for noticing."
In my interpretation of architecture, error messages are not architecturally significant -- until they are. And when they are really really good -- like the first unicorn -- or really really bad -- like "Thanks for noticing" this really obvious in your face thing we just did that stopped you in your tracks and you couldn't possibly not notice -- then... the architect should step under that arch. System integrity. It's architecturally significant if it can, or just did, #fail. ;-)
Say SORRY dammit. Just. Say. SORRY.
Ohhh. It's funny that we're thanked for noticing? Like, you pour a bucket of water on me, and expect me to laugh funny? Ok. Yeah. Ha. Ha.
Um, I think I need to go do this now....
Grok check: It may be a "finer detail" but if it is going to percolate up to affect system identity or otherwise impact system integrity, there's some architectural work to be done to communicate what identity and integrity mean for this system.
Oh yeah. If I messed up on how I read that and am being emotionally over-reactive, kindly let me know in an aside, so I can fix it. ;-)
Still... Nice of Twitter to let me make the point that architecture isn't just those decisions that are significant by the "cost of change" measure, but those that are significant to structural and design integrity and sustainability (in the larger sense of economically viable now -- delivers value -- and into the future -- is economically and technically and environmentally adaptive and adaptable and suchnesses).
It may be a "finer detail" but if it is going to percolate up to affect system identity or otherwise impact system integrity, there's some architectural work to be done to communicate what identity and integrity mean for this system.
Let me make this more clear: I am not advocating architectural oversight of error messages!! That's so far from minimalism it's utterly absurd! But if a seeming small detail erodes the product/enterprise identity, and these things add up to something that impacts success, they are architecturally significant. Clearly "Thanks for noticing" is not impacting Twitter's success.
Culture and values get expressed through ttechnical details like the state of the code and our conduct observable through the membrane of the system. And while culture is emergent from many factors, it can be influenced by the stance, the conversations and stories and attention, and so forth of the technical leadership.
Funny how the oddest things will prompt the most important insights to fall from my fingers.
Thank you for noticing.
[While we're on the subject of #fail that percolates up -- Blogger's failure to be seamless to google-identity-carrying citizens and non-citizens of Google's Empire further underscores said imperialism in a way that hurts Google loyalty. This is a global world, and we want those outside the Google Empire to be able to comment on our Blogger blog easily and without frustration and without having to join the Empire. In this case, it sort of lines up with Google's identity so ....]
Hey. So. Should I remove the rant and just sift out the insights? ;-)
Icky. Icky. Ranty. Bad Ruffy!
More exploration of architecturally significant decisions here:
Ok, I Don't Need You Any More, I've Found Bill (Or "Bill")
Ok, ok. Back to doing this...
Maps. Because we couldn't possibly do anything called models. Been there. Done that. Got the jabberwocky kicked out of us. But Alice dressed as Agile slew him dead dead dead. So. Maps.
Ohhhhhh. It's all different now. Now it's Gamestorming. Psst. Many visual tools. Serve different needs. Call them what you like.
Captain Picard told me to engage.
So. Hey. What do you think?
The hipster cats out there are scary! ;-)
But they need... to get visual. And I knows how. Been doing Influence Maps and Context Maps and Stakeholder Profiles and Force Field Analysis and yadda for <cough cough> nearly two decades. Rats. Just blew my credibility.
Ok, ok. OKAY already. Back to doing this...
But... Don't forget Conceptual Architecture Diagrams and CRC-Rs (for factoring and refactoring responsibilities and keeping track of dependencies and the "What The Jabberwocky was I thinking" connected dots to the "why's" and and (and) past "WTJ's we learned from" aka experience and such). And and and. (Hint: two words: behavior; transformations.)
You're so very right. I do need to do this...
6/5/13: I like how Peter Bakker's Mapping book is coming along. :-)
6/10/13: Aw, I came back across this from 2009:
Aren't you glad I kept trace of that, and (re)told you?
I... uh... also (re)read this. Hm.
Would it be minimalist to mention that everybody who goes rantishly superlinear on use not reuse of code chunks needs to remember that we use the re to (re)emphasize using it more than once? I agree that when I reread a book I read it again and when you read it (for the first time) you're just reading it; same book, read by many. But we're trying to (re-)educate people to (re)use code that has already been used once. Not minimalist? Why goodness me. Gosh. So sorry. (The other day, I said "sorry" and Dana said "sorry?" and I said "no, I was just apologizing." And he said "phew. Was gonna ask who you were and what you'd done with my wife.") I agree that use makes more sense. In a way. But I also understand why the emphasis of re is a useful, given the mindshift... Not minimalist. Uh oh. That'd be hard!
6/10/13: Two lovely papers (thanks Peter Bakker for the pointers):
Of course, I traced Barbara Tversky in 2009... ;-)
I've done a lot (and that really means a lot, coming from me) of writing about sketching and visual modeling/visual thinking/visual design and visual architecting (obviously) see for example numerous entries in the Trace from October 2010. But of course traces on the topic are scattered throughout. For example:
Lesser Talents? or Someone Had To!
and there's this:
6/6/13: Nice add to the equation:
Those of us who majored in math, studied and practiced computer science, and any of the other fields that rely heavily on applied math, know that notation and the "grammar" of mathematical language is a powerful cognitive lever. We also know that it is dense and impenetrable to a newcomer to the problem space and even more so to the newcomer to the language space. (The number of errata indicates the difficulty even for the steeped expert in a channel of thought.) It takes concentration to construct and to parse. And to hold more in mind that the details, we rely on a conceptual partitioning, however we designate it. So we're juggling grokability and communicability, and conceptual manipulations at different granularities, and all or nothing kinds of approaches leave some cognitive gear off the table.
Blindingly Obvious that Blinds
An innocent response (by email) to my Architects: Flexibility and Dots to Connect blog post threw me into one of those crises of self-criticism to which I'm overly prone -- I immediately saw the points I made especially in the opening, as completely trite and inane. Heck, if we didn't learn from books and others, why go to school? University? Why scour the internet? All the people saying "Just Do It" in blog posts are expecting us to READ their exhortation to get on with doing rather than reading. And so forth.
That's what I don't like about a blog! I want to go in and edit what I learned. That aspect of blogging is badness for a me who writes to learn. [I do other things to learn too, like reading. Just testing which box you put me in. Yeah. I thought so. ;-)] Then again. The engagement that caused a person to innocently and generously make a different point, but which prodded this realization loose, is the wonderful up-side of blogging.
6/5/13: Do this: Look at the red dot. It is amazing! What the brain can do. Just. Astonishing.
6/5/13: Serendipity is an amazing creature. (Our brains are ever so good at noticing what we just noticed, and other pattern matching, but still...) Earlier this morning, I pointed Andrea to a trace largely on sketching, despite it's Architecture Principles title, in which I quote:
Then, because my point about learning (second-hand) from wisdom passed down by the greatest but also lesser known minds of the great parade of human history is being made not in opposition to, but in company with, experiential learning, I took a look at (via Peter Bakker) Experiential Learning ... on the Web by Tim Pickles, which, right up front, quotes, wait for it:
The way I involve myself in what I read, is by arguing with myself over it. I'm not going to show you my marginalia. :-) But it is fun (re)reading Youdon and Constatine's Structured Design (after Kent Beck tweeted it, I had to go back to it) and reading the young Dana Bredemeyer's responses to it from so very long ago. :-)
What's the Big Idea?
I really liked Stuart Boardman's Mr Ashby’s Bright Idea post. Yes, he committed a first: "Ruth Malan’s requisite flexibility principle." And while I think it is the mark of a great man to read any of my* work (mischievous smile), it is a useful exposition and discussion of Ashby's Law of Requisite Variety. It is not the same-old regurgitation, but a probing curious discussion and well worth reading. Eager for the rest of the series!
* Aside from the enormous tolerance it takes to look past all the icky-icky me-ness of my traces, it also takes wisdom to get past the caskets of stereotypes and downcasting that we too often, not even consciously, stuff those who haven't been sanctioned and vetted by the dominance credit bureaus of publishing houses and conference circuits into. That's a huge big WINK. I playfully kick at the tires of our beloved institutions, and challenge us to consider our fallibilities (including my own follies and vanities). But at the very same time I do value the role they play. I just think we need to build a more plural world, where it doesn't just take strong-handed dominance posturing to survive and thrive. Anyone want me to keynote this at a tech conference? WINK! Sorry, my sense of irony is kind of skunkish, isn't it?
6/7/13: Perhaps I should note -- the point to which Stuart alludes is only tangentially made in the blog post itself. It is made in this Trace, and has various antecedents in other traces. I made it specifically in a comment on the Flexibility post that I deleted, and added back in after I'd removed an uncareful-playful concluding "goes beyond Ashby" ego-marker that was inappropriate (for anything less personal and informally playful than this Trace). :-)
If you are a Stafford Beer fan, you know what Platform for Change refers to. Impish wink. Yes, it is his book where he interweaves more personal and informally -- poetically -- expressed and more formal observations and explorations (but with color coded pages, to enable avoiding (huh?) the informal, or (yes!) one could go through the book following different veins through it).
You would have to understand that my view of complex systems is nuanced by the ever changing nature of change in a competitively evolving, ecosystem disrupting, world. Systems change and are changed by their contexts in dances of evolutionary change. Dancer-like flexibility is a lovely image, especially when you understand how quickly ballet is evolving in response to changing audience tastes and a kind of attention deficit disorder that requires diversity of experience and surprising surprises... ;-)
More related traces:
6/7/13: Flexible variety in Nature:
It's So Much Like Actually Being There ;-)
(Zats a grin). Distilled nugget awesomenesses:
No-one. No-one. No-one has asked for the next Sara story. What is with yawl? Oh. Right. It would be weird, huh? Well, this one is too good not to share. Sara is copy-editing her friend's novel. Here are two of her choice edits, with her accompanying comments (I anonymized the friend's name with x's):
My daughter, the comedian. Move over Ellen Degeneres!
My son? He's awesome too. After just a few weeks of road biking, he has already completed his qualifying training miles and is well on his way to being ready for his border-to-border 1,500 mile cycle tour this summer. Last Sunday he couldn't make the afternoon training ride with the youth cyclists, so went out in the morning with the adult group and did 60 miles at their 20 mile/hour average pace on the very hilly back roads.
6/8/13: PS. I just wanted to say -- Sara's latest song is awesome. :-)
Do I lose or gain credibility when I quote my daughter in my Architects Architecting Architecture Trace? Waaat? Did I not do a thoroughly persuasive job on the Requisite Flexibility thing? Enough to justify any tangent? Hey, this is how I positioned my Trace in July 2012:
If you are new to this Trace, you have only your fellows to blame. I have been doing this for more than 7 years. And four or five people have mentioned it from time to time. The rest was up to everyone else and they failed us, didn't they? ;-) [It could happen... that falling upon my Trace, someone will chortle in their joy "O frabjous day! Callooh! Callay! ... and wonder why it is such a well kept secret. While we of course know better. There be strange creatures down that rabbit hole. ;-)]
(Requisite flexibility is flexible (requisite) variety, or the ability to change what variety we present. Thanks to Stuart for making me stand still long enough to pin that down. ;-)
Organizations -- even the giants -- have to learn to dance, and they only dance if we who make them up can dance gracefully and in patterned co-ordinated (sometimes even, in a sense, choreographed) harmony in places, and in jazzy improvisations in others. And other metaphors. Sara's latest song is about metaphors. How cool is that synchronicity?
Later: Wait, wait, wait. I've got it. But let's see what you think. Since there are like 3 people who let on that they read here (brave, generous men those!!), they shall have to shoulder the entire burden of buoying my self-worth with an occasional moment of effusion, and schedule themselves to deliver a surprise compliment once every three weeks. That's not too much to ask is it?
I'm joking. It is really too bad that the person who says wonderful things about my writing undermines his credibility with me by never being interested enough to read my Trace. And some of those who stop by habitually, don't say anything, so I assume they use my Trace to goad their thinking, kinda like one uses the wall in the swimming pool to push off when doing laps... But somewhere in this big world with ever so many people in it, there's got to be someone who'd think "O frabjous day! Callooh! Callay!"... No? Gosh. I'm so disappointed!
If we get no reflection back, are never met with a nod or a smile of delight, the mirror others hold up to us, tells us we are invisible!
6/8/13: Usually I feel pretty ok snipping people's tweets and pasting them in this Trace for safe keeping. :-) By ok, I mean that it is safe to assume the persons in question will be more pleased than not to have me draw attention to their points and to preserve them outside Twitter and the ecosystem(s) that has(ve) developed around Twitter. Placing them, as I do, in a context where they are appreciated and conversed with, and such. Hopefully... But... Sometimes... Well, taking that "don't ask for permission ask for forgiveness" approach that is the software developer/architect's golden rule -- oh, not The Golden Rule which we measure others by; but the golden rule we actually use. ;-) [You know, the one that says "they'll never know if you don't ask; duh." I guess it is some sort of corollary to the law that Parkinson's Law is a corollary* to... the dual of which might go along the lines of "what we are paying attention to shapes what we perceive and pay attention to" or something like that... Which law is that a dual to? You know, the one I haven't named yet. Ask Stuart to pin me down on it. ;-)]
The internet delivers:
Don't miss the animation at the bottom. Because.
* at least in the case where busy well-intentioned people (who want and like to help) pay attention to the trivial thing they can make a contribution on easily, rather than the more urgent complex thing that they have no clue how to tackle and know it would keep them from doing the more obvious, simpler tactical things they (think they) know must be done. ;-)
Picking up the fallout from the lonely battle to be a human being and making the best of my own becoming with it.
Dana saw a young skunk doing circles on the road and pulled over. It had its face stuck fully into a yogurt cup. Dana whips out his phone and takes a video snip. A woman pulls up and says "Can't anyone do something?" And Dana says "Are you brave enough?" And she says "Yeaaaah!" in that "pfft, of course," sort of voice. And gets out of her car, still on her cell phone, and takes hold of the cup (still on her cell phone), and the skunk dangles off it for a moment then plops off and scurries away. While Dana is feeling about | | small -- and wishing he'd caught the whole thing on video!
See. Architecturally significant! Waaat??? Hell if I know, but I'll get Dana to upload the clip to Youtube and I'll put it on the Requisite Variety blog to see what lessons we can draw from it. ;-)
Smile! The jabberwockies we have to battle in architecture are (mainly? for the most part? more often than not? pretty often?) perceptual. And I don't just mean the icky-touchy-feely ones. The technical beasties are so much about categories, and analogies (this mechanism is analogous to this mechanism we designed in this system over here, and that idea came from this combination of analogies we drew from nature (yesss! hiss!) and and mechanical systems and...) and touchpoints and which skunks we can grab hold of and when... I mean...
Do not underestimate a lady ... with a story. ;-)
Funny. On June 5, I, for the first time ever, characterize my sense of humor as skunkish. And lo and behold, serendipity serves up a skunk for June 8's humor moment. How cool is that? The world just revolves around me, doesn't it?
Your cognitive disability moment served to you today by the makers of the Architect Skills Workshop. It's just like Red Bull, and you don't even have to jump out of an airplane to fly without a parachute! Wanna come? For a mere $1800 you can have front row tickets to 3 days of... Oooooohhh.
(Well, there are a few seats left. Better snatch em up fast!)
Moral of the story: And you guys are worrying about women driving while talking on their cell phones. Really! This woman saved a skunk without even breaking a sentence.
All the points are great, but I especially value this:
Oh yeah. I wrote trace on Software Abstractions (that uses that same Jackson quote, as it happens).
"Requirements" as Design
This is from a trace I wrote in 2007:
It occured to me, prompted by reading this:
that ideas can be "bicycles for minds" too. They can rachet up what we can create, and what society is capable of. In small ways. And big.
Then I read this:
Things begin as ideas. Things come of combinations of ideas and acts of building, which are influenced and shaped by ideas. And these ideas are acts of imagination and analogy or transference, of imaginative novel combinations addressing imaginatively conceived purposes that didn't exist in exactly that form before we begin to shape the purpose and the conceit of the thing that fits that purpose.
Gene Hughson wrote a nice post on tradeoffs (and the discussion in the commentary gets into technical debt as a case in point):
When I read that post, this one came again to mind:
Of course, this too is related:
And, drawing the thread that has wound its way from requirements as design to tradeoffs (which mean that we need to keep the "requirements" side of design in active suspension while we explore to understand the design tradeoff envelope better by getting into enough of the structural and mechanism design, and prototyping, even sketch-prototyping and pretendotyping, and incremental buildout of cornerstone mechanisms and capabilities and... you get the point) and back to requirements as design. Which leads me to mention my post from last month, that does a bit of a round-up of a few of my traces related to requirements as design. :-)
Yes, there's generally a thread of reasoning. It might be or seem pretty tenuous, but... suspension of disbelief lets art its do magic. ;-)
Negative space is wonderful stuff. Abstraction. Metaphor. Occlusion and elusion. Allusion. Suggestion. Connections. Associations. I have this wonderful slideset. If you get permission, you can use a limited number of Eschers in a keynote, but you can't put it online. So I need to create some alternatives. Ha. Yeah. Alternatives to Escher! Me? Sure. Smiles! [Hey, I can do mobius strips in words. Worship me! (Oh come now. Hyperbole! A bit of admiration now and then never hurt anyone. Did it? I wouldn't know, you see. But I don't see any admiration-damaged peeps... barring those who admire themselves... Oh shoot. This didn't go where I thought... it would. Where I thought it was going was to The Point. Which? Let's see... I wouldn't know... yeah, because our life is a longitudinal study; hypotheses and tests repeated ad infinitum until, like other empirical scientists, we get the answer we were looking for... Er. No. That wasn't... I give up! ;-) ]
This keeps happening:
And this (but not enough! :-)
Ok. I need to go write a book now.
I'm soooooo sick of silence*. I need to go make some noise. ;-)
(If you find me back here, boot me off!)
* Ever so grateful to the few people who do engage in comments, email and such. I mean in a much larger sense. If this Trace doesn't spark enthusiasm, and if I want sometimes to feel like what I write lands, then obviously I need to put my writing moments into a different forum and format. I'm going, I'm going. I just didn't want those who have been kind to think I don't value their support.
Then (may I suggest you) read the traces from March 2011. :-)
And really, if nothing else, isn't this worth the price of admission:
"Everything you know is wrong." So from time to time, open up your reading window to something different. My Trace is... different. In a good way! ;-)
Oh. For those who are relatively new here, this is my pattern. My system seems to need to crash (a little--just enough!!), to resurrect itself in defiance in order to do the next big audacious (frontier forging) writing thing. :-) [It's an adaptive process, like making room for new thinking, staying humble and on the watch for flaws, yet confident of my perspective and ability to push our conceits forward in useful ways.]
OMGoodness! In the "be careful what you wish for" category! I am seriously stunned and amazed! That left even my internal voices speechless for hours! :-) I'm unabashedly the chief cheerleader in Grady Booch's fan club -- he is, afterall, a pre-eminent father of Visual Design in software! And I'm very excited about Grady and Jan Booch's Computing project, because he is a great storyteller and sense-maker who will bring wisdom and perspective to computing's history and to considering what technology portends for humanity. But to be mentioned by him in a tweet with "wonderful" and Alan and Rebecca Wirfs-Brock... that... well I still don't know what to say.
I suppose trading humorous mock-insults would be more comfortable for all concerned in a scenario like this. But the truth is, I'm touched by the generous inclusion and humbled to have my name in the same tweet as the Wirfs-Brocks.
So, for future reference, what would have been an appropriate response? I was totally floored!
Well. Back to book writing! ;-)
Here's a little something for you:
Now you can go back to the traces from March 2011.
October 2010 was awesome too, ;-) Lots about visualization. And more.
Be a little bit excited about my work, would you? Sheesh! ;-)
From October 2010:
Just because UML allows us to represent a great deal of detail, doesn't mean we have to. Just because there is tool support, doesn't mean we can't draw sketches (on whiteboards -- who knew?) of the models using only just enough of the language. We can even break the rules of the language orthodoxy -- if we want. Then we can add detail; we can take advantage of tool support. If we want; if our situation is more (organizationally) complex, if we need more precision in our designs, etc. But we can use just enough, with the degree of (in)formality as fits the moment we're at. Judgement. It factors. Remember, the R in aRchitect -- it stands to reason. Models help us reason. And we reason as much as is reasonable.
Poets don't throw their hands up at English and say it's too much. Too Expressive. Too hard to learn.
Sorry. Something was wrong on the Internet.
Ooops. Back to...
Oh, since I'm here. Sara recorded two songs in the recording studio today. She is AMAZING!! First time in a recording studio and a real pro. Confident. Holding her ground on her artistic chocies. Just stunning. Kids these days.
6/14/13: I suppose I should note that I/we took liberties with UML. I do that with english too. :-) Essentially my approach is that when we start out, we haven't decided what our elements are, even conceptually. We're just mucking about with ideas for how the system might be organized, toying with ideas for structures and mechanisms, and playing out how different alternatives might work, in as fuzzy and fudgy a way as suits the moment. But we start to tighten down our thinking as we make choices, and as our design thinking matures (meaning we make more decisions and the jell starts to be more viscous) we start to use more of the modeling power and more support from the tooling. As we build out capabilities (internal and user facing, prioritizing using judgment), it is useful to have support (in tooling) to show us the shape of the system and show us where the design in the code is departing from the architectural design so we can probe why and if this is a good thing, and so forth. Our tools must not become our masters. But we shouldn't throw out babies when they soil the bathwater. They do that. We learn. They learn.
Reading here: totally a brain upgrade. Right?
And from my daughter's timeline:
Yep. Douglas Adams would no doubt have enjoyed ze Sara.
You unlocked doors in my mind, let jubilate winds in
I gave gifts of myself, stories letting fall a sparkling dew of insight.
The Awesomeness that is Dana
The kind of things people say about Dana's workshops:
Wahoo -- despite weather delays, Dana still made his connection so can get home tonight.
(As for the awesomeness that is my kids, my son is gearing up for his 3-week 1,500 mile border-to-border cycle, and my daughter for her several week ballet camp at a prestiguous ballet school. And she gets to go back to the recording studio tomorrow to record more of her songs. The hardest thing about being a mother, is letting the kids go off and do these amazing things -- so far away. Punishing hard. Dangerous. And character building.)
Listening to The Main Squeeze while I wait. Love Eyes of the World ("Sometimes we live no particular way but our own") -- perfect thing for tonight. (The Main Squeeze is our favorite local funk/jazz funk band. They're awesome!)
"You were Real to the Boy," the Fairy said "because he loved you. Now you shall be Real to every one." -- Margery Williams,The Velveteen Rabbit
I want you to be wrapped in gratitude that you are here, in this awful-wonderful world
How is it you can see through me, and still admire me?
Image: Just pointing out one amazing Dad! :-)
Happy Father's Day to all you wonderful, generous dads who work so hard to make your family happy!
And ze boy, before heading off on a 92 mile ride last Saturday (don't worry, the helmet's just not on yet):
Dana Bredemeyer is an awesome husband and wonderful father to our two children. :-)
This is the larger context for those phrases:
This, from earlier in the same section, sets the scene:
Don't you just love the drama. IT has been cast -- in a leading role. Swoon! ;-)
The F&E paper is relevant and useful, yes? The innovation and ecosystems model (covered in that paper) is like awesome, and all. ;-) And it is very much about the relationship between IT and product innovation. And more. More more. It's, you know, short book-ish. But free (almost -- it does cost your contact info but that's less than the usual price of a book for which you have to give your contact info and your address and credit card number. ;-)
Shoulders We Stand On
(Yes, I put mine in there too, but please note that I stand on shoulders too -- yours even. :-)
Creation, Metaphors and Myths
Serendipity and Bliss (or a curious conspiracy of coincidences) have served me up an interesting mix of reading the last several days. Into the mix, there is also someone saying, the other day, that when he was in Manhattan he looked around him with the staggering thought that everything he was seeing began as ideas. The whole world that is Manhattan, was created first in conceits of mind -- thoughts then actions, some concerted at least in some endeavor, making manifest a world of physical and social/cultural marvels.
So, (depending on where I was over past few days) I've been (re)reading George Lackoff's Metaphors We Live By, Douglas Hofstadter and Emmanuel Sander's Surfaces and Essences: Analogy as the Fuel and Fire of Thinking, Joseph Campbell and Bill Moyers The Power of Myth, and Richard McKenna's Fiddler's Green. Interesting mix, part intentional, part (drums fingers ominously) synchronicity. ;-) You want to know what I made of the mix, and the individual works? Well, I'm going to treat that as rhetorical. ;-)
Since I haven't been tracing, just messing with pebbles ;-), I didn't tell you I woke from a dream the other night with one impression so strong it emphemerized* any others that might have accompanied it out of the dream... And it was that I was writing a book called "Your Product is in a Family Way; Now What?" That's a book that needs to be written, don't you think? ;-)
* not emphemeralized. That's different. I need to put Nine Chains to the Moon on my stack. I haven't read much Buckminster Fuller which is really slack of me, but Fullerisms rub off on me from Dana, who has read and reread Fuller. (And Ackoff and Argyris and so on down the line.) But I picked Ruskin's Seven Lamps of Architecture of the shelf... I also put rereading Conrad's Heart of Darkness on the queue, just because it has been so long, and the time seems right (something dark to make me assert my light). And now that you're caught up on my reading. I need to get caught up on not tracing. ;-)
Hm... that reminds me about one of my formative encounters with serendipity. I loved Athol Fugard's plays and as a young adult in South Africa had the opportunity to see one where he spoke after or maybe before, but anyway he said he was asked if he intended all the meanings people read into his plays and he said he meant some but many were serendipitous. That struck me forcibly enough to stick with me all these years. It is about the emergence of art not just from the artist but from our encounter with their work -- how it is seen and shared so others see it too, becomes part of the art. It is part of the system of possibilities the work of art opens up to us. But our active encounter with the work, our sense/meaning-making is a crucial part of the work of art -- and the work of art. The real mental work (which may be highly playful and not at all work as dreaded duty but work as skip-happy mind tripping on eureka brain-treats) of appreciating, encountering, wresting from the work of art what makes us more and makes the work of art more.
As metaphors go, it seems to me that what we are looking for is ways to not leave threads (using an analogy to cloth not the concurrency sense) dangling in our code that are just asking to become entangled. Code is complex. We know from Dan Ariely about deciding whether to "send the patient to hip surgery or try tylenol or a stronger more specfic drug"... Code that is inherently complex enough and, compounded with accidental complexity, can leave opportunities open with as much consequence to cost and life experience hanging in the potential balance... When we leave complex option routes open, we leave decisions open to being made later, when there is less head in that part of the game, less context and deep grok level understanding of the "theory of operation" or the working knowledge of the behavior being designed and its supporting structures and algorithms. We want to be alert to where we can cut off the threads -- present no opportunity to create messy alternative paths that become dumping grounds for all possiblities that might arise. (Plant mint in a flower bed for an alternative great analogy ;) Yes, I'm afraid I cluelessly did that. Now it's a lesson that keeps coming back to taunt me.)
Serendipity is a mischief of emergence. But she serves Epiphany well!
For the Romantic in
I also write at:
- Bredemeyer Resources for Architects
Architects and Architecture
- Todd Hoff (highly recommended)
- Anna Liu
- JD Meier
Architect Professional Organizations
Agile and Lean
Agile and Testing
Other Software Thought Leaders
- CapGeminini's CTOblog
CTOs and CIOs
CEOs (Web 2.0)
- Don MacAskill (SmugMug)
- Wired's monkey_bites
Social Networking/Web 2.0+ Watch
- Dan Roam
- David Sibbet (The Grove)
Strategy, BI and Competitive Intelligence
- Freakonomics blog
Um... and these
- CNN Money Business of Green videos