A plea for Architectural training
If architecting is a skill how can it improved? There is precious little architectural training available, probably the most comprehensive non technology specific architectural training being from the SEI. This lack of architectural training is a very serious problem for the IT world in my opinion. Whilst I would agree that there is a certain amount of skill or art in being an excellent architect there is still a lot of grounding or first principles of architecture that can be taught. I believe that if we are to improve the quality of software architecture then we need to start to teach these architectural principles rather than allow new architects build them through trial and error, often with disastrous and expensive consequences.
It has been centuries since architects in the building world were allowed to construct large scale buildings by trial and error, although that is certainly how it was originally done as evidenced by the large number of cathedrals that fell down. In the software world however we still create major systems by trial and error, costing billions of dollars a year in failed projects. Many of these could be avoided if the architects in charge had had some simple training and education.
Why is it that no one offers architectural training? I believe it is because it is not in any organisations interest to do so. Companies selling services are really selling architectural skills, along with the project management and developer skills to undertake the implementation. In most cases they use the general lack of architectural skills and expertise in their customers as a key to the sale of their services. In my opinion the last thing these services organisations want is a pool of skilled architects in their customer base.
The other obvious source for architectural training is Universities or other places of higher learning. It is a mystery to me why these do not offer Software Architecture courses. The Universities I have spoken to say that there is no motivation for them to provide new courses unless students or industry drive them to it. All the time there is little understanding of the importance and value of software architecture then there is no demand and so the Universities do nothing.
The snag is that for most of the life of the IT industry the answer to any failing project has been a magical sliver bullet; either technical (PC’s, Distributed computing, Client Server, OO, CORBA, DCOM, etc) or process based (CASE, RUP, Agile etc). However I think that software consumers are beginning to realise that there is more to a successful software project than using the latest technology (CVware as I rather amusingly heard it called the other day) or the flavour of the month design process and that a project will fail if it is not built using good sound architectural principles, in fact most projects do fail for exactly this reason.
My fervent hope is that this dawning awareness of the value of Software Architecture will cause the development of good architectural courses and an improvement in the level of architectural skills in the IT industry. Then at last we can start to decrease the wanton and profligate wastage of resources and money in our industry caused by the lack of good architectural practise. I also hope that it will stop people saying that Windows doesn’t scale when a project doesn’t meet the scalability requirements!
Please note these are my personal opinions and not the opinion or direction of my employer.
Comments
- Anonymous
January 01, 2003
The daily list of stuff I found interesting while blogreading. - Anonymous
February 09, 2004
I totally agree with this. I work for a company that will pay for ongoing training, but I can not find suitable courses that go beyond the "ASP.Net in a nutshell", or other traning courses for MS certifications. I'm looking for courses on architecture (doesn'thave to be .Net specific), and can't seem to find much at all; especially in my area of the U.S.
I know of a Paper company in the U.S. that was disgruntled with the level of knowledge of their business in the people they were hiring. There really wasn't a good way for people to learn the skills that made it easy for them to pick up the jobs that the company needed. They solved this by talking with a local university and created a set of courses, offered through the university and taught by industry veterans and local professors. After someone completed the courses their name was put on a list of people to call when new positions in the company opened up. Perhaps the Industry DOES need to take this issue to the world of higher education and work up something similiar. Perhaps a set of courses on architecture, focusing on real world, current models, would be just what we need. - Anonymous
February 09, 2004
The comment has been removed - Anonymous
February 09, 2004
The comment has been removed - Anonymous
February 09, 2004
The comment has been removed - Anonymous
February 09, 2004
I have to agree with Udi on this one (see previous comment). As a software developer, the range of my personal knowledge has coming from two areas: trial and error and learning from other more experienced people in my field.
There always has to be some trial and error when learning a new language or new platform (to push the boundardies), and I think it's difficult to progress one's career without practical experience (i.e. real world). - Anonymous
February 10, 2004
The comment has been removed - Anonymous
February 10, 2004
Sorry not to reply earlier, I was running a conference on MDA and only just got back online. To answer the comments:
I agree you need to be careful positioning architecture because everyone thinks they know how to do it, even when they dont!
I am less sure about the architects need to code, I will write a blog about this in the future.
thanks for the feedback - Anonymous
February 17, 2004
The comment has been removed - Anonymous
February 17, 2004
The comment has been removed - Anonymous
February 17, 2004
It just so happens that we (developmentor) have a .NET architecture and design class. I've just returned from Redmond having presented the second run to MS architects and developers
I believe one of the key things here is – what is an architect, or should I say what do people perceive as the role of an architect?
I’m of the belief that people base what an architect does upon their own career path and the size of organization in which they’ve worked
For example – a developer from a small software house would describe an architect as a person who defined the application framework, chose C# because he was good at it and came up with the data model as an after thought. On the flipside an architect from Morgan Stanley would know C# was the correct choice based upon several millions dollars of research (and told 1000 VB.NET programmers they’ve got to change!). Chosen application, security and infrastructure architectural models based upon industry practices and standards and if you talked to them about anything other than the technology acronym they’d glaze over, or have a meeting to go to.
Basically, I’ve concluded that only large organizations have separate individuals who are pure architects (and that’s all they do). Other organizations have designers who assume the role of an architect.
In cases where designers have been re-titled to ‘architect’ separating them from code is almost impossible. The definition of a designer is that they should be platform experts, which inherently means they come from development backgrounds.
I personally find that the title ‘architect’ is not always appropriate, which is why perhaps we get confused i.e. should architects dabble in code/technologies. Here I would suggest that the person meddling isn’t an architect (in the purest sense anyway). Here the person is a designer who has taken on the title of architect due to what are normally economic reasons i.e. the company is not of a size to warrant employing an architect and designer.
A - Anonymous
February 17, 2004
The comment has been removed - Anonymous
February 17, 2004
Hi Michael,
Thanks for the vote of confidence in the course ;-)
I'm intrigued, or simply misinterpreting what you’ve said, are you saying modeling is just for architects?
A - Anonymous
February 18, 2004
Well I only saw the outline, not the course!
No, there are multiple levels of modelling just as there are multiple levels of architects and designers. Everyone works with models, just different levels of models. - Anonymous
February 21, 2004
We (newtelligence) will start an (English) architecture training series later this year. - Anonymous
May 25, 2004
The comment has been removed - Anonymous
June 05, 2004
3dsky digital Inc has a computer rendering and animation division, we are experienced and provide quality computer graphics at the lowest possible prices. we bring your architectural paper designs to life, so it is easy for your clients to see how the building looks like when it is finish. architects, real estate developers, facility owners, city planners, interior designers, and landscape architects who require quality renderings benefit from our realistic presentations.