Visual Studio: Microsoft should simplify producing quality software

I am looking at features of different versions of Visual Studio and I less and less understand how and why is the quality of software handled as fun of few seasoned professionals. Although Visual Studio is best development platform I have ever seen I really don’t understand why Microsoft hates people who want to provide quality to their customers.

Usually n00bs and start-ups start with minimum versions to get their work done. Many of them start with some version of Visual Studio Express or cheapest one of the full versions. These products have this far caused me hell load of problems because specially n00bs have no way how to control or measure the quality of their work. n00bs make also a lot of stupid mistakes and they need some way to rollback those mistakes. And don’t forget how many other mistakes n00bs can make. Now let’s put it all together and see how hard is for n00bs to get started their professional life on Visual Studio.

  • No advanced debugging – there is IntelliTrace but not for guys who need it at first years almost every day. They have to waste their and their seniors time to get mysteries solved. I need IntelliTrace rarely because usually stack trace of Exception is enough for me. But I have seen n00bs who try to debug their applications using only message part of exceptions. IntelliTrace is only available with Visual Studio Ultimate.
  • No versioning support – SVN, Git and other version controlling systems are must-be in today’s software development. I cannot see this in Express editions of Visual Studio. Guys come from universities and they have no idea how to save their work and how to rollback the changes they don’t really need. Well… if we take Eclipse then it is only matter of minutes to get connected to some version controlling system.
  • No support for database projects – you must be very professional guy if you want to be able to develop your databases as integral part of your project. At least so good that seniors agree to buy you at least Premium license of Visual Studio 2010. On all other versions of Visual Studio 2010 you have to manage your database versions manually. Okay, I have seen what it means specially for younger d00ds who come from schools.
  • No testing support – another must-be thing is integral support for some testing framework. This far I have seen no testing support in Visual Studio Express editions and I still wonder why n00bs on MS platform are forced to produce crap – forced by money and sick marketing politics. If I take Eclipse… well, you can start with tests after couple of minutes. And using some hacks I can make nUnit work with Express Editions too, but is it normal?
  • No code metricscode metrics is also there to help only guys like me who are coding dinosaurs and know without Visual Studio what is the current state of code. N00bs are usually not able to write code like pros and for them measuring code quality daily is mandatory. Code metrics are available starting from Premium Edition of Visual Studio. Well… those who are starting must be wiser than pros to get their job done. Seems like not very normal situation to me. Okay, I solved the problem with NDepend and I am happy with it.
  • No support for profiling – well… same stuff as previous. It is something that also beginners need to do and still they have to find other ways how to do it. Like using some external frameworks, struggling with them and wasting time instead of getting wiser and smarter on mainstream tools.

I don’t think that all these features must me 100% available for “smaller” versions but at least some level these features must be there. It is awful waste of time right now to get n00bs work at Visual Studio if you don’t want to buy a lot of money and still you need external tools to accomplish some team tasks (I have very good CI story to tell that ends with simple question – why TFS when I have working solution for free that takes less time to set up and manage then TFS?).

I think that instead of building another tools like WebMatrix Microsoft should put their focus heavily on quality topics for couple of years and work out all editions of Visual Studio (and other development tools) with software quality as most important goal in their mind.

5 Comments

  • Thanks, you just spoke out my mind. To make matters worse MS removed the few refactoring features in csharp express and said in defence that they were trying to simplify things!

  • I also think that one day they should make deal with JetBrains so Resharper is part of Visual Studio. Right now these Visual Studio analogs are way too in stone age when compared what Resharper offers. I mean deal like this: by default you get Resharper and if you don't want it you get your version without it and price of Resharper is taken off from price.

  • I don't get it, that you refer to people as "n00bs" and want the tools to compensate for the apparently lack of quality. I really don't think it's the tools.

    But I'll bite...

    Debugging: If the existing tools aren't good enough, that's an experience problem.
    Versioning: What does this even have to do with the IDE? Shell and command line tools for most source control are totally adequate.
    Database projects: Are the devil. Tight integration has never been necessary here. Write or generate a SQL script, all is well.
    Testing: Again, you don't need the IDE, but there are plenty of plugins for this, unless you use MSTest (we don't, and I work at MSFT).
    Code metrics: For real? The only metric that matters is that it works and people can read it.
    Profiling: Rarely needed. Even working on huge systems that get pounded, needing that level of detail is rare.

    It sounds to me more like you don't agree with the pricing structure of the various VS skus. I've always found that odd, because as far as I can tell, most people obtain VS via site licenses or MSDN subscriptions.

  • You really need to proof read your postings a little;

    "I am looking at features of different versions of Visual Studio and I less and less understand how and why is the quality of software handled as fun of few seasoned professionals."

    What the hell does that mean?

  • Building a application interface in c++ on visual studio i havent got a clue its been made too difficult
    and needs simplifying for beginners.

Comments have been disabled for this content.