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.
About Joe Winchester Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.
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 ...
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 co...
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 hy...
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. Pe...
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 hum...
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".
This is the story of a
Mac application developer
(okay - it's about two of
them) who set out on a
quest to find an
application development
tool based on Java so his
boss would let him
develop on the Mac
platform, which he loved.
There was only one catch
- he had to find a tool
th
SOA is mostly associated
with technologies such as
BPEL, SCA and Web
Services. But does SOA
really imply these
technologies? In this
session we will show how
you can use the service
oriented approach while
staying inside the Java
world. jBPM is a powerful
lightweight framework th
Any large Java source
base can have insidious
and subtle bugs. Every
experienced Java
programmer knows that
finding and fixing these
bugs can be difficult and
costly. Fortunately,
there are a large number
of free open source Java
tools available that can
be used to find and fix d
One of the things I
really enjoy at the
moment is the recognition
and adoption of agile
programming as a fully
fledged powerful way to
deliver quality software
projects. As its
figurehead is a group of
very talented individuals
who have created the
agile manifesto
(http://agilema
Sun Microsystems
announced it has entered
into a multi-year
agreement with On2
Technologies to add
comprehensive video
capabilities, using On2
Technologies TrueMotion
video codecs, to Sun's
JavaFX, a family of
products for creating
Rich Internet
Applications (RIAs) with
immersive
Conference in San
Francisco. Dvorak held
forth on a number of
topics, including the new
AMD/Intel lawsuit, the
viability of Java and
Sun, the value of (or
lack thereof) of
corporate PR, and whether
or not a new book about
Silicon Valley is really
worth reading.
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: