Wednesday, July 14, 2010

All the lonely people, where do that all come from?

I've ranted that Microsoft products are designed for big shops. It seems that other folks agree -- although they don't think its a problem.

The July edition of DevProConnections magazine has a guest editorial bu Juval Lowy. (Mr. Lowy is a software architect and a principal of IDesign, specializing in .NET architecture consulting and advanced training. He is also Microsoft's regional director for Silicon Valley.)

His editorial advocates for the positions of architect (an expert in Microsoft Windows Communication Framework), UI designers (experts in Windows Presentation Framework), and technical business analyst (in reality a Microsoft Workflow expert) for each and every development project. In his words: "until industry adopts the design role ... the technologies introduced with .NET 3.0 won't deliver on their potential" (emphasis added). He compares the need for these distinct roles to the need for separate QA members of the development team.

My impression is that this position is at best justification for his consultancy, and at worst a symptom of technology run rampant. In his view, a development team must have the three specialists for WCF, WPF, and WF, in addition to a dedicated test team, before you hire a single programmer. That's a lot of people (and a lot of salary dollars) for a project. (And remember, Lowy recommends this configuration for each project!)

Microsoft systems and tools are designed for big systems and big customers. The large, dozen-programmer projects can afford these distinct roles, and probably should have them. But lots of projects are smaller, with perhaps one or two developers who also run the tests and support the customers. Those projects would be hard pressed to hire additional staff for specialists.

If the technology is so complex that you need multiple people to make it work, even for small projects, then you have failed. At least, you have failed for a large number of potential customers. You succeed for the largest projects, where work is outsourced to multiple teams and you have a big consulting shop on site to manage the project. Big consulting shops make money by supplying resources, and the logic of distinct roles means that can supply the bodies ... and bill for them.

I recognize that the views are Mr. Lowy's and not those of Microsoft. Microsoft may agree or not. Their recent advertisements have proclaimed "designed for big", so they quite possibly may agree.

But in my mind it is the wrong approach.It is chasing the big money and ignoring the little guys. In the short run, yes it works. But things change in the long run. In the long run, the little guys get bigger, and they will remember the tech that made them successful. And they will most likely stick with the tech that they know -- which won't be the big-team tech from Microsoft.


No comments: