A Trace in the Sand
by Ruth Malan
What's a Trace?
This Trace is just where I jot notes as I explore in and around the territories I associate with architects architecting architecture at software, systems, system-of-systems and enterprise scopes.
Borrowing from my Trace intro in March: to be sure we only have the most well-qualified persons reading here, my Trace is like this:
Mostly it is a playful sort of place, informal, Bliss-following, Serendipity-inspired, ...
In short, it is a good sort of place for those with a sense of whimsy and fun, and a distinct appreciation for what diversity of perspective will add to their IQ [remember, Alan Kay promises 80 IQ points for perspective ;-)].
If you have no prior encounter with my work, you might like to "ease" into it with one of our
10/29/12: I added a "grok check" to the end of each trace this month. You can use it to preview an entry, or to validate that, whatever else you made of the entry, you got the grok point. ;-)
[10/30/12] This Trace is organized by time not by topic, so I realize that those coming to it "cold" may be confused, and wonder how in the name of all planetary order do I conceive of such random entries being relevant! So, to help frame/position this Trace, and navigate within the too much muchness of October's traces, here are the main themes, and corresponding entries, from October:
1. Architecture: What, Why, How, Who, Where, When
2. The Architect: Sufficient Variety (that, of course is a reference to Ashby's requisite variety, but I find requisite variety a bit too mechanical a concept for an adaptable, dynamic, intelligent person who spans and integrates across systems of socio-technical systems)
3. The Architecture Community: exploring how the technology, software and architecture community could be more collegial and mutually supportive (often by counter-example, because our field, uh, could do better at this)
I haven't updated my Trace Map for too long... but it is nonetheless useful in that it gives a sense of the "lay of the land" or the underlying "mental model" that organizes my thinking about architects architecting architecture. From that point of view, it is useful to just scan the index.
Well, my break from Tracing while in Europe cured most folk of the habit of checking in on me. Something to be grateful for, huh? Obviously no-one would want to like encourage me to Trace. ;-)
Anyhoo. Catching up. Saw this:
Thanks Richard! Great list! @RiczWest is such a warm person to meet at the "twitter watercooler," he will be missed during his break from Twitter. Of course my "architecture on my mind" depiction is distinctly sketchy, but nice of Richard to be positive about it. It is too bad that more people aren't curious about cartoonheads. Oh well. So. Spain? I'm envious! Well, hopefully Richard will find time and inclination to tweet out architecture insights and highlights of his time in Spain from time to time.
And! It is good to have Peter Bakker back! I'm going to have to scoop up his links to checklists, to persist them in collection form.
Grok check: Collegial spaces can, as demonstrated, serve as places where we mutually support our peers, not just as places where we me-gaphone ourselves/our work.
Speaking of Spain. I'm not sure how many of Michael Feathers followers are onto him, but for those who are, his social satire is delicious. He sets twitter traps and mock-shocks us with caricatures of ourselves and we love him for it. Humanity. We deserve him. ;-) Oh, I say that in awestruck delight. As you know, my style is more like this, but I do so applaud what Michael achieves -- he has invented an art form within Twitter and I admire how he wields the form, and what he reveals to us... (You can't say he doesn't warn us -- the visualization of his use of link Easter eggs is just stunning...) ...
His command of a vocabulary of rich abstractions and ability to fit them to expressive purpose marks Michael a master; his reflection on technical culture and more broadly on the meaning (the full compass, from small-mindedly mean to joyfully, extravagantly awesome) of humanity in our times, marks him an artist (though I'd be hard pressed to properly characterize the genre he falls into or is forming -- elements of postmodern, farce, ... borrowing on deviant art but only as part of his palette of abstractions; and fitting that this art, or so I [humbly, I assure you] declare it, is flitting, transient and in the moment). I say that with a sort of amused amazement, because his tweet stream is like the NIN concert of software, full of mind-treats and twit-traps. Of course his reflections on software are keenly insightful and colorful. Like this sequence, and this (that is the most stunning visualization of software EVER)!
10/25/12: Puzzles and what geeks do for fun.
Grok check: We have people in our field who are doing awesome work advancing the frontiers of our capability -- and it is worth noticing that they are incredibly interesting, talented, and multi-dimensional.
Grok check (alternative version): New forms of "performance art" are emerging on the substrate of "social" and one of our own, a particular mfeathers, is doing a remarkable job pioneering such a form.
I know, the danger with effusion is that people will go "meh, not so special" merely in polar reaction. If we don't vigorously thrill to encounter, seeking out and enjoying greatness in others, how can we be optimistic, and full of hope for the difference that it is possible to make in the world? How can one lead, if our spirit splutters, damped by the ashes of cynicism and disillusion? No, leading demands fanned flames of passion. Heat. Not tempered, low key, sputtering engagement.
Reminded by Maria Popova, I stopped over at Maria Kalman's NYT blog. You no doubt remember me pointing to Kalman's Benjamin Franklin illustrated essay back then. Well, on this stop-over, I enjoyed her In Love with A. Lincoln essay; it is, of course, Kalman-wonderful. She ends with Lincoln's words -- words crafted to save a Union, fit our planet-in-peril times so well:
As important as it is to disenthrall ourselves with the state of things, it is important not to disenthrall ourselves with the people we interact with. There is a judgmental vein that runs through so much of our social discourse, and it discolors our view, damps the possibility in others and erodes relationships.
In Jim March's wonderful Leadership movie, Cory Booker says "if you see no angels, it is because you harbor none." We allow, or disallow, the possibility of seeing the good in others. It is a matter of our own attitude. Self-helpy pop-psyche? We allow that Sartre could explore philosophy through the vehicle of a novel. If you label what I do in ways that dismiss me, you supplant me with your labels and diminishing expectation. Ok, so now that we have authorized me to proceed with little formal study in this area, but heapings of the kind of insight intense investigation and scrutiny yields, ... ;-)
Years ago, I exclaimed to Dana that I was dismayed at the cynicism that permeates our literature, and he (romantic that he is) read Joy of Man's Desiring to me. That was a loving rescue and restored my sense that we're not universally dismayed at the human condition. Shabby as it is, there is wonder in this world. Magnificence. Restorative action, and the overwhelming joy-producing power of human connection.
Now, as joy goes, you doubtless also recall this visualization of joy (in the second part; the first part is a great study in the structure of the second part).
Which connects back to Jim March, Don Quixote, Spain. And Joy. The last of the three sections in Jim's Leadership movie (min 45+). And an essential attribute of leaders.
See. Clearly. Yes. But see, connect with, the best in people. And do good in the world, setting our messes to rights, giving others "bicycles for the mind" and other goodness. But essentially. Clearly. See -- enjoy -- the good in people and what they do. That is a font of Joy.
10/7/12: If you're wondering what that has to do with architecture, reflect again. Leaders lead. First, we lead ourselves. And if we cannot manage our own state, cannot manage to enjoy others, cannot manage to light our own passion, how do we hope to lead others, and kindle desire in them to make a difference, that makes a difference? Architecture is about designing our systems to get more what we want -- yes, structural integrity but design integrity (delight, utility, fit of form and function, to context and to purpose) and sustainability (economic, technical, social, personal, environmental)... That right system built right thing, that means that the system serves rather than subverts its context. And such.
10/19/12: I know. I know. Some (many?) organizational contexts are just painful, with so many layers of disillusion (born of many instigants, command and controlism among them) that it is hard to have a "don't worry, be happy" stance. Well, I'm not advocating a careless stance, just that we find the joy in doing meaningful work -- leading in good part by shaping the work so that it is meaningful.
10/20/12: My notes on attending to Jim March as a master teacher when watching his Leadership movie (because several people have, over time, remarked that the movie is slow, and I want people to grant that we should assume the pace is not an accident):
10/27/12: If you can't read my scrawl and would like to know what it says, you could always, like, ask! () Ok, mercy me, the text at the second arrow says: the man is a master teacher. But you can treat it like an exercise and fill in why you think a teacher as masterful and strategic as Jim March has the pacing just as it is... ;-)
Grok check: Get joy. It's a justified investment in yourself as a leader.
10/8/12: Photo 2 where predator is prey, might come in handy at some point, and though number 3 might be a tad indiscreet as visuals for mutualism go (but hey, it finds that place in us where our inner 12 year old still lives), it's vivid... Number 4 is just, unqualifiedly, splendid!
Grok check: Feel better for the laughs? Humor changes states, and is instrumental in opening minds.
11/12/12: This on humor in the Sufi/Nasrudin tales:
I'm going to put (yet) another scratchpad-y trace to you, in the hopes that you will advance/help me clarify how I think about abstractions (and the art of abstraction). As a backgrounder, an earlier pass at exploring abstractions is here (please read that first).
One of the things that troubles me about how much of the discussion goes in software, is that it ignores matters of scaling. Scaling systems, that too (poor Twitter; damned if they wall in the garden; damned if they don't). But I mean scaling organizationally, cognitively, etc. Embracing, harnessing, coping in the context of, complexity. One of the ways we do this, is build on ever deeper layers of firmament. Which is to say, is it not, that we create and build with ever more powerful abstractions?
Anyway, can/should we use abstractions this way, to talk about the mechanism by which we build more complex systems, growing our systems, as it were, on the substrate of the development environment, including layers of abstraction we hook into directly or indirectly (that is, the technology stack)?
Now, turning our attention to functional programming. How do we go about systems design? Michael Feathers suggests we design in terms of transformations. How does this relate to systems design? Threaded transformations?
We think of "abstraction as subtraction" (a Michael Feathers insight/turn of phrase) as we're conceiving of abstractions, but then we create and build systems hooking up modular abstractions, or with threaded abstractions, or... So in software we ask ourselves to hold these two concepts in creative suspension -- designing abstractions, and designing with abstractions. The abstractions become formative matter. We compound and conjoin and concatenate or thread and compose and relate ...
Sorry. I have to complexify in order to simplicate (hat tip to Dan North for bringing that turn of phrase into my verbal toolset... sorry I don't know who he got it from...). And I do a mighty fine job of complexifying, don't I? Oh yeah, sure, go ahead. Agree with me. You and my inner critics make a fine crowd. ;-)
Ok. Some collectibles:
[Those are placeholders -- please ping me with references to characterizations of abstraction and abstractions in software, so I can create a useful reference list.]
But anyway, I guess we tend, by "abstractions", to loosely mean (generalized, so useful under limited scope of conditions, usually related to inputs and boundary conditions) "building blocks" of software, which take different forms at different (hard to get away from our terminology, huh)) levels of abstraction -- perhaps we should just call them chimera and be done with it!!! (Sorry, wicked sense of humor.) Because of the association with building blocks though, modularity comes to mind. But it is more a matter of how, or of what, we compose* our systems. So if we turn the tables and put transformations front and center, how do we talk about the compositional elements (at various scales) that make large systems tractable?
Alright, some of the key concepts in play: abstraction, compression, constructs, composition, ... modularity, building blocks, transformations, ... What else? One of the questions I'm toying with is do abstractions have to be named thingies, or thingies that can be put to use within spaces of context? We, most of us anyway, come out of a paradigm where we gave names to code clumps which we tried to generalize enough to be useful under a range of conditions** and give well-defined boundaries to, with limited interaction points ... and so begins the whole business of leaky abstractions. You know, the concept is leaky. As well as the artifact. But I'm still (bull-headedly) trying to find how far this abstraction called abstractions gets us, and how far it can be taken -- which is to say, what is the breadth of styles we can (usefully) encompass?
* using the term compose loosely, so that, like music, elements can affect others, create direct and emergent outcomes, even when not temporally, or even directly structurally, related...
** again, using that loosely, to mean, for example, different parameters, but more generally too. Ok, I read one of Grady's papers where he is explaining software to "outsiders" and he talks about "thingies" and, man, I so get the need to do that! ;-) In architecture definitions we use the term elements, and distinguish "architectural elements" from others with another dance we call "architectural significance" which I teasingly (and not) say amounts to "architect's judgment." And elements can include mechanisms, which gives allowance (at least to my mind) for including dynamic constructs. But we build with abstractions of different kinds. Programming languages abstract away from underlying transforms that eventually deal in bits and then... So, we have more elemental named thingies. And a bunch of other stuff.
Sorry. Getting concepts to crisp up first means we have to deal with the fuzzy cloudy space where we're holding much in creative suspension, and you're solidly asked to hold your opinion of me likewise in willing suspension of disbelief. ;-) Hey, audacity. We don't push ourselves if we can't step up the audacity level. Sometimes. Then we have to resolve, clarify. And put on that front of being credible and confident. ;-)
So much of how we talk about abstractions is scoped to a specific domain -- for instance, abstractions within OOP. I'm trying to find the way to talk about abstractions across programming genres and more. To talk too, about the abstractions we draw upon by way of the technology stack. If you have seen someone else do this -- well or otherwise -- please let me know!
Oh. And while we're about it. What do you think the keystone problem in software is? I speculated it was abstractions. I got raised eyebrows. So I'd be interested in the other contenders. Partly I was being gently provocative. A lot of the excitement in "sexy" hipster camps is around very elemental constructs that are so important (like better paradigms for concurrency and messy data). Even when we're talking about elemental constructs, we're talking about the paradigmatic abstractions. Moreover, we have to be able to manage more and more complex systems, both cognitively and organizationally. So it seems to me, along both dimensions, we're dealing with what the core abstraction mechanisms of our paradigm are. Or something. Again, who is talking and writing about this in a sensible way across paradigms/genres?
10/14/12: "Good naming is really hard"... crafting resilient abstractions takes work, but not only that, declaring/demarking boundaries in our system is tricksy business, because the system is generally more brittle at the boundaries (drawing into play complexifying matters of fit, proliferating change impact, ...). Alternately put, the seams in the system allow the system to take on contours or shape allowing, for example, us to carve out the areas that are subject to frequent change (and likely to change together) from more stable parts of the system, but are potentially weak points (interaction "surface" too thin or too thick, etc.). So do we tend to take the de facto decision, and go with what is already there... just adding code to an existing method or class? (That argument is reminiscent of Dan Ariely's TED talk, Are We in Control of Our Own Decisions, right? In the face of complexity, do we go with the decision that was already made implicitly for us, just checking, as it were, the checkbox.) So, there's that. Michael is also asking if having some considerably larger classes is a natural feature of systems and to be expected (like..., and this is my interpolation, lungs are bigger than the pancreas). Which ties back to the story of the Master Butcher that I like to use. And the stories of Agasizz and the way he made his students study a dead fish as a right of passage, as it were, to being a student of his.
Sigh. My doc tells me I have a troubling "thickening" so have to go for scans next week. So hey, "I just want to keep you abreast of recent developments" -- sorry, bad pun... Should I try to get my life's work expressed in a week while I can still think coherently, or just enjoy the Fall? Some of both, I think. Timeboxes serve to focus, whether it be a fleeting Fall, or.. the prospect of an ordeal ahead. Anyway. It's another glorious day here, and ze dog is ever eager company on a ramble. (I know, I tease myself too much. Capturing my life's work in a week. Like it will fit. Nice one Ruth. Really.) But, whatever, don't let that make you feel any urgency in sharing how you think about abstractions and abstraction in software. ;-) TMI? Don't worry. Only the most amazing of friends read any, and certainly not much, of my Trace. So this is just a post to this digital rendition of "me." More seriously, it's just a blip over routine at this point. Had the same thing happen 18 months ago, and nothing showed up on the scan.
Still, it is a rather unique opportunity this peculiar "what if" I've been shafted presents. :-) My family jumps to the foreground, but also my work. And of course this Trace, for it is more unrestrainedly "me" than my formal work. Sara wants me to make her Um's dress for a Halloween party this weekend. I guess that's important. Well, you work on abstractions for me, and I'll work on her dress. :-)
10/10/12: I'm really touched by those who connected to say "hope all goes well." Thank you! :-) Me too! But I'm playing it as "an interesting exercise in prioritizing" and I'm either failing hopelessly, or realizing that what I do is what I love to do!
10/14/12: "False positives" are great focusers. It's the potential of true positives that concern me. :-) But as you well know with me, my imagination precedes leagues ahead of me, and the rest of life, really. So. Even though I've been through two false positives and would definitely recommend those experiences (a relatively low price was paid, for reassurance and priority confirmation/tweaking), I am nervous about tomorrow.
10/15/12: False positive. Yay!!!!! :D Now. Where were we? Think we should get that book done already? :-) And... it looks like I'll be shopping in Europe in 2013. :-)
TMI? If this wasn't an "oh my goodness, we'd hate to lose her" week, I'm not talking to you! ;-)
Grok check: Notice who brings good into your life, and let them know you appreciate what they do. (It is architecturally significant.)
Real love is whatever real love is. Often perplexed. Love is stunning, comes at and into us from surprising places, stupifies-amazes, beguiles, enchants, and perplexes us for it creates new space in us, reshapes our mental landscape. Really! Frequently qualifies. By its nature it demands. But I take the quote out of context. Of course, it is offered out of context, as if it were right. It's not. Real love is human, for goodness sake! It is whatever human love is. That makes it real. Ideal and idealized love? Now those are different matters.
Relevant? Only in being an instance of audacity. Last week, someone raised audacity as an essential characteristic of an architect. I agree. Innovation, competition, heck just surviving in a complex world, demands stepping it up. And that demands audacity. Not always kowtowing to what the "authorities" dictate as possible or desirable or right or...
Develop your judgement. And trust it. And don't. Which is to say, develop a sense of where judgment fails. A good clue, I find, is to look to where we are most bull-headed. Flawed thinking oft masquerades as bravado, so watch for it.
I guess that means... Henry Miller is right! ;-)
And it is beyond me to waste a good opportunity to draw a thread into an architectural insight. ;-)
I'm so... transparent! ;-) My Trace is an unusual sort of place. I find out what I know, by letting a variety of contexts and their stimulus prompt insights loose. Last week I told the architects about Google's innovation principle; you know, throw lots of stuff at the wall and see what sticks. And declared that I throw lots of stories at the wall of their selves, to see what sticks. (You remember, we do that inspire with story, set up a learn-by-doing session with just enough lecture, enact with exercises, debrief, and reflect style of workshop. So, stories launch modules, and often also come up in the reflection at the end.) Anyway, in this Trace I throw lots of perhaps-insights at the wall of myself and you, and we see what sticks. Feeling pretty mucky round about now? Oops. ;-)
Well. The daily visit count on my site is back to pre-Summer levels. Better write more words! Huh? You know. The veil of words that sends otherwise-detractors off muttering tldr, and leaves only... you and me. Cozy, isn't it?
I love Brian Andreas. Did I mention I love Brian Andreas? No? Well I do. Really. Well, ok, not really. But his tweet stream is magical. And I do like in-love-with-life magical.
10/11/12: Among the reasons that audacity is needed:
You know, that Kruchten thing:
(PS. I've gone back to snipping tweets, because, if an account is deleted or there's a Twitter glitch, this way the awesomeness I was noting is persisted.)
10/30/12: "Being different requires courage." Neat video on notational experiments, inspired by John Cage.
Grok check: Architects develop judgment and judicious-audaciously take risks that challenge status quo assumptions and heralded "authority" to make the kind of difference that makes a meaningful difference (to users/customers/business stakeholders/the development team/etc.).
I like that! I tend to say that being comfortable with "It depends" is something of a litmus test for architects -- who must, afterall, be comfortable with ambiguity and uncertainty (working to resolve that big buzzing confusion into decisions that demark the fields we're playing in). But what I look for, from a good architect, is what it depends on. What are the relevant forces, factors, considerations, constraints, shapers? What assertions can we make? What do we need to clarify?
This, serendipitously, is from my notebook as I was prepping for the workshop in Germany two weeks ago:
That "It depends" is central, you see. ;-) [You see what I mean. Wink. Wink.]
As for the "uncertainty, challenge and risk" part, you see my thinking depends much on Charlie Alfred. ;-)
Grok check: "It depends" is a way of saying context factors, and we need to assess in what ways it does, what the shaping forces are, etc.
So follow this man! A father of visual design in software. Now making sense of what the weaving of software through society means and portends. He looks like he could be in the movies, doesn't he? Oh right. Well, he'll put a great face on software! I'm so very much enjoying Grady's tweet stream. It astonishes me how people like Grady Booch, Michael Feathers and Brenda Michelson (and my favorite, Martin Howitt) really show up with such tremendous vitality under the constraint of 140 characters.
As for Michael Feathers, wicked I tell you:
Rats. Now I have to follow Rob Bazinet (anybody who knows how to wield "separation of concerns" that deftly has to be worth following). This does my credibility no good, unless you buy my argument that I score high on the scale that matters. Which? Curiosity. My curiosity quotient is higher than... all but spammers. Uh oh. Well, I'm a cartoonhead. A female. A meta-architect (wink). Curious. And curse of all curses (as if female and architect were not enough) I put sustainability on my by-line. Of COURSE no-one, save the best of architects, follows me. And then. Few tweets, but all with such love. Scary! (Wicked thought: I should add synergy to my by-line. That's a real follow killer in tech. ;-)
But, gentlemen (if there are any ladies, you too). please note, I follow well.
And why, oh why, are you not following David Troupes? How else could he ruin your week by telling you on Wednesday that next Monday's Buttercup Festival "is a looker, if I say so myself." (The man is only the most talented visual poet/cartoonist/poet you could have the pleasure of following and buoying with your support, but no, don't take my word for it.)
Oh. Right. We have work to do.
(PS. I don't really have favorites. Martin just does the best Twitter blush.)
(PPS. That is up to 10 RTs. They're in the friendly ribbing line of sight, right? Right?)
10/11/12: Dana said that "architects must have self-repairing egos" thing when we were lolling on the grass at a playground back when the kids still did playgrounds. What? What is the woman on about now? The nice thing about being married to your work, is it goes everywhere with you? Yeah! Even when you don't have that ever present (except when its needed) sketch-notebook! It was such a delicious piece of truth I'm glad I caught it, and held on to it! How do I remember these things? I wrote them down. No, I don't have to look them up. Garr! Writing things down is physical, and it serves me, anyway, in creating stronger persistence -- in my own mind too. But with backup so you can check if you must -- the ego piece is here. Hey, neat Serendipity (or that "long arm of coincidence" -- Cabell): in that just linked piece, I said:
Driving Sara to school this morning (in the dark! Society is messed up when tweeners have to be at school at 7:30am -- I tease too much! Huh? You know, you're thinking "what the?" and "when is she going to get to the point?" so I tease. Keeps you flexible, 'n all. And that's like a necessary workout for architects. Dealing with diversity as you do. Ok, ok, the point!), she quoted:
I introduce sketchnotes and suggest that people take notes, or even just doodle, Sunni Brown style, in workshops. But no, generally architects don't seem to feel the need to demonstrate good following to one another by following that suggestion. Hmpf. Take frickin notes! Oh. I'd didn't say that. No. I didn't. Well, the notes part. Architects must become habitual sketch-notetakers. It is not optional. You want to be a modern Da Vinci, take frickin notes. Sketch notes at that. Da Vinci was interesting. He, like many inventor-innovator-engineer types of his day, took notes -- copied each other's notes, even. But also sketched his ideas. Famously, lots of them. Take notes. Did you note this?
Well, anyway, that Sketches piece is chock full of really important insights. Really. No really! I play what I know into writing. So it's playful. But where else are you going to find insights like:
Huh? Oh. That was rhetorical! ;-) (Why is it people feel so comfortable giving negative feedback, but uncomfortable just being celebratory and nice? We have created a world that is full of snark and undermining, and pat ourselves on the back for not manipulating with praise sandwiches (I call it the pat and slap pattern, and advocate strongly against it too) but in our binary style, think that means we don't have to notice and celebrate beauty in people and what they accomplish. Then we go to our graves feeling unappreciated and unseen. Instead of knowing ourselves to be woven into a great and marvellous tapestry that is richer for our contribution -- and seen by others to be so, validating our sense of self. Give up on the negative stuff. It is derides, erodes, tears down. Yeah, yeah. We need to see what will undo our systems. But we need to undo ourselves, our preconceptions, our ruttedness, with love, with kindness, with all the tenderness we can muster. Leaders need to decide what is wrong in the way the system is constructed, and focus there. The greatest work of the leader is enabling others to do the big thing that needs to be done together, collaboratively, co-creatively. We should not blame tools for what their users might do with them, and we should not eschew praise in celebration just because some people use flattery to manipulate to achieve self-serving ends.)
Hey, two people just followed my Storify account even though I've never used it... Perhaps, ... I should, but until I do, this fits this line of reasoning:
Two thoughts come to mind (and naturally we need to keep track of them ;-): Bucky Fuller. And its more than the aging population. It's everyone we -- that's us -- make redundant with automation and artificial intelligence. The robots are coming, and while I think we need Dr. Watson superfast (like, Monday would be good), we need to recognize that we are going to have to take care of a lot of people of all ages in society as we outsource ever more jobs to silicon.
Oh, I think we are making a smarter planet not just through our sensors and control systems and internet-of-things thing, but also through our connected minds thing where we hook minds up to this bigger mind-of-minds thing to collaborate and achieve ever more ambitious advances in art, sciences, engineering and society (and stuff I haven't mentioned cos my brain freezes in terror [not really! gosh, what you're willing to think of me!] at lists for they are so want to be incomplete), but also to enrich themselves. And. You know how ants can carry more than their weight, but Nature couldn't just super-size ants because their properties don't scale as you scale their structure? (Did I express that ok? Well, you catch my drift if you just think about scaling ants. Anyway.) We need what we have woven with software through our organizations, to scale them. And old style bureaucracy and old style automation of route siloed work doesn't get us to the next level of organizational challenge in a fast-paced, dynamic, vital world, so we have to step up our software enablement. And AI and Big Data and Hyper-Connected and and and (that list thing) are part of what is allowing us to scale human capacity and organizational capacity for dealing with an ever advancing, evolving world where we build on layers and layers of capability. That infrastructure thing that Peter Bakker set us to recognizing. And the capability thing. With a new light. Thanks to ants. :-) And moi. Not that anyone'd notice. ...
10/14/12: Da Vinci? How's that relevant, in 2012? Well, the whole Renaissance Man thing is very in. In part because we have so much greater opportunity to be/appear one, with such great access to diverse avenues of exploration in science, engineering and art. And much greater need to be one, with demands on imaginative resourcefulness and drawing from a swathe of disciplines to advance our complexity ever beyond our just-now reach. Illustrating my point:
We stand at an analogous point, in many ways, to where Da Vinci stood. Glimpsing possibility. Inventing it. But also in a world where we need to advance our understanding of mechanisms and to do so we need to study them... but in the software world so much is proprietary and hard to access, so taking (and informally sharing "sanitized") notes is crucial to advancing our understanding. And our understanding is hard pressed to keep up! We need more, I think, to think of ourselves in Da Vinci terms. Studying systems and mechanisms in good part by drawing them out, taking sketchnotes. And sharing them around, in the community of peers. Sustainability is a matter of the integrity of our systems. In all the important ways, from economic, so we can pay our mortgages and eat, to environmental, so our children don't have terrible futures foisted upon them. An example? Martin Fowler's piece on LMAX is one of my favorites.
And for motivation:
10/27/12: One of the architects in Dana's workshop this week remarked that he wanted to take notes but he was worried he'd miss something Dana said while he attended to writing down a point. So Dana talked about morse code and how one has to just allow that some bits get missed because if you try to figure out the missing bit, then a bunch more fly by while you're doing so and you miss those. Dana also pointed to Freud's evenly hovering attention notion in "Recommendations to Physicians Practising Psycho-Analysis":
(If you know of a link to the Freud text online, please pass it on to me to share.)
I like that "evenly hovering attention" for many situations and liken it to a way of "studying the fish" (that's a wink to folk who've taken classes with me, and a reminder to myself to expand as soon as time permits). But when I want a technique to keep my attention focused and/or to remember, I take notes. Even if it means I'll drop some bits. Everyone has their own style and I respect that. But I also challenge architects to (re)try (sketch)note taking -- we don't have to do a Madison (What? Read our paper!). Still, it engages more of the body in the act of attending. That is big. Consciousness is a full-body experience -- emergent from what we've retained, how we've arranged our mental "furniture" or frames and orientations and mental models or conceptions and connections, and what we are encountering and how susceptible we are to where it is coming from, and how we enter our mind and body into the experience.
[I don't do "dominance marking" to declare authority, and people are often not so susceptible to me unless they orient themselves to me as someone who might be a valuable teacher. WIth that in mind, a ritual like taking notes can put one into a learning state. I prefer the crucible stance, where we all view ourselves as adding crucial elements to our learning mix. And I like the "empty the cup" image at least in so far as it reminds people to get rid of the "stuff" that might block their susceptibility to reconfiguring and adding experience and knowledge to form eurekas. So, if people had to trade engagement for note taking, I'd emphasize engagement. But I haven't found these to be either or options.]
Grok check: Take note (it's a Renaissance Man thing): If you don't set a great example of following well, how can you expect others to follow you, as you would like them to?
When I teach ("naked" in that Garr Reynolds sense, of course), I dynamically construct content in response to what is happening in the group, guided, though, by what I have in mind. So to prime my mind, I took some notes the day before, and here's a page of "brain-dump":
The last is a riff on a t-shirt I saw at the Lotus Music Festival that went "drink locally, act globally." It's just a riff. You can hit me with your feather.
The frogs? You know: 3 frogs on the log. One decides to jump. How many frogs are on the log?
That "the code is the truth, but not the whole truth" comes to us courtesy of Grady Booch. I quipped:
But that has changed now, with Watson. And the likes. I suppose.
10/11/12: Tony is on a roll:
Accidental. Technical debt -- explicitly deferred decisions for other gain, like meeting a market window*. Or just a kludge -- accidental technical debt, incurred because you like, don't understand how credit cards work...
* But if you're creating one, then, as Steve Jobs advised, don't hurry; the world moves slowly. Much more slowly than we think, when landscape reshaping change is being initially wrought. Once the tsunami of change is unleashed, though, it moves quickly and at that point, if you're mired in a mountain of technical debt, oops. You're going to be leap frogged by those who are just watching predaciously for the Next Big Thing. ;-)
10/26/12: It occurs to me that one case of "accidental" occurs when there was no clear architectural intent -- the system just happened along, incrementally being glommed onto and into. (Ok, I know I put that "colorfully". Still, put more people on project, provide some churn in the team make up, and bottom up can be... like Amy Tan's description of piecemeal growth in a traditional family home in China...) There's also the case where there's architectural intent that is discarded under the press of day-to-day exigencies, allowing accommodations to erode at the architecture.
Grok check: Architecture is the set of decisions of greatest consequence to the achievement of system outcomes, and technical debt borrows from system integrity and future outcomes to speed delivery of early features (implicitly prioritizing a subset of outcomes without consideration for the impact on other outcomes).
Kevlin Henney convened a discussion of [user] stories, which (he pointed out) aren't -- aren't stories, that is. I acted outside my usual shyness and attempted a rejoinder. I thought it worthwhile to offer a little wiggle room on "objectives" and "dominance" early in the process when "requirements" are really a design-discovery matter, and subject to a lot of exploration and imaginative leaps. That was a respectful (though playful) hat tip to Deliberate Discovery (and Dan North), and an (again playful) enjoinder in Kevlin's riff on objectives and dominance. Anyhoo. Where Kevlin and Nat Pryce ended up, sounds a lot like use cases (with a mapping along the lines of: protagonist = primary actor; situation = preconditions; challenge/new situation = "goal"; resolution/new situation = post conditions; narrative = steps), but better of course. :-)
Grok check: Follow Kevlin. He's convenes useful conversations. :-)
The Kids Are OK
Middle school girl humor: "Two scientists go into a bar. The first asks for a glass of H2O. The seconds asks for H2O too."
You have to hear it. ;-)
High school boy humor: "Oh, sorry. Did the middle of my sentence interrupt the beginning of your sentence?"
Commentary on "stalking" in the negative (as opposed to good following): JB Fanvideo
Grok check: The kids are ok. Well, those with resources and a loving family are ok. The rest. We need to worry about.
I designed and wrote the architecture area of the HP site early on (~1997), and then created the Bredemeyer site (~1999), which quickly established itself as the online go-to resource for software architecture. It was a strategic play, for we decided that being on architects' desktops was going to be more important than being on bookshelves (in terms of creating business for us), hence we focused on publishing useful material on the Bredemeyer site and even though we were tiny compared to the SEI, we held the dominant position on Google search returns on key topics related to software architecture for the first 8 or so years we were in business. And yes, I designed and primarily wrote the Bredemeyer site. Of course, it was strongly influenced by the deep partnership between Dana and I, and our effective sharing of ideas. But still, I've made a contribution to this field and even though no-one gives me observable credit for it, at least a few of the people who should recognize my name in this field, do. :-)
That said, for those who discount architecture, my part in the Bredemeyer body of work may count against me. But I point out that if we put the architect in behind the elephant, all he (or she, but there are relatively few of us) can do at that point is damage control. This is as true for Agile as it is for Waterfall. The architect needs to get out front and lead -- co-lead, partner well, enable and serve the team. But importantly, lead. Inspire, enable, clear the way, but also make ground-under-the-feet-establishing decisions when they are hardest to make -- clearing the fog of uncertainty, or at least making a space to work where the target is shaped sufficiently to know what to build towards and on.
Now, I think if a person has trouble with analogies as a device for exploring and enhancing understanding, not to mention finding design ideas, they eliminate an important tool from their architecting toolbelt. [As I understand his position, Hofstadter may argue that they simply fool themselves, since we learn by (physical, not just verbal) analogy, even if we don't give credence to it. Well, whether he'd put it like that or no, I think it's a good point! ;-)] So, with that as setup, let's use an analogy. ;-)
Consider the body. We perform functions in the world, like type-tickling insights to dancing life in the medium of words. In order to do this, our body also has to maintain itself. Breathe, digest, eliminate waste, ... all manner of internal life-sustaining -- that is system sustaining -- functions. Too often, we treat architecture as being the design-in-development of the system sustaining functions (architects as structural engineers). Or we focus on the user-facing functions, and fail to attend (sufficiently) to system sustaining functions ("functional architects"). But we need to design across all the functions of the system -- those that enable the system to be a productive agent in greater systems of systems, and those that enable us to sustain our systems, for these (externally facing and internally facing) must be in harmony. Hence the role of the architect.
Evidently the arche in architect is from "chief" or "master" in the master builder sense. But it is a happy little coincidence Serendipity serves us, for architects work across -- and the arc is a neat visual reminder. One of the areas in which we work across, is across this artificial (too-often) organizationally-imposed boundary between defining-designing external-context serving functions and internal self-maintaining functions (like persistence and resource management/co-ordination and logging, and, and, and). They are related -- if the system doesn't serve its context, the greater systems of systems, organic and socio-technical, then it won't survive... or at least not thrive. Poor systems that partially serve their context do still have a way of becoming embedded in, coupled into, their contexts, creating that unhealthy sort of codependency that ultimately subverts the interests of all concerned.
and more... to follow... Meh...
We spent a few hours in Brown County State Park this morning, enjoying the colors. It was blustery and grey, so not great for pictures but our eyes feasted on the spectacular show Nature puts on around here in the Fall.
On another note:
We think we are rational creatures because we so actively, perpetually, rationalize. And between our sense-making and justifying and probing-testing -- our rationalizing -- and our irrational emergent-from-the-brain-substrate and whatever else-interacts-with-it in our minds, we construct our beliefs. Which interact, again with the below conscious, the "lizard-brain" level sensing, emotions, and more, leading to decisions and actions (which may effectively be short-cut decisions). And such. Anyway, this is useful, and interesting (but that "beliefs" is a big and not exactly/entirely business-logical bucket): beliefs and capabilities. As is this ;-) (via Philippe Kruchten; see also Games Software People Play).
Well, today Sara reached 900 subscribers on her Youtube channel (after just several months). Her community is so warm and encouraging.... ;-)
Grok check: Does the technology field systematically overlook its women? This particular one has made a huge contribution, but its totally like who knew?
Want some attention? Follow @Grady_Booch NOW!!! He's at 2,499 followers!
Why haven't more people followed Grady? He is a preeminent philosopher of our field, a leader in architecture with a wonderful on architecture podcast series (that is a man who can make words dance -- in his writing, and his reading!), a father of visual design in software (the UML, of course, but also, and more generally, the paradigm of visual design), and major influencer in object oriented and systems design. And a really wonderful person.
Follow him. Just. Follow. Him. For goodness sake.
Garr! Some people have their sense of wonder turned on "reserve power for later" or something. Hello? Life is short. Spend enthusiasm freely. It is one of those positive cycles things that multiplies itself.
Too Late: Well, Michael Steeves earns the Grady Booch follow! You can't say I didn't tell you. Oh well.
You should still follow him. Seriously. Architects need to keep a finger on the pulse of trends, Grady is exploring the weaving of software through society. He's playful, insightful, smart. He belongs in your stream.
10/15/12: Oh my goodness! Oh my goodness! Grady Booch is following Ruth Malan and God!!! Now you'll take me more seriously, huh? No, I don't mean Uncle Bob Martin. Although Grady is following him too. ;-)
And God is following? The only person God is following??? Justin Bieber.
I love God. He has a sense of humor!
Yesterday I followed Dave Snowden and he followed me back. More than I can say for a great many folk directly in the EA space.
10/15/12: This, via Grady Booch (his caption "The future, as seen by 19th century French artists: their visions were spot on, their implementations were not" is pithily so Grady)
Grok check: Does the technology field systematically overlook its architects and pioneers of visual design? Because this is like what the fudge is going on here?
No, no, no...
Linda Rising sat in on my tutorial at SATURN a few years ago. It was disconcerting when I made a point, and people would turn to her (she sat in the back) in recognition of a point she'd made in her tutorial or keynote earlier in the week. Disconcerting? They didn't say if she had made a contradictory or related point, and I wasn't going to derail myself by going there, just then, to find out. [I always try to be first in any race to find me an idiot; it is, afterall, one race I can win because I keep myself in good shape when it comes to the sport of find-ruth-an-idiot.] Smiles. Linda is an awesome lady!
Robert (Rod) Nord also sat in. He is such a wonderful, insightful, gentle, amazing man. I enjoyed interacting with him then and after, as he went through my tutorial materials in the weeks following SATURN.
One of the other authors in our field also sat in. I enjoy him and his book a lot, although the night before at dinner he suggested that he doesn't get all the fuss about leadership, politics/organizational dynamics, etc., since this is true for everyone even salespeople, especially as they grow in their careers. Well, there's a point in that -- I can feel it in my back. No, no. Just kidding! Smiles She smiles! Architects work across -- boundaries within the system and between the system and its various contexts, which put architects in that tough sport [great (Freudian) slip! I'm leaving it!] of working with people (read cognitive distance, read Charlie Alfred) in different organizational contexts (read different personal/career and organizational/turf agendas, different "languages" and "codes", different perspectives, different differences, ... and long list of stuff).
I think the point being made was that architects can just take leadership and negotiating and strategy and consulting and system thinking, etc., skills classes for general audiences moving to greater organization responsibility. That is true. They could. The thing is that entry-level architects, and sometimes more senior architects, don't necessarily realize these are plates to step up to, to architect more effectively. The naive hope is that great technical solutions will simply be so compelling they will have their own sway. That'd be rational, right? But no. No! Too much works against it being a good, right, successful solution if there is no value and orientation being placed on right solution built right and working effectively with and through people to make it so. But more, right-right means inventing-designing the problem-solution. And that is a sophisticated realization in a world that acts like "requirements" pre-exist -- like we can just tear down the market-leader's product and build that. ;-) We could. But allow me to suggest a strategy and innovation course, and a bit of survival skills training...
Every architect, not to mention others in the software field, should read the wonderful Lost in the Bazaar article in the latest Communications of the ACM. An important point is quoted from Brooks' Design of Design along the lines that a person (or "dynamic duo") must own system qualities. We make the point variously and often. For example, here is a different permutation, but largely the same point:
(In very large systems, ultimately the chief architect is responsible, but there are architects at different scopes in systems-of-systems projects who need to lead their teams and work within the architecture team, under the effective leadership of the over-arching or chief architect.) Architecture takes real work that is ongoing throughout the life of the system (though the focus and amount of work shifts) and entails tough decisions that, from the perspective of local vested interests hurt, but are necessary to system outcomes and so demands technical insight, experience and credibility as well as the organizational/leadership skill. And more (that you can read about in this Trace, in our papers, and so forth).
Credit to Dana for bringing the article to my/our attention and for helping crisp that up to THREE ESSENTIAL THINGS. ;-) (Yep, that "architects architecting architecture" but just sequenced as architecture, architecting, architects.)
The architect should work participatively, modeling out loud, and all that good stuff. Indeed, the team should be vested in the architecture. Etc. But a leader is needed to effect system integrity. To create and manage a dynamic tension between delivery (and a NOW orientation) and integrity (and sustainability, in all those ways, from economic and technical to personal, organizational, social and environmental).
And given that we put a lot of organizational power and resource clout in the hands of the management tree that defends delivery, the architect has to have superhuman powers in the persuade and influence areas. I can create Um from Umbrage even though I have very little experience in costume creating. Just think what I can do with architects, when that as been the focus of not just my, but also Dana's, careers!!!
People have this tendency to discount me, and treat me like I'm not the expert. I don't do much of that dominace authority marking thing, because I orient towards creating a mutual crucible where we all put value in and grow the value we all get out. That said, I do lead, just with a network facilitative style rather than a dominance hierarchical style.
The nicest feedback I ever got in a workshop was when an architect, who earlier when I handed out the evaluation forms gave me 3 on instructor effectiveness (and 5's on other important areas like credibility and content), listened to the verbal feedback around the room at the end of the workshop and came up to me to ask if he could redo his eval form to change his assessment to 5. He had realized, listening to all the feedback, that I had led the group so delicately that he hadn't noticed that I was leading, but on reflection as he heard each person's eurekas, he realized how skillfully and gracefully I'd done so. I had brought them through the challenge-fraught passage of prototyping themselves as architects (or working on the next iteration on themselves as architects, depending on their career stage), as they drafted a system architecture.
You won't generally hear me talk about myself this way. But I'm feeling a little like my work will have more effect, if people treated me with a tad more credibility and enthusiasm. And for that to happen, perhaps I have to treat myself with a tad more credibility and enthusiasm. :-)
I told Dana I'd posted this in an entry I subsequently ripped out:
One of the awesome things about Dana is that he laughs at my jokes. A person needs that! Especially a shy person who is always taking risks, leading people where they hadn't conceived of themselves needing to go.
One of the confidence boosting things about having done this for 15+ years is that we have worked with architects across a large span of their careers, and a goodly number are generous enough to point to what we did with them, and give us credit.
Anyway, yes, leadership, organizational effectiveness, consulting and negotiating skills, and more, books and courses apply. What we do is in that space, but tailored very specifically to the "special" (unique, thrilling, daunting, ...) challenges of being an architect, and being an architect in transition from a role where the center of gravity is technical, to one where the center of gravity shifts to delivering business value through technology solutions (with the properties of system integrity and sustainability, and defining what those mean for this very particular system).
PS. Looking for a Trace entry where I credit Dana with that "center of gravity" point, I reread the Piazzolla story Daniel sent me. It's awesome, isn't it? I've been so fortunate in this career that interesting people have shared treasures of experience, stories, and kind attention with me! And moreover, even sometimes listening to me! ;-)
PPS. Tonight I read "to make strategy stick, you need to ... change habits" (Shawn Callahan). Architects? One thing that comes immediately to mind is changing something key in the development environment that overcomes/changes the habit. Continual infrastructure development is something we need to attend to, and building habit changers into the tooling can help nudge things just enough. Like using a DSM tool to catch (static dependency) design rule breaches.
10/16/12: I need to update the Software Visualization Links page, and, among other things, add this:
I have already linked to the site, but for ready reference: DSMweb.org
Um from Umbrage image: by Sara B. (and I have paid handsomely for its use ;-)
10/28/12: Has IASA has adopted the "good, right and succesfull" distinction? At any rate, Dana Bredemeyer was the source, and it was taken up by clients.
10/30/12: I made sort of an example of Michael Feathers, but he is a great leader in our field, who clearly has a "bucket full of clues." Sure, correlation doesn't imply causation, but considering leaders in various fields, we get that those who have lots of cognitive, experiential and interpersonal resources to draw upon, can adapt and respond to a variety of demands. Alternately put, when we build up internal resources through practice and learning/reading/listening/watching/seeing/reflective action we become more resourceful, assuming we also stay flexible, adaptable and sensitive/perceptive/observant, etc. Architects work across a variety of contexts, with a spectrum of stakeholders with different cultures/languages/concerns/etc. Variety internally helps to match variety exernally.
Grok check: The architect doesn't just need to have sufficient variety of knowledge, experience and skill to design the system, but also sufficient variety to lead its creation and evolution.
False Positive (Relief!)
I LOVE false positives! I mean, don't get me wrong -- I wouldn't want to have the false positive angst thing more than like once every 18 months or so, but they are much, much, MUCH better than true positives and they have the side benefit of racheting up "in love with life"-ness. So, they are "95% sure" I'm in the clear. I'll take that! (Don't let anyone ever tell you that the cost of the worry isn't worth it. It is a very healthy exercise in priority re-evaluation and the numbers on early diagnosis (93% survival rate) versus late diagnosis (low numbers) simply means we have to err on the side of checking these things out. Of course, there's the radiation, on top of all we get as frequent fliers... but still.)
As happy as I was to be pronounced in the clear, it is a sad place to be, with some of the women there to be/or following up on being diagnosed with at best a terrible ordeal and at worst a short term death sentence.
And sad too, that Phil Bagwell died last week.
10/30/12: Screening: It’s all in the numbers, Tim Harford, December 10, 2011
Grok check: Read John Gall's Systemantics.
The best unknown enterprise, systems and software architecture resource on the web: this Trace? ;-)
Ok, let's be serious. Celebrating women in tech today:
Grok check: Hello. Woman in technology over here. Oh, just kidding. No-one has reason to celebrate my contribution, nor even to encourage me to make one. ;-)
The number of daily visitors to this site is up, as is the number of visitors that visit multiple pages of this site. That said, no-one is expressing any enthusiasm for this Trace... Not sure whether to be discouraged by that...
So I thought I'd experiment with providing a pointer to one of my own posts. I'm sure I'm going to regret this. Oh well. Advocates are hard to come by, and I advocate other people's work SO much, hopefully there'll be a tweence of tolerance if I point to one of my posts... :-) Besides, that post points to a lot of work by other people.
Later: You can watch the action here (thanks Gene!) with some nice warm fuzzies here (thanks Simon and Martin) and here (thanks Akira) and here (thanks Peter!) ;-) Oh come on! Watching this unfold is as thrilling as Baumgartner's jump, right?
So, hey, in case you missed it, I characterized my Trace as being kinda like this: "I just didn't expect it to be so BIG." (See if you can find the edges! Ha! ;-) Randall Monroe is as dedicated to his form of expression as I am to mine. I wonder if he works 'til after midnight every night too??)
Akira is, of course, right -- that post is a summary of a large segment/focus of my work. So I truly do appreciate the kind support of those gentlemen. And anyone who followed the link, or thought about maybe following the link, or... was just too busy to notice!
Thank you gentlemen! Not only did you show support when I needed it, but you also ensured that I didn't feel like I "did it all wrong" --- it took a LOT for me to do that, breaking all kinds of social mores about Q<=s not self-promoting.
Observation/Lesson: The elephant in the room? Social media gamifies us -- enables and encourages us to gamify oursevles. But I think there is something if not downright sinister, at least concerning, in "dashboards" on our social behavior and "effectiveness." Data plays an important part in a "commitment to objectivity" (a Dana Bredemeyer principle for architecting, that goes hand in hand with his "relationships of goodwill"), but there's something about dashboarding ourselves that we are going to have to apply somewhat of a sceptical stance toward.
(PS. I've started collecting Peter's links, but I need to catch up with him a bit and then I can share the collection. In the meantime, of course, Peter's twitter stream is stocked with neat examples of checklists from a variety of fields.)
10/26/12: Ok, so I realize that those who stop by my Trace could easily conclude that I utterly overdo the writing thing without any encouragement at all!! But that's only because you're looking at this "open brain experiment"/"garage-shop prototyping of my thinking" that is my Trace. Because I get almost no unsolicited spontaneous feedback (directly to me, or indirectly, through peer-to-peer recommendation) on my writing (formal or informal), I get very discouraged and introverted. (My Trace is a manifestation of that, because the sheer wall of words veils what I freely write here.) Ok. So perhaps a valid reaction is along the lines of "there's already a glut of writing, so we should leave it to those who have something they so passionately want to share that they just get on with it." But I think the world could be different. I think we could be more engaged with making a difference to other people's experience in the so-short time they are on this planet! And that means helping those in poverty -- a poverty of deserved attention, too. ;-) I tease too much. Still, we need to advocate and champion, and we need to create pull for work we want.
Pull, dammit! ;-)
[People are very, very generous with criticism of me. As are my internal critics. What I do not get very much of, is positive reinforcement, encouragement, and advocacy. So I am ever so grateful to those few who have risen to the occassion of a positive word or two in support of this particular woman in technology.]
Aside: Enthusiasm is contagious, but it also lends credibility to a person who just will not command authority in territory marking displays. We are socialized to sublimate that women who do the dominance establishing thing aren't "sweet and gentle" and so less than feminine. For what it's worth, I posit that girls have social hierarchies too (the posit part is still coming:), but they are different, and work through a lot more mutualism than (direct/mock-combative and combative/aggressive) competition.
I'm hard to read, aren't I? Nested sentences. Sort of like reading code, really.
Oh. Code. Yeah, so on the one hand we have those emphasizing that we need to make our code more self-describing and grokkable (so we get away from documentation, which, afterall, tends to get neglected/out-of-sync with the code and so increasingly useless other than as like a historic relic), and on the other we have Brian Foote making the point (I'm paraphrasing but hopefully conveying the gist of his point properly) that reading most people's code is like reading most people's poetry... Right. In which case reading the entire system to grok the entire system is not just intellectually out of bounds for large systems, but can be really incredibly tedious to even attempt... Oh yeah, can be mind-tingling awesome and of course your code is in that category -- you know, analogous to reading Conrad Aiken or even Seamus Heaney's translation of Beowulf. (playful wink) So we need to get better on these different fronts -- writing code that is mind-tingling good to read because it is just-right (not overly clever at the expense of understandability, except where that is important for geek-funnery, aesthetics, etc./technically important.) and documenting the key mechanisms and structures and keeping that up-to-date, etc.
Thoughts on documentation are scattered through this Trace. Here are some:
Note: I write to see what I think, and give you the chance to help me think better and evolve what I know. So tell me, without calling me an idiot in so many words, where I need to rethink/ammend/caveat/clarify/[insert list here] to do a better job of talking about documentation especially of architecture. (I do need to add a few more links, but first to fetch my daughter from ballet... the nightly parental taxi service we so dutifully supply...)
10/30/12: Do we have a generosity deficit in this field?
Grok check: Encouragement could be used to get more of what you do want???
Grok check: What you came for.
You can't read it. The important question, though, is can I? Because I'm, like, interested. ;-)
Grok check: What's that rocks in a jar thing about anyway? We can always shove more pizzas under the door, to get developers to deliver more? Yeah, right. No, it's not about pizza. It's about sequence. Qualities that are hard/costly to retrofit for late in the game.
Grok check: It's messy. So the system doesn't need to be.
Theory Of Disruption and HuffPo
From naming abstractions, to finding serviceable analogies, to influencing, to a well-developed imagination, to [you imagine the list here and tell me what to add] and more, the architect draws on her or his experience -- development experience, and broader life experience. Studying the system, and systems -- observing, positing, testing, finding the relationships between form and function and fit. (Modelarity is a lovely word. Thanks Kevlin.) Yes. But also exploring "where you think a wheel could be, and where you think it could not possibily be" (from The Wheel on the School, and quote in Getting Past ‘But’). To innovate, look in unlikely places! To lead, to find the big things worth doing, the things that will make a compelling difference for users, the business, developers, operations, and others touched in different ways by the system, we need to make connections, imaginative leaps, well-reasoned engineering judgments, draw on interpersonal skills, [long list of stuff]... To meet the demands of innovation leadership, solving novel problems that make a strategic difference and building them with and through other people, often many people, we need to build in ourselves the variety and flexibility requisite to the demands of leading these various constituencies, aligning action and decisions, building passion, enthusiasm and heads-in-the-game flow, etc.. This is not narrowly technical. And Shahrazad is an iconic figure who made a difference because she had studied broadly and could turn what she'd learned into a strategy and action that saved a 1,000 lives, and her own. Pretty cool huh? Shahrazad? Yes. Indeed.
Dana quipped that when people just have no resources to deal with a tricksy situation, their "clue bucket" is empty. We fill our clue bucket as we move through life, but we can be more effective, more discerning, and productively fill our bucket with useful clues. [You know, so you can "get a clue" when it's needed. ;-)]
[No, this isn't a wicked trick to either steer you away from, or again advocate reading my Trace. ;-) No, this time it is a wicked trick to remind you to read.... children's stories! Or at least read the paper by that unbelievably audacious Q<= who uses a children's story to explore agility and architecture in software, system and enterprises. ;-) But hey, reading here is good too. ;-)]
10/24/12: Looks like a must read:
Should I read Action in Perception or Varieties of Presence (first)?
(Here's a little glimpse of my story, and why that synopsis of Alva Noë's book resonates: What Nolan gives us.)
10/28/12: See also Design Concepts and Practice, Kevlin Henney, 1999. His modelarity neologism is used there (pg 10), and it is (still) a useful piece of work (like everything we do, it has contextual assumptions that tie it to the understandings of the time -- many still relevant, even if in more clarified or more finely caveated form). It would be interesting to read/hear how Kevlin is talking about architecture now. I think it is wicked (in a good way) that a young Henney conceived of inserting his invention into our language and this now instantion of him seeds the word more in us. And, you'll note the importance of susceptible types like me, who will fall in love with a word, and the idea of its genesis, and play a role in giving it life. ;-)
10/29/12: Think this is too frou-frou for the software field? Consider how Pat Shaughnessy gets us interested in his book -- historical gem, visual nugget, and SCIENCE! Awesomesauce!
11/1/12: John Maeda: How art, technology and design inform creative leaders, TED talk, 2012
Grok check: Tell stories? Collect stories? Um, um, I got it, I got it. What? A clue! Yeah. Read for clues!. We need to build sufficient variety within ourselves to deal with the variety of demands on us as architects.
This is a wonderful presentation by Kevlin Henney; the point around minute 1:15+ struck a chord with concerns du jour for me. But his message around reading code the way we read other works is important.
What do I really think? I agree, in an "and and and" sort of way. My "and"s though? Meh.
I need to hurry and catch up with Peter because he has collected a treasure trove of checklists for us! It occurs to me that might be a great use of Storify too!
Stepping Outside the Circle
I stepped out of a circle and looking back, saw myself more as others see.
That creates two resolves, both important and good. And exciting!
And two projects to spend my "discretionary time" on. Not this.
Oh. One of the projects is an epic code excursion. The other is outside software. Anyway, HOLD ME TO IT!!!
I will continue to put pointers to other people's work here. I can't post about the system, but I will write about it -- some of that "do stuff worth writing about" that is hard to do and write about, but I'll try. :-)
10/21/12: But. Garr! Now I can't write about improv and all that jazz.
10/23/12: You'll be pleased to note I have lots of ideas for posts, but so far I've managed not to succumb to the deafening silence. Don't worry. My feelings aren't hurt at your insistence that my Trace is useless. I do too. I do too.
Alternately put, your respectful expectation of greatness brewing is very encouraging, and I'll get right back to giving architects feedback, so that I can get right back to system design and diving into an area of technology that would daunt someone with more sense than me. ;-)
10/24/12: As systems become more complex, and the associated organizational complexity increases, more "structure" is needed to accommodate or "bear the load." We can try to scale very organic informal dynamically reconfiguring sorts of structure by pushing a lot of this complexity handling into people and interactions -- but then we have to understand that interactions become highly important, and people are, well, awesome, but also bandwidth limited. So we look for ways to offload people, and that's where processes and "documentation" and more "formal ceremony" comes in. More complex systems and either a much more jazzy dance among the, of necessity highly and multi-dimensionally capable, people involved, or more "structural support." Let that serve as backdrop to this discussion, again initiated and hosted by Kevlin Henney on Twitter.
(I had a similar thought, seeing a slide along the lines that any abstraction impacts performance in Python. If we look at things on a small and simple scope/scale, we simply aren't seeing the properties of a more complex thing. So a point that is measurably true at one scope/scale, can be just wrong at another.)
Thinking about Simon Gough's "Last Post," and my experience Tracing, it reminded to me that we are so attention strapped not just by work but by the glut of writing. So maybe Simon is right. Maybe we think/write too much. But I protest that too. We have flattened the pyramid of social standing, with much more broadly acquired higher education levels -- formal and informal, through life-long awe-struck seeking/questing/learning-in-the-doing. So we just have more expertise and aspiration to develop/share it. And writing is a form of learning-by-doing, just the doing of melding thought into coherent structures. (Yes, my Trace is coherent -- highly! It is just brain-like, being an open brain experiment, so organic and evolving. but with clear patterns and a clear design, if you look for it. ;-) Anyway, we discover what we know by writing (and building, but let's give credibility to the writing too), and we are extending what we, as a species, and we as individuals, know, by writing -- and reading, discussing, ammending, etc. Sure, sometimes we repeat ourselves, with the same insights being drawn out overlappingly by various people. But that serves too. To learn and to discover, and to do so in a mutualistic space where we advance through interactions, some in batch mode with more formal writing, and some more dynamically and interactively with chats online and f2f, etc.
So one legitimate form of "action," I think, is developing what we know, what we understand and see. It enables us to do ever more ambitiously challenging things. And our times demand we take on some pretty gnarly social and environmental problems! And the momentum of technological and organizational evolution (disruptive and incremental) is such that we're ever pressed to find -- even create -- "needs" and right wrongs.
Simon is asking, I think, what use we could put our social platforms to, to change the world -- beyond (self-)publishing (and self-promoting)? Good question. But my sense is that out of spaces like Twitter we have created (at least the potential for) a collegial gathering place. Our blog-as-digital-projection and Twitter (and other social net) personas interact, and this web of social can, I think, form a collegial space where we foster thinking, discussion and mutual encouragement. Ok, it does so already, but more, I suspect, as a glimpse of what is possible, than as a fully developed mutuality space that grows the whole ecosystem of participants.
If it is true that there is value to be had from using our social space as mutual enrichment and knowledge advancement platforms, we might ask: how do we make collegial spaces more satisfying and useful? For example, perhaps we flatlanders (those with a healthy disrespect for dominance hierarchies) need to learn how to better tend each other. Dominance stacks have their own mechanisms for attention routing. So, getting back to that "flatter pyramid" idea, perhaps it means that in a more egalitarian world we need to "share" attention around more. And we need to share some enthusiasm for others work more. I joked at my own expense in an earlier entry, putting a link to the "First world problems" skit on an obvious attention panhandle. And it is all very well to make a kidding example of me. But "Houston we have a problem" seems to fit the experience set here. We work our blessed little hearts out, and wrangle skittish insights to obeyance, dance others to life in words. But there is no amplification through peer recommendation and no salve to the ego in a world that sure doesn't pull punches. Behavior is important because it shows that we mean our words, but the words are also important because they are what we use to convey our thoughts and feelings. Why do I talk about this "tending" aspect? Well, I sense that from "social" interactions our brains are cued up to expect social interactions. Begs disappointment unless we also find a way to bring humanity -- responsiveness -- into digital-social.
As for architecture. Sure, our systems -- as Grady Booch puts it (though I'm going on memory so may be paraphrasing) -- are invisible when we do it right. But we still live within them, and they in us (think pacemakers, but also blogs and Twitter and such as thought-to-thought brain-extender thingies). And we better get good at the architectural design of these systems or they won't stand up to the stresses and strains (Twit-ter! she says sternly) not to mention the demand that they delight us!
Oops. I'm formulating feedback, really. My brain just needs to play in spurts, too.
PS. I'm astonished at how people establish such unique identities on Twitter. I've mentioned Simon Gough and Martin Howitt's repartee which is witty and heartwarming to eavesdrop in on... Uh, yeah, think about it -- Twitter found a way to make us "flies on the walls" to other people's conversations, so its just like being in a cube farm again. ;-) But Simon has established a "Twitter voice" that is compelling, giving me a much-needed daily dose of dry/smart social/political commentary/satire/wit.
PPS. My notion of HelpMatch evolved into a social platform for helping out. Somewhat of a mashup of TaskRabbit and Kiva and so forth, but focused on helping people in distressed situations. But we are working on a quite different system, so I don't have the bandwidth for leading something in the HelpMatch vein. Alas, for it is needed and could be a transformative contribution, but also provide a place for digital socializing to happen with a focus on making a difference for people in need. I still think it would be an exemplary thing for the open source community to build, make for a great set of case studies for every area of architecting and development -- and wouldn't it be something if we had not just great code for something that gnarly, but irresistibly vivid system documentation too, all exposed for all to push and poke at, and improve, or question, or create alternatives to? "Woof.' (Goodness, I almost persuaded myself to do it, right there!)
10/26/12: It always astonishes me how competitive -- that is, how uncollegial -- our field typically is. Why would I not mention Grady Booch or Tom Gilb or Philippe Kruchten or George Fairbanks or Eion Woods or Simon Brown or Peter Eeles or Rebecca Wirfs-Brock or the SEI team, etc., etc.? They help foster and develop our field, and we need to know about them as surely as we need to know about Dana Bredemeyer and that shy but ever-so-passionate (about our field) Ruth Malan. ;-)
10/27/12: Hey, a thought just occurred. (You. Know. Right?!?!) In client work and workshops, I never mention I'm on Twitter (nor, generally, do I mentioned this Trace, though I do put links here and there to it in the notes). For one thing, many of folk I work with are architecting and familying away, and not thinking about Twitter as a resource. They don't need the social/collegial/camaraderie side as they get plenty f2f at work. But I suppose I should do a better job of advocating y'all, even if I can't gracefully advocate myself. (What I write here is hidden by words, so counts only as talking to myself. And you. And you are kind enough not to think too terribly ill of me if I break down in a sad case of I'm-also-awesome-itis. It's just that... well, you know, symbolic-rant-words-go-here, it is frustrating that out there in the world no-one thinks I'm worth paying any attention to, so in here, in my "open brain space" I sort of rebel and say "hell no! I have a few clues, and they're worth something!" And so forth. It's tough being a woman and an introvert in this field. Dana is awesome and I so get why architects love working with him. (I liked it so much I married him!) But in my head I'm sort of awesome too. Or something. Well, whatever. As you were.
Sometimes it takes someone who knows how to see a body of work, to frame it as credible and interesting. I think that is especially true of something so audacious as this Trace. That architects I do very much admire return here, gives me both satisfaction and some confidence that this Trace has some sparkle and utility.
Grok check: Too many words already written. Must go write code. Because there's not enough code. Oh wait. Uh. Plan B, huh?
There is just 1 seat available in the Software Architecture Workshop coming up in The Netherlands on November 6-9, 2012. Enrollment for that is through ESI in The Netherlands. Dana Bredemeyer is teaching the workshop, so it is a great opportunity for those who want to take a workshop with Dana in Europe. Get on it! :-)
Grok check: Dana is awesome. Sign up for this workshop NOW. Oh. Too late. Sorry. It's full. You can be waitlisted though.
A tweet-out by mfeathers gave my Conway's Law post (from February 2008) a spike in views. A "very nice description" -- quite positively warms a person when it's a** first after she's poured a gazzilion words into this internet black-hole! [Imagine – that is the second time one of my blog posts has been tweeted (that I know of), and the first time with a positive framing (as opposed to just a neutral link). Do I deserve the silence, or does our field have a blind-spot (too)?]
Woohoo -- fame:
Really that post came up for me because I related it to another mfeathers comment in this tweet thread:
I like the way Michael has been talking about Conway's Law (see for example, around minute 21 in Code Blindness, 2011 and read Beyond 'Conway's Law'), and wanted to point to the "corollaries" I indicate in my post.
I do also want to connect it to my ecosystems work. But I blow everybody's fuses with my too-muchness, don't I?
Pushing that thought aside... In my ecosystems exploration, I think I've been making a point that relates to the point Michael was making in that tweet-versation snipped-and-pasted above. In the Fractal and Emergent paper, and subsequent exploring, I've been researching/thinking/extending my conception of the relationship between stabilizing ecosystem(s) and bounded agility or incremental innovation, on the one hand, and the different kind of agility it takes to disrupt the ecosystem.
Anyway, this (from my Freck and Freckless post in February 2012) gives some of the flavor of that exploration:
Anyway, with regards to Conway's Law, I did, as Michael pointed out, connect it to the Innovator's Dilemma (and did so already in 2008 -- you really ought to attend to me more seriously! wink!!!).
More on Conway's Law:
* I first wrote that as stay qualm not calm. I LOVE life's sense of humor, and it sure does puppet me the fool!
** specifically a first for my blog. This Trace and my papers have received a few positive recommendations ... over the past many years.
Incidental asides (you know, because being a volunteer fish in the goldfish bowl of "social" means TMI don't apply; we're just objets d'étude ):
[One of these days someone will ask with interest for an update on, and a formal expression of, my ecosystems/strategy/architecture work. Until then, I'm sulking. ;-) (Just kidding! Sheesh! What you're willing to think of me! I know. I know. It is easier to think I'm sulking, than to think I'm an expert worth attention... That sucks!)]
[Hey, I never said I wasn't a Michael Feathers groupie. But I never said I wasn't a you groupie either. :-) Alternately put, he's awesome. And clearly I think that Simon Gough and Martin Howitt are awesome too. Not to mention Tony da Silva and Charlie Alfred. Peter Bakker and Gene Hughson. Grady Booch and Richard West. Kevlin Henney and Linda Rising. And our very own Dana Bredemeyer (who, by the way, totally rocks!) And that's just mentioning folk I've embarrassed with Trace-applause this month. ;-)]
[ Don't worry. This Trace is as protected by the veil of words from the likes of mfeathers as it is from everyone else. So I realize his tweet won't blow my cover... ...I'll try to stay calm* and not panic and kill my site in embarrassment! ;-) I do appreciate the kind words and pointer. And while some attention in the architecture space is great, in the bigger world ... I'm shy. Oh, mainly I'm just non-combative and what I do flies in the face of a lot of the positioneering of various folks who want to just call a person an idiot to score their own points... And I do deserve to be called an idiot a lot of the time, but more because I take the risk of putting words to screen to see what I think, and give others the chance to help me think better and evolve what I know.]
Grok check: Conway's Law is. MIT says so.
If you haven't seen this, get on it: A Tour through the Visualization Zoo by Jeffrey Heer, Michael Bostock, Vadim Ogievetsky |May 1, 2010
[In the "because no-one troubled to ask" category, my software version languishes: Towards a Layout for the Software Visualization Zoo. Oh, I'm only half serious about the not asking thing. There's ever so much to do, and something no-one gets excited enough to ask for languishes amidst the piles of other things no-one asks for, but I get excited about! ;-) But wow, looking back over it, I don't know why no-one was excited. Oh. Yeah. We don't want to visualize the state of our mess. ;-) It was fun boiling the visualization field down. It's too bad no-one recognizes that is a pretty fine topology, or at least a good start at a better one. Sigh.]
An architect I much respect and love to work with brought this animated video to my attention:
10/27/12: Kevlin Henney pointed out the Greek myths chart in a tweet. I meant to note that at the time, but didn't want to obscure the connection between the two charts with attribution just there.
10/28/12: Making connections visible, raises new insights. Seeing the chart of Greek myths, Daniel Stroe, one of my dear friends and a wonderful architect, noted:
I had never put those together.
Grok check: Seeing relationships is revealing.
Close to 3,000 unique visitors to this site already this month, with an average 1.55 visits per visitor (just within the month). You know what that means? Some people are coming back. And some of those are coming back several times! Oops. More words? (The words are very effective, since most vistors bounce away in less than 30 seconds.)
Software is so... factional.
Complex systems that lives, organizations and economies depend on behoove us to move toward a more considered -- engineered -- approach. And to differentiate especially in maturing markets, we need to do better than "best effort" engineering, especially when the best effort is based on some sort of inconsidered dark art. Oh, I get it that the ground (technology and business context) is constantly shifting, but that doesn't mean we shouldn't strive to design to achieve more what we intend. Or to get our intentions more lucid, so we can work together to make a bigger thing happen.
Rats, I write a lot when I'm not writing! Ok. This week: code! It'll be better for all of us. Because, you know, dribbling more words into the glut isn't going to do anyone any good.
And while you're waiting: this is a reflection of the times (lol political commentary).
[To Trace in public is to risk judgmental sneering, scoffing. I expect a lot of that, for architecture at all is scoffed at in factions in the software field. What I did not expect, frankly, was the cold shoulder. Since there is so very little indication that these traces are viewed kindly, there is little validation that the work is worthwhile. So, enough then.]
Grok check: Better tell everyone we're going to do something else, so otherwise-detractors ♫ go away. ;-)
How to Think
... about this Trace, that is.
It occurs to me that I need to do a remedial intervention on this Trace. The specific idea I have is to try a one sentence main point of each trace (post). A sort of "get it?" for those who don't know how to orient towards me as a talent and evolving-authority on software and enterprise architecture.
I want to turn my focus to this system under development. But I protest the indifference. So should I let my protest take the form of "how to see"... ?
Ok. So I'm working on adding a "Grok Check" to the end of every trace. Helpful??? Or too in-your-face/insulting????
Is the concept ok, just named inappropriately? Oh, oh, oh. Remember what my kid said several years ago? No? Goodness gracious guys! Sigh. He said:
Clearly he's not going to learn about that fine line from me!
Oh yeah. And. The other day I was "ruthing" and Sara said "I don't know whether to say you're cute or punch you in the face." I told Dana, and he said "You resemble that remark." And this morning:
Interesting how much context factors. That was so totally a compliment!! :-) Said with laughter in her voice, two Q<=s jabbering in the dark with the full moon setting on the way to take said teenager to school this morning. Later, she said something and I jumped into "explain mode" (you know, this one I'm in right now), and she, being totally onto me, cut in with "That's lovely Mom." Again, the lilt in her voice made all the difference. Made me laugh.
Architectural relevance? Why, none at all. None at all. Really. No really. What?
Grok check: Ok. So what do you think? If I can keep my imp under control (clearly that is hard for me), does the grok check help? If useful, should the grok check come first, as a preview/abstract or afterward as a summary/nugget takeaway?
I wish Twitter had a different name than "favorite" for bookmarks. It is really "awkward" bookmarking fail cases with "favorite"!!
On That Note
If I show up here, it had better be because there's a good reason, not because I can't break the habit!
I'll let you know where I put various ongoing chunks of work -- like a checklists collection to organize and persist the great scouting Peter Bakker has been doing, and more along the lines of the Conceptual Architecture module.
But my main focus needs to be on... sorry, can't tell you. But I will try to keep to the discipline of writing about it (not here).
It would have been nice to break this Trace habit on a different note.
In my conceit, this Trace was courageous and generous. But I can certainly orient myself to agreeing that is more accurately seen as ludicrous.
Right then. Code. You know, computer-generated performance feedback that is like:
(Of course, you don't know this, 'cos your code is never not quite working, is it?)
Python I love you. (Not sure if Python will stay with us, but it is a good rule of thumb to throw the first 6 away, so we have a ways to go. ;-)
Oh, seriously, this is a game changer. But first, there's a lot of prototyping to be done, just to get the concept fleshed out in bits. I'm going to make a place in this world for a me. As you were, gentlemen (and any ladies).
10/31/12: Can't help it -- look at Cory Booker's tweet stream. I love idealists who do big things, and kind things.
11/1/12: We are in such an age of individual-imperialism!
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