Does anyone have any good suggestions, based on experience, for dealing with a VP/CTO who doesn't come from a Software background, but is very self confident in the ability to architect software and software development processes, even though all of the experience and recommendations are against industry standards, and often technically and industry incorrect?
Start looking for another job - you're in a no-win situation. If you lose the technical arguments, you may well find yourself trying to build the impossible. Even if you win the arguments and get to build things the right way, you'll still be left with someone who outranks you and probably holds a grudge.
Yes, that is the exact description for my VP. He is constantly trying to tell us how to build software, and is extremely backwards in his ideas about how to go about it. Unfortunatly since he is the VP there isn't much we can do about him. Sometimes when he gets real outside the abilities of the technologies he wants us to use we have to try and bring him down a few pegs but usually the only thing we can do is try and build it the way he wants it the best we can, even if it means building it against industry standards and sometimes causes more work/bugs then it should. About the only time he sees that he doesn't know what he is talking about is when something blows up in his face and we have to explain why to him. I guess the long and short of it is there is no way to deal with these people from my experience, other then trying your best to give them what they want. It means more work from you and your team, and some of the cloogy code you have to come up with will make you cringe and want to cry. But they are the boss and there isn't much to do about it. :)
Be honest with him. You are the technical expert, and there is reason that you were hired. If he suggests something outrageous, tell him plainly and clearly why it is a bad idea. Do your absolute best to keep emotion out of it. If you behave professionally, chances are you will be treated professionally.
If clear explanations, honesty and technical expertise do not sway his opinions, polish up that resume!
See if you can get him to go with you to some software development conferences, like Agile 2009. Maybe he'll become the "expert" in a good development process. My boss wasn't clueless and actually listened to me, but he did unlearn some misconceptions by attending a conference where good practices were espoused as accepted fact.
I'm dealing with that exact same situation right now and it took me FOREVER to try to figure out a solution that would allow me to sleep at night......and here's my advice....
Agree with him. The only option you have is to let the boss be the boss. If you don't, then you will come across as an argumentative know-it-all. Let him create the plans. Even come back to him, often, to ask for guidance. Once he figures out that your not against him, he will listen to you a lot more. The tough part is letting go, and doing something that you don't think is perfect.
I know it sounds weird, but it worked like a charm for me. It's like I flipped a switch. Once I gave in, apologized for being "preachy", and started agreeing with him....he started to ask for my opinion on a daily basis.
Feels weird, but boy did it work.
personal life lesson: when the VP of IT asks you what you think of his "vision" for the company, "you don't have one" is not the answer he wants to hear, no matter how politely, privately, or positively this information is presented.
we've all read dilbert, and many of us have lived it: be wary of programmers bearing screwdrivers - and even more wary of non-technical managers wielding buzzwords
if your relationship with this individual is strong enough for you to coach/teach him/her, great. Otherwise find somewhere else to go before you become a political (for opposing His Wisdom) or technical (for implementing His Wisdom) casualty.
A lot depends on your experience and your situation.
For example, if this is a job early in your career (i.e. just out of school), then you are probably a junior in the organization, and you have only two realistic options: leave, or agree with the boss. (as stated in other answers).
If you are in your "middle years", then you have to weigh what you have to gain against what you have to lose in trying to change this person's behavior vs. agreeing or leaving. If you are a technical expert with some communication skills, then you may be able to become an advisor to this person and help persuade them in positive technical directions.
Having a VP/CTO who is on the side of the developers is a powerful ally, and may indeed be worth cultivating.
Finally, if you are a consultant (thinking more senior, here), then you again have two options - play "yes person" and collect your money, or speak the truth plainly. NOW - if you are a communicator (and you should be if you are a good consultant), then again offering to mentor the VP/CTO may prove most beneficial. That is - tell him the truth, but IN PRIVATE. Then let him champion the correct ideas as you collect your pay.
Generally, the more senior you are, the more you should seek a "win-win" solution (yea, I know - overused). There's nothing wrong with helping the boss be "right" as long as you don't get shafted in the process.
-R
I too have encountered this issue, As mentioned in the previous answeres the best approach is a rational one. Let him make a suggestion. Then put your suggestion on the table. Weigh out the pros and cons of both solutions. If the guy has a business background put a business spin on it.
Hopefully he can see that you have the best of solution or maybe there is a compromise to be reached.
Failing all that see if there is any metrics available to prove your solution works best.
Ok being the devils advocate here, but occasionally, yes this is only occasional of course, your non-technical boss may actually have VERY useful ideas that a person with technical training might never think of, because we inherently tend to follow the steps of success of others in our field, but harnessing this lateral thinking may become a great way to get an advantage to create a unique product and gain advantage over your competition.
I mean your boss, became a boss most likely because he is a fairly intelligent person, there are exceptions, but I've not met many Bosses who are really flat out stupid as we all like to joke about.
As Einstein said:
Logic will get you from A to B. Imagination will take you everywhere.
I've always used a structured decision analysis process to convince my boss to agree with what I felt was the best idea (and in the process of doing the analysis I have on occasion found that I didn't have the best idea - the benefit is by doing the analysis I did have the best idea before going to the boss). Bosses love to see things quantified and anything can be quantified using this process.
First get the boss and yourself to agree on the most import factors the solution must provide and the wieght you would give to them. Things like performance, security, etc.
Now go back and pick out three or four possible solutions (including the one your misinformed boss might be likely to suggest). Assign a number from 1-5 for each solution against each factor. Then multiply by the weights you boss already agreed to and add up the totals for each one. You will almost always have a clear winner. See example below:
Factor Weight Solution1 Solution2 Solution3
Factor1 5 1|5 3|15 2|10
Factor2 2 5|10 3|6 4|8
Factor3 1 5|5 4|4 3|3
Totals 20 25 21
Solution 2 is the clear winner with 25 points
The key is to have your boss agree to the weights on the factors before discussing any solutions and then to set the values for each factor for each possible solution (you are the technical expert). Even though these values are subjective, I have never in over 30 years had a boss turn down my proposed solution when I showed it to him numerically like this.
He will also feel he contributed to the solution because you asked for his advice on the weighting factors and will thus be less likely to propose another solution just to prove he's the boss. But if he does or if he wants to change the actual numeric score you gave a factor, just run the numbers for the new idea (again he has already agreed as to what factors he thinks are most important, it's not your fault his solution doesn't do well at meeting those factors) or with the revised figure. Likely the best solution will still win because you still pretty much control the outcome because you set the values.
The boss will also like this because he can then show the analysis to his boss, showing what a good manager he is for doing this kind of detailed analysis.
And if you get him trained to expect this kind of analysis, he will start to wait for the analysis before making suggestions.