Scott Bellware has written a pretty lengthy piece called "Mort or Elvis? A Question for a Bygone Era" (found via Sam). If you haven't already, go read it. Now. It's an excellent, thought-provoking piece, well worth reading.
I find myself agreeing with a lot Scott mentioned. I think he nails it with his opinion that the Microsoft personas used for VS product planning just don't stand up to reality. People just don't work that way, and it was probably that kind of thinking that got us stuff such as the "Architects do not test" debate. Furthermore, as he mentions, the whole Elvis vs. Mort rivality doesn't work, because both personas, as presented by Microsoft, leave a lot to be desired and are really disfunctional team members:
"I don't think that Mort is ultimately focused on delivering business
value out of some force of discipline, but because without much capacity for
more than quickly hacking out an unsustainable ball of
mud, he merely provides the appearance of being focused on getting a
business solution done.
Elvis and Einstein, on the other hand, are storied to be trying to solve
software development woes through first building yet another home-grown,
all-encompassing framework - an exercise in futility often equal to betting the
farm on software success through expensive tools for inexpensive
Morts."
To be fair, I do think up to a point that perhaps the whole Mort vs. Elvis/Einstein affair was a derivative of a decade old-rivarly in DevDiv: The whole VC++ vs. VB debate lives on today in the personas roles. It is also a derivative of what has been a duality of the customer base for Visual Studio: Commercial Software Developers vs. Business-Software Development (i.e. custom made software and business solutions), which have, up to a point, always had somewhat different requirements, at least as seen by Microsoft. I would say that DevDiv has a pretty nasty multiple-personality disorder, and the transitioning from a cost center to a profit center and the focus on just how much we can charge people for semi-working tools doesn't help quite at all. Fortunately, the development ecosystem in the community on the MS world has evolved enough to at least supply (or cover up the failings) of that same product set (NAnt, NUnit, TestDriven.NET and the multitude of publicly available tools and libraries).
I have Visual Studio 2005 Team Suite installed on my machine right now, and I will admit I don't use 10% of it's features, if at all. I use it as a decent text editor and build system (now that with MSBuild we at least have a decent project system). I use some of the refactoring tools in the IDE and the ASP.NET and Winforms visual designers, but none of the Architect/Testing tools, which I find rather lacking, personally, and just don't seem to fit the kind of work I'm doing right now.
"Software development isn't too hard. Software development is fun. It's a challenge - of that there's no doubt. And sometimes it's a tiger that won't be tamed. But software is never fun when it's undertaken on a traditional team in a traditional organization that is hell-bent on sticking to antiquated value systems and practice systems that have rarely produced the kinds of successful products and people that practice systems like Extreme Programming produce."
In defense of my proffesion, I will say that I totally agree with Scott that software development should be fun. And a project were anticuated, never-functional rules and paper processes are more important than common sense and getting things done is a living hell. Been there, done that, I don't want to go back. Ever.
