Software Architecture for Developers

Do you need an architect?

One of the things that I mention every time I do training or mentoring around technical architecture is that you don't just wake up one day and become a TA. From my experience, it's much more of an evolutionary path where you gradually take on more and more TA responsibilities.

Last night I ran a training session where we looked at what an architect might do during a typical RUP style project. With the full list of responsibilities defined, it was interesting to see that everybody in the room was already doing some of them. As I said, it's an evolutionary path to becoming a TA.

However, more interesting was that the same people said that some of their projects don't have a "technical architect". After the initial shock, this got me thinking. Do you really need an architect on a software project? Is it more important to have the responsibilities covered off by the team as a whole rather than having a single person looking after them? Is having a single point of contact and responsibility essential? Provided the role is performed (e.g. there is a defined architecture, quality assurance is being performed, etc) there are pros and cons either way.

What do you think?



Re: Do you need an architect?

Completely agree that it is generally an evolutionary path. It takes a certain amount of experience in different roles to build up the knowledge required to perform a good job as an architect. Equally, it is fair to say that not everyone is suited to a role as an architect - in my view it takes a certain "bigger picture" vision to be successful, and some people working their way through other roles on a project (developer, designer, or even pm) may not develop that vision.

Do you need one? I think having a single point of responsibility is hugely important. Where does the buck stop otherwise? Agreed that it is important to "get the job(s) done" and that they might be performed by a number of individuals, but having an architect to lead is valuable. Who is going to provide the technical coordination otherwise? How do you avoid warring factions on a project?

I may or may not be referring to a specific example, Simon! :-)<style type="text/css"></style>

Re: Do you need an architect?

You only need an architect if you have a disfunctional team. Any reasonable group of developers should have the skills to address any issues that need to be addressed on a project. With more people thinking about the design more problems are likely to be thought about in the early stages.

This will also mean the team has more personal investment in the project and a greater understanding of the requirements. But spreading knowledge around the team your also reducing the truck number as know single person is the "holder of the vision".

What is probably required is a chairman, someone who will make sure that everyone is picking up all the lose ends and that meeting are run in an efficitent manner, rather than becoming talking shops. This role however requires no technical or domain skills just the ability to deal with people.

Re: Do you need an architect?

I like to think of 'architect' as a role rather than a person. As such a functional team fulfills the architect role either through having a dedicated architect (or architects) or by taking on the architectural responsibilites within the team.

That said, in my experience development teams do tend to be more dysfunctional around the architect role - possibly due to a misunderstanding of the responsibilities - and would have benefitted from the addition of an architect (or at least someone who understood the responsibilities).

Re: Do you need an architect?

Yes, you need a architect. That is my experience from long dragging projects that never end.
There should be a technical resource with the big picture that knows whats important at the moment and who and how it is solved.
The role can be managed by two persons or in a project lasting for years it is a good idee to change roles from time to time.

It's not enough to have a project manager with people skills!

This is my experience.

Re: Do you need an architect?

No. We don't need another architect.

Traditionally an architect would design the whole building before giving the plans to the builders. In IT the word also carries a lot of BUFD baggage, an approach I am not interested in unless said architect carries a working crystal ball.

I think an architect is a combination of roles. If the architecture evolves then they can help guide that evolution. They can be a technical lead, tutoring the team and offering advice when things get tough. They can guide the client through the development process and help understand their requirements. They han help recruit new team members.

They cannot go into hibernation and produce an 'In-theory-this-plan-will-solve-all-our-problems-for-evermore' document.

Re: Do you know what you need to be an architect?

hello there, my name is Jorge Luis Ayala .. and basically i just want to know if anyone is affiliated or knows what you need to become a architect? Becuase i would like to become a future worker.. so please if you know anything can you reply because i am ascertaned to know please.. well thanks for you time and hopefully yall will response..

Re: Do you need an architect?

Completely depends on the project. If you have a strong team of develpers and they can carry out the vision themselves it is not necessary. Keep in mind that each programmer in this case must have a specific role and there must be a healthy communication between the team. If you hire a software architect it will be alot easeit to explain your vision to one person and have him do all the organizing and orchastrating. Hope thi helps!! Yavar

Add a comment Send a TrackBack