16

At what point should I begin upgrading our developer's machines to a later Windows release?

From experience, Microsoft typically has an epic fail about every other O.S. (I am really not trying to start a debate about this, it is my perception let it be) i.e. 2000 was a stable and useful O.S, yet m.e. didn't do well, xp was a great O.S. that many businesses still use, Vista didn't do well (I know that the reason this one didn't do well wasn't really Microsoft's fault and that Vista and 7 are the same major revision), while 7 seems to be an excellent O.S. that will be around for a while--sort of like xp is now.

Anyways, this makes me reluctant to upgrade our development machines to Windows 8.

  • a. I don't want to cost our business a ton of money for an O.S. that will only be used for a year or two.

  • b. They also have to have linux dual boots, and I have read that Windows 8 and grub will not play well together.

I do want our developers to develop in the latest environment and to have a leading edge in any technology they are developing with. I do want to stay ahead of--or at least with--the technology curve, yet I want it to make business sense.

So in particular, should I upgrade their machines at this point? In general, what calculus should I use for deciding this sort of thing?

edit

They do write desktop UI applications as well as ASP.NET applications. Also, I do make sure that they always have the latest release of Visual Studio.

10 Answers10

37

Computers are not physical monolithical entities anymore, use virtual machines !

Your developers should be able to access different work environments as they need, and virtual machines are the perfect way to do so, you can :

  • keep a legacy environnement easily accessible.
  • have multiple, independent environments (ex: 1 environment per client)
  • have test environments (ex: windows 8 dev preview).

Any decent laptop nowadays can run a windows 7 VM on top of a windows 7 host environment. It's really nice to be able to switch environment as a developer. The backup/versioning possibilities are also a nice plus.

If you have MSDN subscriptions, you should be able to keep the price of this kind setup not too high considering they are used for development.

ChrisF
  • 38,948
  • 11
  • 127
  • 168
Matthieu
  • 4,599
16

Windows 8 isn't even commercially available yet. If you upgrade now, it might be to a beta of questionable stability with features that may or may not make the final cut.

If you can afford it: set up an isolated test developer machine and upgrade that one. Then let all the developers play with it now and then to get used to it and find all the little quirks and and bugs and differences.

4

Is your team specifically developing windows desktop UI applications? If yes, I think you would want at least some of your team to move to Windows 8 as the UI might look different and what not.

If you are developing other types of applications and it doesn't matter as much which version of Windows you are working on, why not just let developers make the choice for themselves? I'm sure each one of them will pick whatever is best/more efficient for them and some will probably end up reloading their OS a few times.

Ask your team. Maybe they don't even care about Windows 8. I'm completely in Microsoft camp as far as programming tools go but will definitely have my own reservations first few months after Windows 8 is released.

DXM
  • 20,022
2

Seems like you've been able to identify which versions meet your standards and which ones don't, so I wouldn't upgrade until you are confident with the latest and greatest.

You are going to need to stay a little ahead of your customers if they are using Windows to run your desktop software. Several other answers mention ways to allow for multiple environments to test.

I use to ride on the train and saw many corporate laptops (they have those property stickers on them) that are still running XP.

Go with what is stable for you along with what your customers are using. Not sure you can rely on any formula. Let's hope Windows 8 breaks the alternating crappy version trend.

JeffO
  • 36,956
2

You might want to start by giving your developers a VHD with Win8 installed on it and let them start playing with that. I'd hold off on converting any machines until they at least have a release candidate available. I was a beta tester for WinME, Win2K and WinXP and there's a lot that changes, even during the late beta period. Unless you're developing something that takes advantage of Win8's unique features and you need to have it available on Day 0, I'd hold off on a mass migration. VHD boot or VM (if you've got 8G or more of memory) are both pretty usable options.

TMN
  • 11,383
1

First, do you develop for Windows, or cross platform? If so, you may be required to eventually get at least one Windows 8 box, so that your devs can test builds on it. Secondly, Windows 8 is something of a sea change for Windows.

Get the beta and take a look. It seems to fall much more into the single app at a time camp of tablets. This is fine for some devices and software. For others, the entire point is to have a multipurpose computer. Not a media streamer. If your software is any kind of business application, then imagine a user that is required to run it full screen, with the only way to access a different program(browser, email, excel, word) is by shutting down your program, and losing their place.

There is no opportunity for synergy between programs. Every program becomes a tiny courtyard inside the hedge maze in the walled garden. All of a sudden, you have to support everything, because your users can't get different software to do what your's doesn't.

It has been said before, but we use a computers on a task-centric paradigm not an app-centric paradigm. Even a normal home user needs to use multiple programs at once. Have you ever tried to write a school paper without word and a browser? This may very well move a large portion of the computer user population to migrate to some flavor of linux.

So, my advice is to be prepared to buy copies of Windows 8, but do not get them until at least 6 months in. At that point, the fallout will have already occurred, and you can make an informed decision, based upon what your customers use and think.

1

This is an easy one:

When your customers do.

And there is an important corollary which the bosses on a team I worked on forgot once:

"When do we stop supporting the older version of Windows?"

When your customers do.

It's not sexy, but remember that most of what big companies like MS or driver makers do is backwards compatibility work. Check out "The New Old Thing" if you haven't.

anon
  • 1,494
0

Before asking your developers anything, ask yourself first this:

  • What I need to do with Windows 8, that I can't do with current windows versions?

  • Does Windows 8 offers any true enhancements to the work I do?

  • Do I want to use Windows 8, just to be updated (ie. to follow with the hype)?

If the answer to one or two is yes and stronger, than the yes you might give to three, than go ahead. If not, forget it... You need an true motive to update, that isn't just because others are doing it.

Coyote21
  • 437
-2

Return on Investment is something very important. If you're working with Widows 7, you're good to go. Few things I have noticed with Windows 8 are

  • It's an optimized version of Windows 7 as usual.
  • The memory management has been considerably improved. Check Windows Engineering Blog
  • The core operating system is similar and WinRT is something new in this platform which enables Metro Style apps.
  • Faster boot. Yeah it's extremely fast.

Windows 8 is more focused on Tablet PCs. PCs sales are considerably reduced last year and people are eyeing on tablets like iPad. As a software company, Microsoft has focus on this paradigm shift and address the low configuration form factors. For a developer perspective, it doesn't make much difference as long the new unique features are exploited. Unlike Apple, Microsoft OS upgrade is too expensive.

sarat
  • 1,121
-3

It's worth pointing out that Windows 2000 was based on the NT code, while Windows ME was the last (thankfully) iteration of the Win 95 kernel. So saying "2000 was solid but ME sucked" doesn't really say anything at all. XP was the update of 2000, and was reasonably solid. Vista was XP with garbage grafted on. Win 7 got rid of the clutter and introduced a lot of good fixes and features. So the real Windows updates are:

[Win 95 kernel]

  • 95 (sucked)

  • 98 (sucked less than 95)

  • ME (sucked badly)

[kernel retired]

[Win NT kernel]

  • ...[previous NT releases, 3.1 through 4.0]...

  • 2000 (solid but underfeatured, not well-supported in the industry)

  • XP (good update, good OS albeit with suboptimal defaults)

  • Vista (mediocre update of XP)

  • 7 (excellent release; first Win OS that can reasonably be compared to Linux boxes in terms of solidity)

  • 8 (???)

Vista was a slight regression in a .1 release. Other than that, the NT kernel releases have trended upward quite solidly from release to release. I see no reason to assume that Win 8 will be an ME-type, or even a Vista-type, regression in quality.

But as others have already pointed out, the obvious answer is to experiment with VMs to find out how it will work for you.

Spoxjox
  • 133