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 Elvis and Einstein, on the other hand, are storied to be trying to solve
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.
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.