Some context upfront:
Imagine a 200+ developers company finally setting up a more or less independent architecture team/department. The software portfolio consisting of 20+ ‘projects’/applications of varying sizes in production was taken care of by team-leads/technical-leads, who were responsible for and in charge of the projects ‘architecture’ as well.
Out of the necessity to consolidate and control the architecture and enable certain needed large reworks on the systems as a whole, in addition of the all so needed knowledge exchange, the company decided to set-up an architecture department.
-
What are the DOs and DON’Ts of such an undertaking?
-
Who are the people making up such an architecture team?
-
What should be their responsibilities?
-
What’s out of their scope?
-
What are the useful transition strategies for the company?
-
How to prevent those wry looks every time someone even mentions ‘the architecture team’?
-
Did your company undergo such a change already successfully?
Why did it fail?
Why was it successful?
That’s should not be a discussion on ‘What is architecutre?'(which is very closely related ;).
The really interesting points would be acceptable/realistic maybe even frictionless ways to install such a team, besides of course some warnings regarding battles better not to be even started.
Here are a few issues that should be thought about:
My friend, you have a tough road ahead…
The first step is to be crystal clear on what the architecture team is supposed to achieve.
Why are you putting the team in place?
Are you trying to unify all the applications, develop a common framework, what?
What is the mandate and the vision for this team?
Whoever the lead on this team better have kick a** interpersonal skills.
It should not be the brilliant coder that can whistle the star wars theme song and make light saber noises… but he should probably be on the team in a technical capacity.
You should probably populate the team with people that are familiar with the majority of the projects. I would be wary of selecting all the current leads, as that might take a big chunk of knowledge from the current teams. And let’s face it, those teams have to be productive while the architecture team comes up with its own deliverables.