Architects during the transition phase
Cost effective or a false economy?
If you view the software development cycle from a RUP perspective, the transition phase is all about ensuring operational quality and moving the system into production deployment. Nothing new here, but what's interesting is that most architecture roles (certainly from my consulting experience) are mainly focussed around the start of the project life cycle. Of course, the start of the project is where all of the fun starts - complex decisions are made, designs are done, the architecture is proved and so on. Once the "complex" stuff has been completed, the time spent doing "architecture" typically decreases, with architects either taking on a part-time role, being involved in the hands-on construction elements or simply rolling off of the project. This raises an interesting question - how long should the architect remain on the project? Moreover, should the architect remain engaged with the project during the transition phase of the project?
Conventional wisdom says that software architects are expensive so it's in everybody's interest that they roll-off the project as soon as possible. In a consulting/outsourced engagement, this results in cost savings for the project (customer) and the architect gets to move on to do more "architecture" work elsewhere.
That's just one viewpoint and my take on this is that architects should absolutely remain engaged with the project until it comes to a successful conclusion. After all, architects are responsible for ensuring the non-functional requirements are satisfied and they probably have the best overview of the system from several different perspectives; ranging from the functional and logical views of the system right through to other aspects such as the system interfaces, security and the physical deployment. In my mind, losing this knowledge so close to the end of the project could prove disastrous, particularly if complex deployment issues arise and only a skeleton project team of developers remains.
What do you think? Should architects remain engaged with the project until it's successfully delivered and deployed into production, in either a full-time or part-time capacity? Or should they roll-off as soon as possible? Is this cost effective or a false economy?
Re: Architects during the transition phase
The Architect should be there from "Cradle" to "Glory".
http://blog.softwarearchitecture.com/2007/05/architect-is-accountable.html
Brian
Re: Architects during the transition phase
Re: Architects during the transition phase
By the way, when I say architecture I mean the artifact, the model of the reality.
Best regards, Peter
Re: Architects during the transition phase
I think an architect should see it through, but (as you suggest) it is often a question of whether the client is prepared to pay for it. The risk with only doing 'architecture' and then slinging your hook is that you loose track of the realities of project delivery and never get the chance to see and learn from your mistakes.
The project I am currently on is moving into the final acceptance and deployment phases (which I think is the same thing as transition) and I am grappling with this at the moment. As an architect I feel I am not really doing architecture, and yet I am clearly needed (I am running around like a nut trying to sort stuff out). To be honest, it is actually a bit demoralising (I am really just supporting everyone else i.e. I feel I have gone from 'font of all wisdom' to 'santa's little helper').
I think it is a) necessary and b) good for me! However, this is the first time I have been in this situation so I would welcome the opinion of more experienced architects...
Tom
Re: Architects during the transition phase
As we near go-live I'm actually acting as a BA (business analysis). I'm fielding a lot of questions from the customers/users and having to decide whether behaviour is correct, from a business point of view, or a defect. This is because I'm one of the few people who knows the whole system and what's it's intended to do.
My role has gone from:
Technical Architect->Development/Quality Manager -> Business Analysis
The high level view that a TA provides can really help a development team at the final stages of a project.
Re: Architects during the transition phase
My experience is slightly more bimodal than this - the architect gets dragged back in again at the end of the project to review everything. In many cases this is much like closing the door to an empty stable!
My very worst experience as an architect comes from being brought in only for the transition phase to "sign the implementation off". I've got a related article brewing along these lines, but it suffices to say that the project has since swum its way back up the waterfall and is now settling down inside its barrel for the next ride.
Re: Architects during the transition phase
Re: Architects during the transition phase
+1 to architects staying on.
Not to roll out another tired 'civil architecture comparison, but the architects of a building certainly don't bugger off as soon as the foundations are laid and the first couple of floors are in place.
However, the role of the architect changes over the course of the project (someone above already mentioned this). Your ultimate goal is to make your very presence unnecessary - you should be pushing information and knowledge out amongst the team (or better, into usable documentation, not just a brain dump).
Being 'the guru' can be good for the ego, but really, it sucks; it's just a glorified support role and you're not going to be learning a whole lot. The longer it goes on, the harder it is to extricate yourself.I think a useful way to minimize this is to ensure that you don't make all your decisions in isolation - the team has to feel like they own the system and the decisions and tradeoffs that have produced it. This includes development manages, senior developers, analysts and the business (if you're lucky enough to have truly engaged clients).
But..then again, architecture by committee is also a problem.
So, in summary: Yes. Possibly.
Simon is a hands-on software architect who works within 
