Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

MS Consulting : One Consulting Company To Rule Them All

warning: this post is based on highly ignorant beliefs and huge generalizations. I know that there already is a Microsoft Consulting branch, but the one I'm speaking of is completely made up –since I know nothing about the existing one.

A company who seeks out a software consulting firm to help build [part of] a custom application likely has a simple incentive: to receive a functioning application at a fair cost. There are many reasons why a company might turn to a consulting firm – the main ones probably being lack of time and/or resources.

The problem with software consulting firms is that their incentives likely don't line up with their client's. A consulting firm's objective is to make money. The two goals aren't necessarily irreconcilable. A happy customer can certainly contribute to a consulting company's bottom line, through repeat business and word of month.

Of course, there are a lot of ways for a consulting company to achieve its goals that aren't in the client's best interest. A consulting company might produce low-quality code which may or may not be functional. They might charge to fix errors in their own code. They might charge unfair rates for more junior developers. They might share resources with other projects (which may or not have been agreed to). In fact, there are more ways that a consulting company can squeeze a dime out of a clients hand than I care to think about.

In my limited experience, large consulting companies are more likely to serve their own interest because they are (a) not as concerned with word of mouth (i.e. they have a world-wide recognized name) and (b) are interested in volume business. As a matter of fact, I know of one very large consulting company which rates its employees based on how well they represent the consulting company, but doesn't have 1 field in their review which recognizes their contribution to the clients goals.

This is far from a unique or new problem. For example, most of us are at our mechanics mercy when it comes to any car issues we might have. At a high level, the solution to any of these types of problems is to align both parties' goals as best as possible.

Enter Microsoft.

Assuming we are strictly talking about Microsoft technologies, Microsoft is best positioned to solve the problem. You see, Microsoft's incentive, like consulting companies, is to make money. What makes them different is that they make money by selling software – not services. Their service offering, in this case Microsoft Consulting, could be set up as a loss leader. They could offer consulting services at-cost, run the entire division as not-for-profit and completely transparent to clients, while increasing their product sales and client goodwill towards them.

In a recent project I was involved in, the client completely abandoned the Microsoft platform due to horrid execution by the contractor. I have no doubt that, by no fault of its own, Microsoft lost millions in software sales.

Running in non-profit mode, Microsoft Consulting would be able to offer stupidly better rates than any other major player.  For $500/day, Microsoft Consulting could provide a consultant that others would easily charge $1500 for. The overall drive for quality would also be somewhat better aligned with the client's expectations.

Of course, there are flaws with my approach. First, it assumes that Microsoft Consulting is able to deliver quality products, hire quality developers and properly manage them. Secondly, since they make their money on software sale, they aren't likely to suggest MySQL or SQL Server Express – even if they happen to be the better choice in a particular case.  Consultants would likely be pressured to push Microsoft technologies that really aren't necessary (i.e, build something for InfoPath and require the company to buy 3000 copies of the program).

Another solution would be for Microsoft to stop giving out partner points and certification like candy – actually make companies earn and prove their capabilities. My understanding of building an Xbox game is that Microsoft has to approve the game before it can ship. "Gold certified partners" or whatever should have to go through the same scrutiny and go through it often. I'd be the first to apply for such a job. Not doing so just hurts them in the long run.

Something needs to be done to solve the issue. There are small companies out there which specialize in architecture review – which I think anyone spending a fair chunk of change on custom software should consider doing.  Independent reviews are key – else you'll get screwed big time. And Microsoft's responsibility doesn't stop once VS.NET is shipped – they owe it to their own brand to ensure their tools are responsibly and properly used.

 

This entry was posted in Grab a coffee before reading. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

8 Responses to MS Consulting : One Consulting Company To Rule Them All

  1. karl says:

    that’s pretty funny Joshua :) I hear what you are saying but that’s no different than any other company/team out there…they all have their way of doing something, and there tends to be a lot more wrong ways than right ways.

    I was hoping that because it would be a not-for-profit they would be able to afford better “Architects” and leads and such to ensure that code quality IS good.

    But yes, even so, some bigger dept might decide to push them around and say “this is how it has to be done”.

  2. It isn’t just the produce suggestions like Biztalk or Infopath that would be a problem – you would also end up with an application designed “the Microsoft way”. And I don’t mean the way Microsoft builds their own products, I mean the way Microsoft expects you to build your products, using their tools.
    Which means:
    DataSets!
    Drag and drop architecture
    Code-behind is all the separation you need for your view from your business logic.

    So while you’d get some nice help to build the application initially, you will end up with an unmaintainable application. Code quality isn’t just a low bug count.

  3. You say Micro$oft’s incentive is to make money from selling products.

    The reguler consultant’s goal: As many hours as possible
    The Microsoft consultant’s goal: Sell as many Microsoft licenses as possible

    If I were the customer I’d kick them both out the door.

    :)

  4. Mark Brackett says:

    Perhaps MS could require MCSD and MCA candidates to do a stint in their consulting army. Throw in some MCSE’s to run the systems, and you’ve got a steady supply of cheap labor. It may even drive MS to toughen up it’s certification requirements (as I understand it, the MCA Architecture cert is already tough – but just wait a few years) which would increase the value tremendously.

    But, yeah – just the thought of the sales pitches that would ensue is enough to turn me away. Plus, isn’t that what IBM and PeopleSoft essentially do (except the low rates, I suppose)?

  5. karl says:

    Jeremy,
    You say invalidated, I say found a flaw.

    But I did give it some thought, and I think the advantage you’d have is that, in my opinion, it’s easier for a client to catch the “you should use Biztalk” here line versus detecting really crappy code.

    Even an I.T. Manager with experience in programming should be able to tell a salespitch for what it is. You’d probably need a superstar programmer, or a couple good programmers, to catch sneaky consulting firms. Either way it’s really good to have a superstar programmer on “your side”, but they tend to have little authority/decision making.

    But yes, it’s a major flaw.

  6. jmiller says:

    Karl,

    I think you’ve pretty well invalidated your own idea:

    “Of course, there are flaws with my approach. First, it assumes that Microsoft Consulting is able to deliver quality products, hire quality developers and properly manage them. Secondly, since they make their money on software sale, they aren’t likely to suggest MySQL or SQL Server Express – even if they happen to be the better choice in a particular case. Consultants would likely be pressured to push Microsoft technologies that really aren’t necessary (i.e, build something for InfoPath and require the company to buy 3000 copies of the program).”

    I’ve done a project that was co-delivered by MCS. I thought a great deal of our MCS consultant, but one of my duties was keeping the “you should use BizTalk here” suggestions under control. It isn’t just the product placement either. They also have an institutional aversion to any kind of OSS tool as well. All they can do is follow the MS line, and that’s certainly not always the best path.

    Of course, you get access to *their* special FAQ system and internal support system that seems to have all of the answers. They probably even know what the question to 42 is.

  7. karl says:

    Don,
    Thanks for the great feedback. Like I prefaced (and you pointed out), I’m quite ignorant on most of this and you’ve helped remove some of that (which is the reason I blog).

    (i still think my idea is good 😉 )

    Cheers,
    Karl

  8. Don Demsak says:

    Karl,
    Microsoft Consulting Services use to be a non-profit area within the Sales Division, just like you suggested. But sometime in the last couple years they switch to a for profit group. Back in the day, because they were a non-profit (like you suggested) they would only take the high profile gigs (ones where they needed to make an impact and thought it could sell lots of licenses, like you suggested). The problem with this approach is that only the high end spots are deemed worthy, and all the other projects get ignored, so it didn’t solve the problem they way you thought it would.

    BTW, $500 a day is $62.50 an hour. The average .Net developer makes $85K a year. If you use my Consulting Rate Worksheet to convert between salaries and consulting rates (http://donxml.com/grokthis/archive/2003/12/18/Consultant-Rate-Worksheet.aspx ) you will find that your $500 a day bill rate can’t even cover the cost of the salary and benefits, no less the extra cost of admin overhead. And that is for an average developer, not the higher quality developer that you would expect from Microsoft.

    Most people have no clue how much their salary and benefits really cost. Add in the fact that even fewer know how to convert a salary to an indivudal consulting bill rate, and then add on the fact that even fewer understand the cost of the overhead of a large organization, and you get comments like “Microsoft Consulting can charge $500 a day for consulting”.