I saw some previous posts here abour Software Architect role so decided to ask this question.
About 8 months ago I ended up as a senior .NET developer position on a brand new ASP.NET project building web application from ground-up for a large federal client(US govt). Everything here seems normal except for one thing that I found extremely unusual - person who's offical title was "Senior Software Architect". I worked with architects before, some of them were better, some of them worse, but never seen one who so technically incompetent. Just to give you a better idea on what his technical level is, he recently asked us what's a difference between "IDisposable" and "IEnumerable", or what "Protected" class member variable is. On the other hand he is very good at communicating with client, interpreting their requirements for developers, working with database team when database when we inform him database change need to be made. He does lots of things on a project, just doesn't "architect" software, because technically not capable of doing so. He is also very good at hiding this deficiency from project senior management, usually by deferring technical questions to me and other developers.
My question is - do I understand "software architect" role correctly and what should I do in this situation. My options seem to be:
1) Leave the project.
2) Treat him as great business analyst and just ignore the rest.
3) Inform high level management of this situation as they completely unaware of that.
Which option would you choose in this kind of situation? Are there any other options that I don't see?
Thanks for the answers.