1

I'm in RFP phase on a 100% re-code of a fully functional asp.net prototype. The prototype was reverse-spec'd into a detailed requirements document and a full set of wireframes.

I can understand the need for a database designer, however, who should be doing the application module architecture? And I'm meaning that at the "big methods" level rather than "small sub-systems" level.

Is that something an "architect" needs to do, or is that something a lead programmer analyst should be expected to do?

4
  • 3
    It's something any programmer should be expected to do...
    – Telastyn
    May 7, 2016 at 22:45
  • 2
    Certainly, the lead programmer should be capable of doing it. Probably the architect as well. Whose actual job it is would be determined on how the organization defines the particular roles, and by the skills of the people who fill the roles. Basically, it is up to >management< to decide.
    – Stephen C
    May 8, 2016 at 1:38
  • Is there a generally accepted job description for 'architect'? Every company seems to.mean something different by it
    – Ewan
    May 8, 2016 at 17:13
  • You have architects which are not also lead programmers? Fire them, a software architect who is not also a great programmer does not know what he is doing. And do not come up with any comparisons with architects for buildings, these comparisons completely miss the point.
    – Doc Brown
    May 8, 2016 at 20:18

1 Answer 1

1

I'm going to share my opinion, based on how my company assign staff to the projects. Obviously, every company has its staff management.

First question is: Do I have an architect assigned to my project?

If yes, then architect sould give to lead programmer the basics of the strategy. Or design it atleast. When architects are involved into a project, they are the main responsable of any important techincal decision. To define the architecture and the modules that should be, with their respective features, etc... Lets think on a huge enterprise application. We rather let architect to make these decisions.

Finally, lead programmer should be capable to take it forward. If our leader programmer has experience on such tasks...

Leader programmer is often seen as a Senior Developer (experienced and high autonomy) but it might not be always in that way. Leader programmer can just be someone with high knowledge of the product/system/application. May be just knowledge related to the business. Might be also profident on project's technologies (tools, frameworks,etc.) but it doesn't means he/she has skills of software design or architecture.

I can be an excelent mechanic, but it doesn't make me Engineer. Right?

Lead programmer skills/capabilities aside, the important thing here is to know each member's role and responsabilities.

As @Stephen C said:

It is up to management to decide

Finally, if there's no architect, there's no question. The most experienced developer should be in that charge. However, Project Manager should be aware of his/her leader is not an accomplished architect and it's a risk to take in account.

Your question is open to many answers and probably only few ones will suite in your case. So don't think on these answers as law. Be flexible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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