I remember (vaguely) when I was in kindergarten, playing with my classmates, learning to make things out of clay and paper, and generally enjoying that sneaky introduction to education. Little did I know that my teacher (I forget her name, it was a long time ago) was grading my performance, checking...
At the moment there seems to be an extremely unhealthy obsession in software with the concept of architecture. A colleague of mine, a recent graduate, told me he wished to become a software architect. He was drawn to the glamour of being able to come up with grandiose ideas - sweeping generalized designs, creating presentations to audiences of acronym addicts, writing esoteric academic papers, speaking at conferences attended by headless engineers on company expense accounts hungrily seeking out this year's grail, and creating e-mails with huge cc lists from people whose signature footer is more interesting than the content. I tried to re-orient him into actually doing some coding, to join a team that has a good product and keen users both of whom are pushing requirements forward, to no avail. Somehow the lure of being an architecture astronaut was too strong and I lost him to the dark side.
He'll be in good company though. I was recently called to a customer who expressed interest in a software tool I'm working on. I came armed with the latest build of the product, looking forward to the opportunity to test some ideas and concepts in front of potential users. Instead I found myself in front of the customer who had also invited a competitor in order to create a conference room product shoot out. While I had my PC with running code to show, my opponent had brought along a briefcase full of PowerPoint presentations. Their slides were impressive: good use of color, animation, and a generous splattering of buzzwords and acronyms. Despite the fact I had working code to showcase, the discussion quickly degenerated into a discussion about the fact that mine was a so-called "fat" client, in fact a pretty lean Eclipse RCP-based product, while the opposition had a "thin" client.
The truth was the opposition didn't have a thin Web-based offering; their current product was built six years ago as a desktop application that could be downloaded as an 87M applet. However, they were in the process of rewriting it all to run in a lightweight Java EE container as portlets. In other words, they had nothing. They were peddling vaporwear. Worse than that, despite the fact their company had a perfectly good product offering that I was prepared to go head-to-head with, they seemed to have given up on making it more usable and instead opted for the deep thought option: a total rewrite just to suit the whims of today's architectural fashion.
I kept wanting to take the customer's IT manager and shake him back to reality; however, he somehow got drawn into their trap and was asking me architectural questions rather than focusing on whether the product I had brought to show and tell was going to make his users more productive.
Remember the kid in the playground who knew the name of a band you didn't, or who had a new album? They were cool; they had knowledge we didn't; and whether or not it was any better didn't matter, it was new and shiny and we had to have it too. If we did, then we would also be in possession of knowledge that others didn't own, and we in turn could be the cool kid to someone else.
This kind of atavistic worshipping of the obscure and unknown piece of knowledge is the personality disorder that plagues the software industry and is somehow encouraged and admired by architects who are never satisfied with what they have available to them to build software. They're not innovators or research pioneers pushing knowledge forward though - such people are hugely important as they invent the future and redefine technology boundaries. Instead these silver-bullet junkies just latch onto ideas and fads for the sake of it, because if nothing else it makes them appear ahead of the curve and in possession of secret facts and information. As soon as a project gets into trouble, they can launch these facts at programmers and proclaim, "Aha, it's because you're not using BOJOX and NADA 2.0 combined with YML that you have a bug" in front of the nervous manager who wants nothing more than to buy more time by telling his reporting chain that he needs a year to do a total rewrite. During this time, because nothing ships, nothing can go wrong and, hopefully, the stock price will have grown to the point the manager can cash in his options in time to go be a coward somewhere else.
Meanwhile, the architects seem invincible to failure and rise within the ranks of their organizations, ordering fresh business cards each year with the words "architect," "senior" or, for the power blowhards, "distinguished" in the title. They are drawn to the tar pit of attending and creating presentations, or joining conference calls with fellow architects who showboat their knowledge of obscure standards specifications or bleeding-edge research projects. They'll have copies of Christopher Alexander books in their office and spend hours googling for obtuse and arcane quotations to lace their presentations with and gain kudos from fellow fools.
When confronted by such people, recant the following mantra:
Code ships, code runs, code helps users, get their job done.
Remind any architects in your path that presentation charts, e-mails, project plans, line-items spreadsheets and so forth, are all there to help the code ship on time and to spec. The goal of everyone on a project should be to spend as little time as possible on tasks that distract from the job of creating quality, tested, and shippable code. Please architects, please understand this, respect this, and quietly stay out of the way of those good folk who prefer to spend their day working with an IDE writing code rather than composing e-mails.
David Tomlinson wrote: In regards to what Todd Little said, most companies, through their outsourcing of high skill IT functions to big 5/4/3 consulting companies and offshoring of the coding activities to Indian (and other) consulting companies, are in dire need of all forms of IT skill sets, not just architects. The C?O positions have sold you all out to cut a few bucks off the bottom line. The people that are left are often the b*llsh*t artists that know all the buzzwords, and the glorified middle managers that are left to fill the architect positions (which used to be highly skilled positions).
That's one of the reasons I've been so successful as an application/system/network/data/security architect....I work for a consulting company. Eventually, all the C?Os realize they need help and call us. :)
Adam OGorman wrote: Pure Software Architecture is one thing, Application Architecture is another. I wonder if the original authors comments were intended to also include Network Architects, Infrastructure Architects, Security Architects, Solution Architects, Operational Architects, Data Architects, Systems Architects, Enterprise Architects, Information Architects or Integration Architects.... and all the other architectural skills that may be required to successfully deliver large complex projects to clients.
RajKuruganti@4Circles wrote: I agree with the author. I have recently worked on a major project where the System Architect knew enough buzz words - BPEL, ESB, etc.. and wanted to use everything available for a DB of 200K records which was running on SQL Server.
The company spent $10Million and laid off everyone and sold the company. The architect has a bigger title and better pay.
The rest of us are still peeved. It is time that WE EDUCATE THE MANAGERS THRU WEB OR SPAM.
Todd Little wrote: Interesting story, although what it has to do with architecture is totally beyond me. It sounds like you simply got out sold by some hucksters that knew how to catch and hold the customers attention. Welcome to the real world.
It seems the real issue here is what constitutes a "software architect"? My experience tells me that in many organizations, a software architect is someone that can dictate standards that must be adhered to. Personally I don't think that is architecture, at least not that main part of architecture. This is especially true when you get into mandating that certain tools, products, etc., are to be used. Maybe that is "systems architecture" but it certainly isn't "application architecture" which is what I think most companies are in dire needs of.
Without going into a long post about architecture, may I suggest readers look at some of the work done by Michael H...
Fat Bold Cyclop wrote: Now You did it! Now my boss thinks he doesn't need a good and working software. Now he thinks that INSTEAD he needs more architects to sell powerpoint presentations! ;-)
Dewayne Hafenstein wrote: I agree somewhat that there are a great too many people calling themselves architects that wouldn't know a domain pattern from a transaction script! However, I take a great deal of offense at the broad generalizations that you are making. Software architects serve the same purpose as a building architect, and are just as important. Just as a building architect takes vauge ideas, concepts, and desires from a client and transforms them into a vision, a software architect has to do the same. We often work with the end users, product management, executive management, developers, QA, training, support, marketing, and so forth. We facilitate the process of building a successful product, and we define it in terms that the developers, QA testers, documentation, and customer support teams can consume and understand in the least ambiguous and most cost-effective ways. In order to perform thi...
David Tomlinson wrote: Your rant is against software architects or silver bullet addicts, or competitors in the software space or .... what?
1) Being a software architect is a matter of experience and aptitude. There ARE too many people calling themselves architects who really aren't. But there are many qualified and even superior software development people out there who ARE architects. AND good ones at that.
2) Silver bullet addicts are everywhere! CIOs, programmers, managers, clients. I've got a client who thinks that SOA is the silver bullet that will save his company. I've got a developer that thinks that Ruby or Rails or Groovy is so cool that we need to use it on our current J2EE project. I've had CIOs that think the WebSphere (apparently, the name alone) will save their jobs.
3) Software vendors have been hyping vaporware since I started in the mid-70's. IBM was a major violator back then and...
James White wrote: I have been reading the list of comments and interestingly enough, I am taking a class on Software Architecture. A point the instructor (a long time Software Architect and Coder) made was that no one questions an architect for a construction project (e.g. building, bridge, etc.), or a mechnical engineering project to the same degree that a software architect is questioned. Perhaps because there is a certain level of rigor and standard that customers and people in general have come to accept when the construction or mechanical architect speaks. People tend to believe that they can live with bad software (some may even expect it to be bad to a certain degree), where as the consequences are far more grave if a bridge collapses or a machine (e.g. a car engine) locks up and becomes inoperable. Perhaps because of the fluid nature of software development people expect too much too fast. U...
Jit wrote: Humm interesting. Why did architect in IT come into being. Or ... better so, why did architect came into being anywhere?
Yes ... a programmer does gets the job done. But, architect takes the image from the user's head and puts it into a form that can not only be coded and perform optimally through the life of the application but also include the morphing of the application.
Further, how would an eterprise be architected by coders?
It is like saying carpenters do the actual work while constructing a home ... what's the need of an architect?
I think, when architecture office and developers work together then ... well things turn out OK.
Adam OGorman wrote: There has always been an interest in SW architecture - largely because applications that are developed without it usually fail in the long run. You make some valid points; we have all probably encountered architects that contribute little to (or even damage) a project. However there are plenty of excellent architects out there, ensuring that the overall solution is well architected, meets the business requirements and can operate in the target environment.
There are also plenty of developers out there that contribute little to the team, they are dismissive of those that do not grasp the technical details of whatever their specialisation is, are too technology focused and have little or no interest in the actual end users requirements or the business problem that the project is tackling.
A little humility goes a long way - for a project to be successful you need a good sales team,...
Kirk wrote: I am an architect who writes code. An architect who cannot write effective and efficient code is like the building architect who designed my first house. He understood the basics of home building and distributing loads, but he ran the joists thinking he was doing the HVAC guy a favor and instead increased the cost of the house by using glulams and joists 12 inches on center. The HVAC guy ran his ductwork in the crawl space and the attic, not even using the long runs between the joists of the second floor.
Architects need to stay current by actually coding their designs once in while.
Joe's "architect" sounded more like a marketing architect; as they say in Texas "All hat, no cattle".
vikas wrote: i do agree that this happens in realworld.
but i came across the people who are perfect architect and they have left coding some years back. But they know if they are shown the design where the problem will come.
i will call an architect as a programmer with view to details and person with more analytical skills
Chris wrote: As one of the targets of Joe's spleen-venting rhetoric I can only marvel at his singular lack of knowledge about what "architecture" actually is. His example of a brush with a software salesperson (who patently was not an IT architect) re-inforces the importance for clients understanding the place of the different technologies in their environment, rather than an obsession with buzzwords and techno-babble. I'm not sure why Joe feels so aggrieved - but his unbalanced, inaccurate and narrow minded rant merely presents a perspective that he is where he should be - tucked away from customers in the ivory echelons of the labs in Hursley.
Skip Cashwell wrote: One thing you got right - your "friend", the just graduated seeker of the lime-light, really does need to learn to code! Most of the other hypotheses you propose are immature, uninformed and just plain dumb. My suggestion is that you do some research at The Open Group site: there you will find what an IT Architect is and the intensive requirements to achieve that credential.
Peter Thomas wrote: One more reply in favor of the author of the article :)
It's a rant after all but the point stands. There are indeed the good Architects, but let me rant about the bad ones for a moment.
These kinds of Architects exist and I've seen them do huge damage to projects. These are the guys who would create the powerpoint slides that define the architecture and then leave the hapless developers to do the rest. The Architect would be unavailable to address any issues that come up during development because of course, he would be making the slides for another project. Most likely the Architect would not have worked hands-on on the technologies involved and this is the biggest problem.
I see a lot of people similarly attracted to SOA nowadays.
JC wrote: This is a silly article. Let's take the word "architect" from it's original sense. Do you think a carpenter (coder) can build a house without an architect? He probably can, but it might look like a doghouse instead of house. This is usually why we need architects. Get the point?
Sunit Katkar wrote: A very good article in a long time!! I completely agree with the author. Right now there is so much hype about Web2.0 and Ajax. It is supposed to solve world hunger if you believe some 'gurus'. What is Ajax? Just a Javascript call! The author forgot to mention that there are 'review' junkies too in this cadre who believe that the more the reviews, the more 'refined' the 'architecture'!
Great article!!
- Sunit
Sudhir wrote: In my view an architect is the one who has at one point of his life been through the code monkey cycle and shields the development team from erratic dreams of the CEO. It makes sense to be an architect in the long run otherwise whats the benefit of gaining all that experience you have. I have usually come across architects who are very developer friendly and insist on coding to suit the project/timeline instead of adding hi-fi technologies to make the project cool and this is very contrary from your observation
Richard Ouimet wrote: Perhaps you were unable to convince your friend because he had read some of your writing? Just how does someone, architect or otherwise, "creating presentations to audiences".
Many organizations out there don't really have to sell SOA. They understand that hype is the driver, and, in essence, leverage the thousands of articles and books on the topic to sell this architectural pattern. However, in most cases SOA has to be sold in the enterprise. If you're doi...
Well, Egenera - which has no market cap at all because it hasn't gone public yet - claims it is. IDC, which coined the term, defines 'Virtualization 2.0' as the next step beyond server virtualization replete with faster provisioning, high availability, disaster recovery, resource balan...
Service-oriented architecture (SOA) proposes a model of software as a distributed network of cooperating services, in contrast to the traditional, more monolithic application model. Operationally managing such applications requires a sophisticated management organisation and operating ...
Active Endpoints announced that the Fastenal Company has deployed ActiveVOS in multiple sales applications, empowering their direct sales team to respond more quickly than before to partner, inventory and pricing changes. Fastenal operates 12 distribution centers, a fleet of 275 compan...
HP announced a new release of its service-oriented architecture (SOA) governance software, HP SOA Systinet 3.00, which helps IT organizations use their resources more efficiently to deliver better business value from their SOA initiatives. HP SOA Systinet 3.00 helps increase the busine...
Managed Methods has announced the availability of their SOA management and runtime governance product JaxView 4.5. While providing full support for the SOA and Web service management for the IT operations, JaxView 4.5 expanded runtime policy enforcement features and expanded integratio...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice: