Friday, April 28, 2006

Arno Nel has blogged twice raising the question ‘What is Architecture?’, so I’ll take the bait.  There are many different definitions of architecture with everyone chipping in - IBM, Agile, Martin Fowler (who unsurprisingly differs with every else’s definition) … there’s even a IEEE Standard to define architecture!  So why all the confusion?  I think that most of the people reading this are actually more concerned about the role of architect, rather than the formal definition of architecture.  If you have been performing architectural functions for while and implementing good architectures, you have a pretty good feeling of what architecture is, regardless of the formal definition tossed up by a big blue vendor, an outdated standards organization or a bunch of academics in tweed jackets.

The reason we want to know what an architect is, is because there are lots of jobs for ‘architects’ and they earn the big bucks.  Search on a job site for ‘Software Architect’ and you will see plenty of opportunities at high rates – so why not figure out how to be one?  Microsoft has perpetuated this problem by trying to be the first to certify software architects in their Microsoft Certified Architect Program where techies with ten years of experience on any platform (yeah right – from Microsoft) may or may not be accredited by a panel of their peers at a cost of around $10,000.

To me, a bigger problem than defining the term ‘Architecture’ is coming up with a better term for the technical hero on the team who is ultimately responsible for the way the the system looks, feels, smells and behaves (all within time and budget of course); more colloquially known as the Architect.  When I am in an ‘Architectural’ role I find myself designing, coding, helping developers, investigating technologies, understanding the requirements, helping with testing and deployments, providing estimates, talking slowly to the project manager, interviewing resources, optimising SQL statements, and so on.  It looks like those functions go beyond architectural functions and cross many disciplines in software development.  I generally know the detail of how a particular business function has been implemented (even if I didn’t implement it) and can advise developers wanting to add functionality. Sounds like a bit more than 'architecture'.

Some discussions around architecture reflect this problem where architectural discussions are peppered with processes and statements such as ‘..extreme does not work well within an enterprise architecture’.  If architecture relates to how the bits and pieces fit together, how did we get to a discussion about development processes?  The answer is simple really; Architecture is affected by external factors and stakeholders and a good architect always knows where to compromise the ‘perfect architecture’ with useless users, under skilled developers, scarce test data, small budgets and whining executives.  So the architecture that we land up with reflects all the non-technical bits and pieces – development processes amongst them – but it doesn’t mean that a development process is any more part of the architecture (in a formal sense) than the guy with the pointy hair.  The Microsoft Certified Architect Program looks quite good to me and it reflects the functions that are not formally considered part of architecture with criteria such as leadership, organization dynamics and communication.

The amount of pure architectural work that an architect will do depends on the size and makeup of the project.  If you are the ‘architect’ on a smallish team where you spend four days fighting with VSTS to get it installed properly, you are hardly doing ‘Architecture’, but you probably are the one who designed the system and even if you’re not officially taking responsibility, it is highly likely that it is your head that will be rolling if things go wrong.

My quick definitions:
Architecture : The way the system ‘looks’ at the end of the project
Architect: The person who made it that way.

Simon Munro

4/28/2006 3:01:45 PM (South Africa Standard Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
 Tuesday, April 25, 2006
Technorati Profile

I’ve been suffering recently from TDS (Telecommunications Deficiency Syndrome) which is endemic to South Africa and is caused by Telkom.  This has affected my non-work web browsing, subsequent posts and general lurking on the Internet.

The summary of the problem is that I moved within my townhouse complex from one unit to another and six weeks later I still have not been able to move the ADSL line.  Funny that it is possible to organise a truck, movers, cleaners, boxes and cats when moving house, but it is impossible to get a guy in a Telkom truck to ‘re-patch’ four wires in a distribution box at the complex – even with a couple of weeks’ notice.

I could rant and rave, describing the weeks of frustration that I have gone through, but since the problem is endemic everybody has the same problem and I have nothing new to add.  No-one is really interested in hearing yet another rant about Telkom and neither do they care – particularly Telkom.  Talking about Telkom problems is like talking about the weather… a conversation filler when people have very little to say to each other.

(Jack and Bob are ex colleagues who meet in the frozen food section in Woolies)
Jack: Hi Bob, how are you?
Bob: Fine, and you?
Jack: Can’t complain.  How are you wife and kids?
Bob: They’re fine, but have had the ‘flu.
Jack: I can imagine, with all this weather!
Bob: Yes, it is unseasonal.
Jack: How are your Telkom problems?
Bob: The usual - high costs, no service.
Jack: Yeah, same here.  Been down for the last two weeks.
(uncomfortable silence)
Bob: (Shuffling) Anyway, my ice-cream is melting – gotta go
Jack: Ok, Bye. Good luck with the ‘flu
Bob: Thanks.  Luckily it won’t last forever. Bye.

It seems strange that Telkom made such a big deal about www.hellkom.co.za – does anybody really think that such a website will do anything to tarnish Telkom’s reputation?  Is it even possible to tarnish something that doesn’t exist?  Every Telkom consumer knows how useless and disinterested Telkom is – trying to start a negative publicity campaign about Telkom is like trying to start a group to communicate how much of a moron Mugabe is – no one will fund you as we know already.

I hope that you get through your current TDS with as little suffering as possible.

Simon Munro

4/25/2006 3:15:10 PM (South Africa Standard Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  |