Release more often
VIsual Studio is one of the only products I know of that has a lifetime of 2-3 years, and gets *one* update in that time.
That is ridiculous. It smells like a leftover from 20 years ago, when distributing updates was difficult. Today, it is inexcusable.
For each release, it gives you a window of perhaps two months where you're competitive. Then, for the next 2+ years, you stand still, while the competition zooms past you, after which you release a new version, and it all starts over again.
It also clashes with all your attempts at interacting with the community. Where's the incentive for anyone to run PerfWatson and help provide data to speed up VS, when any data we give you is based on what your code looked like two years ago, and any improvements won't ever be seen in the product we're providing feedback on.
It detracts a lot of value from your product, simply because you do a lot of work that, on average, is seen by us 12-18 months later.
Release updates, hotfixes, service packs, whatever you want to call them, every few months, with *whatever improvements you have*. If you have a better compiler, ship it. Better IDE performance? Ship it. Better stability? Ship it. Better usability? Ship it.
That might make vNext look a bit less impressive, but it can be sold on the promise of being constantly updated over the *next* 2-3 years. Everyone loses on the code/feature hoarding you're currently doing.
It would also make both Connect and UserVoice a lot saner and more user-friendly. Right now, we see bugs closed as "fixed", despite the fact that we can't *get* the fix for another 2 years, and then only by buying a completely new version of the product. Is it any wonder your customers are a bit grumpy sometimes?
Rudi Larno commented
One of the problems that I see is that VS is too much an integrated release. They should split the release cycles, much like the ASP.NET team has been doing (and the EF team). Release their stuff when it is ready. In the case of the ASP.NET team it is required because the speed at which web development is progressing is amazing. Imagine that we'd have to wait for the ASP.NET MVC stack to get updated sometime in the next several months? There would no longer be an interest in building websites with ASP.NET.
Imagine just having a core VS shell, with all/enough of the extensibility points to hook up all of the different pieces. Where each feature team can release their bits in their own time. And hook them up as needed. Where the core VS shell team could add/update their shell as needed.
Andrew McDonald commented
Microsoft just announced we'll get more frequent "out of band" updates in the future, so hopefully we'll see a more appropriate delivery schedule now:
Barry Lapthorn commented
The release cycle should be improved especially with C++ 11 being ratified. If the VS11 dev preview gets promoted to VS2012 and released and we're left with an incomplete C++11 implementation, and have to wait for another 3 years for the full version, devs are not going to be happy. Especially when, in that time, gcc will completely support C++11. It also makes corporate development even more tricky when trying to support missing language features when developing cross platform.
I agree, release cumulative update packages (like the ones for SQL Server) with all available fixes for that moment. - And please, release them using the Microsoft Update.
Anna Metcalfe commented
I agree. The current servicing/update policy for Visual Studio belongs in the 1990s, not 2011.
Totally agree as well, too bad I already spent my points asking devs to make Visual Studio faster, because that is so broken, it ain't funny.
Totally agree, this method of doing business is so archaic and frustrating. Imagine if we as developers told our customers "Sorry, you'll have to wait 2 years for that bug fix or minor feature. And, oh yeah, we're only considering it, it's not definite as it might be too hard."
This is the reason why IE has been completely left behind by Chrome, Firefox et al. Can't Microsoft see that they risk the same thing happening to VS?
The other thing they need to address is the size and complexity of the install. However many GB for what is basically an Executable I just cannot fathom. What the **** is in there?
Visual Studio is Microsoft's opportunity to keep software and developers on the Microsoft platform. In some respects it is probably their most important product. If I were MS I would make it a high priority that Visual Studio be reliable, performant, and regularly updated. This is definitely not the case at the moment.
While on my soapbox I will bemoan that MS is currently giving developers too much choice - WebMatrix, Lightswitch, MVC, ASP.Net, Winforms, Silverlight, ADO.Net, Linq to SQL, Entity Framework, etc etc. Then the umpteam flavours of SQL server, Compact, Express, R2, Local.
MS need to think very carefully before releasing new technologies, instead of just pumping them out flat tack.