>>> You don't know jackass about 'solution architecture!'

(ummm ... I meant 'Circus')

beta - rfc please!

>>> <= index

>>> <= rants


"An architect should be ingenious, and apt in the acquisition of knowledge. Deficient in either of these qualities, he cannot be a perfect master. He should be a good writer, a skilful draftsman, versed in geometry and optics, expert at figures, acquainted with history, informed on the principles of natural and moral philosophy, somewhat of a musician, not ignorant of the sciences both of law and physic, nor of the motions, laws, and relations to each other, of the heavenly bodies."
-- Marcus Vitruvius Pollo, On Architecture (ca 70-25 B.C.)

Be the change you wish to see.
-- Mohandas Karamchand Gandhi

Foreword:

Of course, I am getting senile; my fast receding hairline is not helping me either. So, without much ado (I hope you understand, my friend), let me launch this tirade against the band of 'solution architects' that abound in this IT industry - of which, sadly, I am also a part.

A few days back, I got too curious for my comfort, and had gone to enjoy that cute 'the great royal circus' - which has come to a place near you (at Palace grounds, of Raj Mahal Rd, Bangalore - to be precise). There were standard shows of cute pomeranian dogs jumping and prancing around when they were not busy lifting their hind legs and... acts of spewing fire and tightly clothed (oh man, how do they even breath?) young boys and girls doing all kinds of gymnastic activities... hmmmm. But unfortunately for you, this spectacular display of talent, set me thinking and I started writing notes to myself (mainly).... So here goes!

By way of a preamble:

In these days of google, which make one assume that he/she can instantaneously get converted from an unadultrated ignoramus to a pure knowledge touting sage (with a condescending smile to boot) - it was exhilerating to see young and not-so-young circus_folks dish out act after difficult act with/to near perfection, poise and teamwork - of course, their background of basic wide_ranging skills was a given. Props were minimal too.

I was wondering whether there is anything that I can learn from this 3 hr episode in my life; so, here go my pretty laboured streams of thought(!) comparing and contrasting 'solution architects' and 'circus artists'.

Please note that when I write 'architect' and use it in the canonical sense - he/she is automatically assumed to be a good 'programmer', and hence, a good designer too! In this rant I would like to concentrate on the wide schism that exists between the perceived dejure and defacto positions of a typical 'solution architect.'

Alea jacta est.


"Let no one who has the slightest desire to live in peace and quietness be tempted, under any circumstances, to enter upon the chivalrous task of trying to correct a popular error."
-- William Thoms, deputy librarian for the House of Lords, c. 1873


1. As a community, we programmers and 'architects' are very easily satisfied. I would say that, by and large, we don't have any standards to live up to. We probably do so because, mediocrity is NOT career threatening, especially so in the exponentially (oh, the horror of it) growing IT industry.

As opposed to this, say, if a fire_eater or a ring_master (in the context of a circus) commits a mistake, it is endgame for their career, if not for their lives.

2. Since we are easily satisfied and since nobody (up in the ladder or at peer level) delivers any required 'swift kicks in the posterior' - we assume that we are *actually* good and strut around like peacocks.

And, as opposed to this, if the circus_folks dont keep on adding to their bag of tricks, their value proposition is lost. Not that they do it because of the 'career' requirements - but because, many circus artists seem to genuinely love what they are working on. The point here is that we, on the other hand, neither have the frame of mind of loving our profession(!) nor are we willing to pick up the basic skills that are required to 'do whatever it takes' to justify our roles! (even though we don't like them)

3. Since many of us go evaluating others (and by extension, themselves) by 'tags' and glitzy GUI - we invariably make the mistake of mistaking the GUI for the real bone marrow and deep technical skills - this ain't work; to top this all, we tend to become stiff necked and lose any little sense of humour that we might have had in the past.

And, the clowns in the act are better than the rest - because they are good at their tricks (in spite of their physiological inadequacies) and have a great sense of humour and timing too. They have very good presentation as also the rest of their layers right. Hence, it is little surprising that they are the darlings of the children; the latter incidentally are more likely to separate chaff from the wheat, can instinctively recognize talent, genius and dishonesty, but they unfortunately grow up to be us.

4. We think we are great saviours of the IT world, whereas in reality we are pathetic lusers. We think we are individual contributors and because of our GUI are able to impress on others this idea too - but for a short term. But then, one can 'move on' in life. It is not surprising to see individuals moving constantly up the ladder by switching from company to company and leaving a steady trail of destruction and debris... We don't think we need to take help from others and instead, remorselessly suggest ill advised artifacts.

Whereas the circuswallahs, such as the trapeze artists, excel because of team work; each of them is very skilled at an individual level but are dependant on other fellow artists to *survive*.

5. We tend to specialize(?) in a particular area of knowledge(!) and assume that we don't need to know anything else. But architects have to have a broad range of tech and non-tech skills, be deep in a few of them - and where necessary, they should be able to identify a suitable deep guy in areas wherein one is shallow!

Whereas in a circus - one gets to see the same set of performers excelling in things vastly different as in juggling to pommelhorsing to trapeze to cycling to...

6. We tend to, as a tribe, devalue the necessity of hardwork (lucubration, if you will) as the necessary component (as opposed to being merely 'sufficient') to reach the level of any deep knowledge in anything - and assume that we can do only 'top margin' work! (whatever that means)

But, *they* seem to be *good* at everything they do. I wonder how they do it! Surprising, is it not? ;-)

7. We are supposed to be able to do many a technical and non technical thingie concurrently - but for lack of the multiplexing and multiprocessing ability, we don't even dare trying it. If at all, we are 'forced' to do it for some reason, we tend to whine and lose all sense of perspective.

But, *they* seem to have perfected the art of relaxed concentration - at a given time the artists are in the thick of many activities... They even keep smiling (not put-on ones, mind you) while they do context switches... Where is my Alexander?

8. As part of the 'top margin' work mentality - we do not think it fit to do anything else - for example coding (what?), testing (aieeeee!) and code review (ayyo!)... Not that we are capable of doing any of these things though! There is no concept of dignity of labor leave alone striving for excellence! In fact, many a time, I have talked to 'architects' who claim that since they are 'architects' they will not do *any* detailed design, leave alone that dirty blue_collar work called - coding. wWhat? TESTING?? GO AWAY FROM HERE... Sometimes I feel that I am smoking mushrooms, but then, this is reality. I accept this. Biodiversity is the key term here. One has to learn to tolerate. Result: Peaceful coexistence. Peace.

But, *they* do all kinds of work as a matter of routine! This minute, one will be driving a spike, next minute supporting the clown and then tending to the animals or... They all understand and appreciate the importance of doing all kinds of work so that the show goes on!

9. We are traditionally into the habit of jargon_mongering (read: bullexcretizing) our way thru (any tech/corporate ladder, meeting, whatever...); when in doubt, we liberally use - domain, technology, solutions, engineering, frameworks, models, reusable components, ad nauseam - but traditionally, we can't even do a simple analysis of a problem. We don't even begin to understand as to 'how to solve a problem'! Where is George Polya when we need him?

But *they* do very little talking. But they deliver, show after show. Coupez la difficulte en quatre?

10. The only thing that most of us are able to sell, are our resumes (to our employers); there is no understanding of the concept of packaging, presentation skills, arriving at and sensing the core of a problem and then going about suggesting a viable solution to clients (may be our own folks, may be others) - Nothing. In most cases, general mumble_jumble_tumble peppered with such vacuous and empty terms such as design_patterns and layered_architecture see us thru. You see, nearly all folks have a fear or exposing their ignorance and hence don't want to ask questions; it is also possible that the target audience does not want to expose our ignorance, in front of *others*; so, this has become a winwin(!) situation for us. The problem is that most of the 'architects' haven't sold a single pin in their entirepathetic lives, but still would love to pontificate on business, strategies and what not. grrrrr...

But, circus involves selling, selling, selling - things and acts that create a sense of awe and wonder, provide value and sheer joy to their clients. There are neither powerpoint slidewares nor useless animations. This reminds me of the StarWars Yoda's statement about '*do* or no do, there is no *try*'

11. We architects do not have any respect for the body (for example, software that we 'architect') / environment(for example, deployment constraints), which reminds me of "neither knowing the cost nor the value of anything" - in a cannibalized form of an original cute quote of Alan Perlis about LISP programmers. There is no concept of sizing and recommending the right os, h/w and n/w environment; when cornered, we go by the gasbags that vendors supply - masquarading as product brochures and datasheets... Nobody can blame us for ill-informed decisions, as these can be happily blamed on the ISVs; this is because, leave alone 'architecting' and 'II order cyberbnetics' skills - the very basics of systems engineering and analysis are woefully inadequate in most of us...

But, circus artists take care about their artifacts (as opposed to artifices that we 'architects' tend to have) as also their operating environments. They analyse the involved relationships and arrive at viable and *graceful* solutions. They practice, but dont preach. The result: 'Everything under the sun is in tune' and a symphony of sorts. (As opposed to symphoney of sorts, applicable elsewhere. Sorry.)

12. We programmers and architects don't believe in doing *any* homework whatsoever! No homework in understanding the concept, the context of operation and the deployment environments, the folks/stakeholders involved - a whole series of important facets of architecture - we instead, immediately jump to whether the UI needs dropdown listboxes or in slightly better cases, whether the solution needs to use session beans, whatever! Sheesh.

But, circus involves a tremendous amount of homework, not merely because the audience won't be pleased - but because, the very lives/careers of artistes would be at stake, in the event of something going wrong. And unfortunately, these folks, do not have the luxury of charging their clients for their own mistakes. Silly, of course, we 'architects' are not bothered by simplistic considerations like this and instead would like to thoroughly shaft the clients, charging them for bugs (better known as 'undocumented features') so 'thoughtfully' introduced by us!

13. We feel that we are 'architects' - but seldom we do pay attention to the *most* important facet of the technical architecture - the "non functional requirements' (such as - Reliability, Resilience, Performance, Availability, Scalability, Extensibility Maintainability, Manageability - the works); the moment someone wants to start talking about architecture - we butt in and start incessantly jibbering like an excited simian (sorry, no offence meant at you, Chimpanzees) saying things like model-view-controller or at best 'performance patterns', whatever... In a majority of cases when someone (client?) starts talking about availability - we immediately jump up and say HA (ha ha!) and utter such techie staements as 'so you want 24x7 availability'? Or 'so, you want 5-9s support?' :-( Of course every client would want an uptime of 24x7x4.5 billion years (the time required for earth to get sucked into the redgiant that mothersun would become) - but the question is whether the client *needs* it! This unfortunately is due to the fact that - even with respect to the basic taxonomy of availability, for example, we seem to know serious little... Alas, we don't ask any questions nor do we have valuable and considered opinions - which could either be because of the fact that we don't know what to ask or because we know everything... but I would like err on the former explanation... But, one thing that galls me no end is the automatic asinine assumption that 'architecture = feature requirements' as opposed to a more complete take of 'architecture = non functional requirements + functional requirements'.

But, the circuswallahs - know the value of both UI (feature requirements) as also performance characteristics; they know the difference that it would make to a trapeze artiste (trampoline notwithstanding) if there is going to be an additional latency of even a few deciseconds...

14. As a species, we 'architects' do NOT have any operational experience/skills whatsoever. And, of course very humorously, we automatically assume that - to be recognized as a good architect(or a 'techie' for that matter), one needs to have POOR organization skills! Baloney!! A good architect needs to have good technical, organization and communication skills - this fact is happily forgotten. In this context, I have seen quite a few wannabe architects, forever whining that they are 'technical' and so they should not undertake any line function etc (the underlying unfounded belief being: I am capable of doing much more than *mere* operations!). In my opinion, an architect should have good skills at operations at his command - but he need not be doing it all the time. If an 'architect' does not know the basics of operations - then how on earth can he deliver anything at all? This bothers me no end.

But 'coupez la difficulte en quatre' seems to be motto of the circus artists, as I wrote elsewhere; the elan with which they manage the complex operational details is so very satisfying to observe! It is such a pleasure to see professionals at work!

15. It is obvious that we 'architects' do not have any opinion at all on anything. If some opinion emanates from someone higher up in the pecking order, it is considered as gospel truth for 'official' purposes (it is besides the point that we whine behind the scenes no end about this); we are afraid of the alchemy of changing the status-quo too. Coupled with a low-selfesteem (masquarading as a boistrous, confident persona) and a low level of skills (masquarading as a 'specialist' in some thingie/platform/language/whatever...), we as a tribe, lack *any* opinion on anything... When I think about this, it does not come as a surprise - am getting defensive - what do you expect from us, yeah?

Of course the circuswallahs are too good with what they do and I guess they have reached a zen like peace with themselves and their operating environments. They perhaps don't need to mouth any opinion. The way they conduct themselves on stage and off stage is their opinion. Period.

16. We architects assume that we are soooooo good that we are capable of delivering a technical architecture on our own, without resorting to help from anyone else. The fact that we need to take help and assistance from various 'masters' really specializing in various technical realms, to develop a robust software artifact - is totally forgotten! We don't seem to meaningfully relate to the attitude of: developing deep technical skills in a few realms and taking resort to help from others when it comes to complementary technical skills; perhaps this attitude of 'splendid isolation' stems from a deep sense of insecurity prompted by mediocrity.

On the contrary, circuswallahs are forever interested in increasing the value proposition that they can provide; to this extent they let 'thoughts come from all directions.' For example, 'the great royal circus' has performing artists from many countries; there is a cute Uzbek family (comprising 2 adults + 2 kids) which does acrobatics and juggling cascades very beatifully; apparently noone else is feeling insecure about this. Perhaps this may be due to the fact that the self esteem levels of the artists are inherently high.

When as a community, can we learn to gracefully recognize and accept talents a la:

"Din! Din! Din!
You Lazarushian-leather Gunga Din!
Tho' I've belted you an' flayed you,
By the livin' Gawd that made you,
You're a better man than I am, Gunga Din!"

17. It is my constant lament that most of us 'architects' are not multifaceted at all... I am not saying that all of us need to be polymathic or whatever. But the sheer lack of curiosity about how the world works - apart from whatever that fancies the current news_analysis programmes on TV - is actually counter productive to the basic mindset required of an architect. What would be the value proposition from everyone of us - if anyone can do, what we can do. What is the innovative twists that we would like to focus on? In other words, the attributes that should characterize the lifeforce of an architect are... where?? ;-) Do we have a systematic plan for learning anything? I am talking about the metalearning here - 'learning to learn' that is... How do we inculcate this spirit in ourselves?

It goes without saying that circus artists' value propositions will have to keep on evolving, changing, morphing - all arrows moving towards perfection; there are not many great circus companies to pose significant competition to the likes of 'the great royal circus' - but still, they face competition from other entertainment(?) media(??) such as TV(grrr). Of course one can watch a circus show on TV - but this is not real. It is a real pleasure to watch the artists peforming, in flesh and blood...

Perhaps a quote from Eric Hoffer is in order here: "In times of change, learners inherit the Earth, while the learned find themselves beautifully equipped to deal with a world that no longer exists."

18. Most of us lack that capacity to be resilient - in the sense that we do not have the skill and the capacity to be robust and thoughtful under conditions or enormous stress and change; we buckle down under pressure and lose all sense of perspective. There is a beautiful french word called 'bricolage' which would roughly translate to DIY (prompted by eternal curiosity and raging chutzpah (this a cute hebrew/yiddish word roughly meaning - temerity or aggressive boldness)) - and it is sad to observe that we do not have this bricolage. In one of HBR articles (to get the URL for this, if poss - 2001?) there was a mention of three facets of 'resilient' behaviour - facing down reality, ability to search for meanings, and a capacity of ritualized ingenuity. Bereft these facets / capacity, most of us are not capable of discharging our responsibilities in a politicized set-up - but any corporate set-up is a political set-up. Hence, we would rather go in a shell and refuse to see reason or reality.

But, the capacity to rebound with full vigor is ingrained in (or beaten into) every circus artist. I am not referring to the mere acts of physically and ritually falling and slapstick stuff. I am actually referring to the ability of these folks to cope with stress, vanishing crowds *and* maintaining a good sense of humour - **and** deliver.

19. Most of us, when we run out of cliched metaphors, turn to quoting from John Zachman or Robert Fowler or the well meaning, but the often times misquoted GoF folks... - as if, if they had said something about architecture (or patterns or frameworks or...), that alone matters a lot... (there is a cute arabic metaphor - ‘al-urf’ which essentially talks about the perennial change in nature or 'evolution' - which needs to factored into any doctrine / concept); our normal motto is: when in doubt or in 'unsure' mode - quote from the 'masters'. I do not per se, have a problem with this approach though - if that is soaked in actual knowledge about the architecture philosophy of a particular individual. But these random utterings are merely used as embellishments which by themselves are pretty meaningless.

As opposed to this - in circuses one would very rarely (if at all) encounter folks quoting Nadia Comanecis or Houdinis or PT Barnums, whoever. The point that I am trying to make here is that - the acts of the circus folks stem from the internalization of ideas rather than mere parroting of ideas and opinions, without any recourse whatsoever to pragmatism or real world experience...



Afterword:

If this trend of shallowness in us continues, I would say that we would become instances of gas_architects (as a humble and fluid subset of solution_architects). Ha ha! ;-)

I wickedly find solace in the fact that - across various IT companies in India and elsewhere, across various levels of melanin in skin etc, across various levels in the ladder etc, the above list is a fair subset of what is wrong with us 'architects'...

Of course, there are exceptions (may be you) to this litany of woes. But this is mainly directed at folks like me - which is rather the norm and so we are in a majority, mind you.

buwahaha....

Anyway, I believe in open ;-) discussions which could result in all of us benefitting. Please let me know what you think...

Meantime, I sincerely believe that one medicine can possibly cure our basic illnesses - that would be 'swift and powerful kicks in our butts' that can be delivered by appropriate authorities. I think, under threat, perhaps, we may become better 'architects'. But I have my lingering doutoo. Would you have *any* opinion on this list, my pal?

Update:

Here's a feedback on *this* rant from Chandrashekar Ramanathan.

Claimer:

<< I started jotting down a list of my thoughts for an internal distribution list of 'solution architects' of my current employer and since it befits(!) my beloved personal stereotype as a ranter, I thought, the correct place for the same would be *here*.>>

Standard disclaimers apply - that the set of views expressed here are not necessarily the views of my employer - though I wish it did!

Serious suggestion: Please do visit the circus. There are cute lessons to be learnt there, apart from the 'wow' factors...

>>> <= rants

>>> <= index

all rites reversed 2003ramjee (ramjee swaminathan)
5:18 PM 2/5/2004