Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

There are plenty of questions/answers about what an architect does, but what should someone in an Architect role NOT do? What are the boundaries/limits to maintain to be an effective Architect?

I'm thinking here of Architect vs Developer and Architect vs Project Manager

For example, I'm finding myself in a role where my title is Architect but I am also the coding/development lead and project manager on multiple small enterprise projects. I'm struggling with all the task switching and now I want to limit task switching. Trying to wear every hat just isn't working.

What tasks should an Architect not do at all?

What tasks should an Architect limit? I do think an Architect needs to keep coding, but how to define an appropriate limit for coding work?

share|improve this question
4  
The answer to your question is going to be highly-specific to your work environment. Welcome to the world of management; if the One True Way™ existed, there would be no need for making management decisions. :) –  Robert Harvey Dec 14 '12 at 17:16
1  
Like almost every title in software development, 'Architect' has different meanings to different people. I'd figure out what's expected of you (regardless of title) and decide it you're OK with that or not. –  John MacIntyre Dec 14 '12 at 18:23
    
An architect doesn't ask these questions :) –  user42242 Dec 18 '12 at 20:54
add comment

4 Answers

Architects should not take responsibility for managing people - e.g. allocating people to projects, budgeting, measuring and reporting time, organizing of skills development, objective setting and feedback.

That is not to say architects should not have a say in any of the above. However, these tasks are better assigned to a project or people manager who has the time to concentrate on these rather administrative tasks, while the architect takes care of the technically sound implementation (in a nutshell).

share|improve this answer
add comment

It's not what the tasks are that's causing difficulty, it's how you're managing your time. Write down a list of everything you need to do this week, then schedule it in an order that minimizes context switches. Instead of spending an hour a day on something, combine it all into one day. Set aside time twice a day for answering emails. When something comes up, instead of trying to handle it immediately, put it on the list and handle it at a more convenient time. After that, if you're unable to get to everything, you'll have a prioritized list showing why, and can more easily decide what to drop.

share|improve this answer
add comment

As an architect it is important to continue coding because otherwise your designs will be either outdated (based on old technology and not taking advantage of changes) or untested (based on technology you have no direct experience with and thus will not be able to assess the true impact).

I don't believe in "pure" or "big A" Software Architects. If your hands aren't in code regularly, you lose touch with reality. That being said, you shouldn't be coding individually. You should be pairing with those tasked with implementing your designs so that you can help on the more difficult tasks and identify shortcomings and revise on a regular basis.

I think that this approach will allow you to keep your head up and stay abreast of any managerial issues that arise, while also being effective as a technical lead.

share|improve this answer
    
+1: I know many "architects" who haven't written a single line of code in years. –  Deco Dec 20 '12 at 3:04
    
Shameless plug: Pick up 97 Things Every Software Architect Should Know, I contributed two passages in that book. –  Mike Brown Dec 20 '12 at 19:02
add comment

Depends on who is around you -- if you are the only person on the project, then by default you are the architect, the developer, the project manager...

What should the architect not do? Any tasks that can be completely and successfully delegated to someone else. Ideally you'd want to delegate tasks that would be difficult for you -- for instance, if you are not a front-end developer, you'd want to delegate as many UI tasks as possible.

The most important part is to leave those delegated tasks alone, and trust the person who is working on them -- the temptation can be to micromanage, but that just defeats the purpose of delegation, and keeps your plate crowded.

The architect should not hoard the Difficult and Important Tasks simply because the architect feels an obligation to work on those -- it's possible to delegate work while providing guidance and direction, so that the design still follows the architect's vision.

share|improve this answer
1  
+1 for asserting that architects can and should delegate, while keeping the overall responsibility. –  miraculixx Dec 17 '12 at 0:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.