May 17, 2011

What’s Coming with TFS vNext

Today at Tech.Ed US, Jason Zander and co. went through some of what’s coming in the next versions of TFS and Visual Studio and then blogged about it shortly after.

I saw some of this in action at the MVP summit earlier this year and I liked what I saw, so I’m very glad to see this being publicly talked about now. Now I could recap everything said already, but instead of regurgitating what’s on Jason’s blog, let me quickly call out some of the highlight that I’m interested in, and then you can go to the post, check out all the screenshots, and look at the whitepaper to read more, and see even more screen shots.

This upcoming release aims to close the loop between the business and the developers by building requirements management and end user feedback into the tooling.  For most software development projects, timely interaction with the customer is a critical element for success and having software that supports this is fantastic.  It also extends the communication loop from developers through to the ops team so that performance problems, bugs with stack traces and other issues that IT Pros find in production can be pushed back directly to the team to fix.  With my agile coaching hat on, I’m really looking forward to getting teams and organisations using these features to remove waste and improve what they do.

PowerPoint will be enabled for use as a lightweight requirements and wire framing tool.  This is sooo much more approachable than Sketchflow and given it follows what a lot of people already do, this is a very welcome addition.  Customers, BA’s, and others that want to quickly use PowerPoint to knock out a wireframe of how an application might work can now do so and incorporate it into TFS and make it part of the requirements management process.  Excellent!

TFS will also feature an agile task board and provide tools to make backlog management and prioritisation easier.  No more going to excel, unless you want to, just drag and drop items to rearrange priorities.  In fact the next version of TFS recognizes that most teams are now using agile approaches and explicitly targets features that will make supporting these processes easier.

Visual Studio will support test frameworks other than MSTest.  Yes, you read that right. It means means the all new VS test runner will now handle nUnit and XUnit, including code coverage, and provides extension points other test frameworks can use to plug themselves into visual studio.

Visual Studio will also sport a Crucible/CodeCollab style code review tool, enabling inline commenting and tracking of code review notes, without having to switch out to another tool.  For those teams that use code reviews as part of their process having this directly built into Visual Studio is fantastic news.

Further to this, Visual Studio will also be able to detect Code Clones.  Microsoft providing tools to help make your code DRY is only going to help improve the overall state of .NET development and I for one think this is a great addition.

Team Explorer is becoming more task and context oriented, so instead of it being a simple tree view of various nodes with a data focused UI, it will now be more aligned with developer work practices and with the usability improvements should make the learning of the tool much simpler and remove the “I hate doing administrivia” feeling you can sometimes get when keeping work items up to date.

All in all, these are great improvements in the product and very, very welcome additions.

Of course, there will be those of you who say that you can already do all or most of this with other tools, and you can, but the integration is often problematic and the benefits of these tools are lost in islands of data.  TFS brings all these pieces together in one place to make things visible across the whole team, provide a view as to what’s happening in the project overall end to end and help improve the collaboration in the software development effort.  Further, many .NET development teams are sadly stymied by management that dictates an “only from Microsoft” attitude, so having these in the base tooling removes some of the impediments that prevent teams from collaborating and communicating well, and hopefully we’ll see the overall state of .NET development improve as a result.

And in case you were wondering nothing was announced around source control, not that I’m aware of anyway.  If you wish, you can go back to a post in Jan 2010 by Brian Harry and read into that what you will.

For now, go read Jason’s post, have a peek at the whitepaper to see what else is coming.  Bring on the beta!

May 5, 2011

This is How Support Messages Should Be Done!

Taken verbatim from an internal Readify announcement:

Some weeks ago, a company in Redmond, California released a major update to their current generation of Windows called "SP1". That's ​a boring name for a product that essentially improves and cleans up windows, so we'll refer to this product as "Windex" from now on. Windex is a great thing. IT took the time to put it on our own computers and tried it out. Sure enough, all our windows are cleaner and just better. There have been no bad effects to using Windex as yet.

Emboldened, we set upon a course of putting Windex everywhere we could. We gave it to our friends. We gave it to our colleagues. Everyone loves Windex! This week, we've been busily applying Windex to all the Readify servers. It's been a very positive experience and all Readify's servers have taken to Windex without complaint. In fact, they love Windex!

All our servers for the most part however all rely on three very powerful master machines that are the unsung heroes of our network. These magnificent machines are the quiet achievers of the Cloud network - they manage, control and look after all the servers you know and love; as well as all the servers you don't know and love yet (be assured you'd love them if you knew them). We'll call these three servers the "Hosts" of the network. These three hosts don't yet have Windex. They've seen Windex be put onto all the servers they look after, and have been patiently waiting for someone to come and apply some Windex to them.

That time has come!

... but there's a catch. As a part of applying Windex to any machine, you need to close and reopen the windows on it. I'll call this process "Rebooting". The rest of the network can't do anything if the hosts that look after them are rebooting. So, while the network isn't doing anything, neither will any of our staff. As a result, putting Windex on the hosts during the week would be bad™.

So, starting from about 2am on Sunday morning, while everyone is either in bed or out partying and not caring; These quiet achievers of the Readify family will finally get their Windex. If all goes well, they will be back up and running (and much better and cleaner) by the time you start trying using the network on Sunday. If all doesn’t go well, it’s ok we can still email you and tell you it didn’t go well – and trust us: We’ll know about it before you do. We’ll have all day Sunday to fix any snafu that may happen and still have the whole network ready to run by Monday morning. You may need to consider not doing any work on Sunday.

Kudos to the fantastic Nathan Thomas for always keeping us in the loop as to what’s happening.  I love it!

What’s the best downtime message you’ve ever seen?

May 4, 2011

Windows Media Player and “In Use” External USB Hard Drives

I have a lovely new 1TB external hard drive and moved all my music onto it a short while ago.  Now even though I have iPods and iPhones, for playing that music from my laptop, ITunes on Windows is pretty poor so I’ve tended to use Media Player and, more recently, Zune for that task.

Now, as you would expect I wanted my music into these programs automatically I included the music folder in my library as shown:


Now given I’m on a laptop and I usually want to leave work at the end of the day I’ll Safely Remove the drive from my laptop before packing up, but now when I do I get either the infamous “Windows can't stop your 'Generic Volume' device because it is in use” message or the “Problem Ejecting USB Mass Storage Device” message as shown:


But I closed Media Player (and everything else) so it can’t be locking files can it?

Now, as it happens, in the past I’ve seen Windows Search Indexing locking external drives, but I’d already made sure that the drive isn’t indexed by turning off the flag in the properties window:


and if I look at the Indexing Options in Control Panel I see this:


You can see that the G: drive (the external) isn’t indexed, yet if you look at the location summary in the bottom pane there’s a folder called Music there.  What gives?

So I expand the G: drive settings and what do I see? That the folder is, in fact, indexed by Windows Search and it is very likely locking the drive.  What the…?! Why isn’t the G:\ drive showing with a greyed checkbox to indicate that one or more child folders are included.  Thanks for the great UI there, Microsoft.


So if I just clear it now, then I’ll be able to safely remove the drive, but this is what happens in Media Player’s settings:


Which of means that new items I add to my Music folder won’t automatically appear.  That’s not what I want.  In fact it sucks.

Maybe I should just use the Zune player instead? Unfortunately, by default, Zune relies on the Windows Media Player library settings, so to break the dependency I have to go into Zune settings and unlink the Zune folders from the windows libraries.


Now I can add the Music folder from the external USB drive and Zune will automatically index the folder and pick up changes to the contents, just as I wanted.  And it does it without keeping the drive locked when I exit the program.


So now when I want to go home, I can just close Zune and then safely remove the drive as I would expect.



Phew! Talk about a major pain in the butt! How is a normal, non technical person ever going to figure this out for themselves.  Maybe I should’ve just stuck with iTunes – at least it doesn’t lock your external drives on you.

May 1, 2011

Oh Dear

Found via Rob Conery’s blogA Methodology for Better Website Development

My eyes! They burn!! Make it stop!!!

It’s waterfall being touted as the best way to do web development! Seriously!? Who wrote this article? Wait a second while I look….  Oh, it’s the CEO of Ektron, the makers of Ektron CMS. A product so good that the only times I’ve heard of it has been from companies that bought it, got screwed by poor service, bad documentation, horrible support and the vendor’s inability to supply updates in a timely manner, and that have then written it off as a mistake, and then kicked it out so it can be replaced by other commercial products or solutions from that most waterfall-ish of development environments, the open source world!  This explains so much!

It seriously annoys me that people write this sort of article as if it’s the one true way and even more when a publisher like ZDNet doesn’t include a public health warning with it.

This isn’t to say agile is the only way to do web development either, not by a long shot.  Agile is a mechanism that has been shown to work well in web development and we’ve seen time and again that short development cycles and rapid, continuous releases are a path to success.  The real secret to success though? Find the best people you can, educate them in how to best communicate with you and each other, then tell them what you want and then get the hell out of their way!

Individuals and interactions over process and tools.

I think I need to take an aspirin and go have a lie down. Reading that article gave me a small aneurism.