Richard Banks' Blog

Software Development and Agility

The Visual Studio 11 Interface, With More Metro

Without getting into the “It sucks! No, It rocks!” debate about the new user interface there are some areas that people are particularly fired up about, including the use if colons as a placeholder for menu bars. On the Visual Studio User Voice site there’s a request to tweak the UI and go “all in” with... Read more

How To Unit Test Async Methods with MSTest, XUnit and VS11 Beta

MSTest finally got some love with the Visual Studio 11 Beta and one of those changes was to enable tests to run asynchronously using the async and await keywords.This is required if you want to write tests against any async methods (especially with WinRT!) but can also be used anywhere else you need to perform asynchronous... Read more

Git-TFS Presentation at the 2012 MVP Summit

The day before the 2012 Microsoft MVP Summit kicked off in earnest there was an MVP-to-MVP day. For those of us in the Visual Studio ALM area we had a day long series of lightning talks about all sort of TFS related subjects, making for a good and wide-ranging day. For something different, I did a... Read more

Improved Unit Testing with Visual Studio 11 Beta

There’s just so much new stuff in the Visual Studio 11 Beta! In fact, someone should write a book about it… Oh wait, I am! (more on that when the time is right). For now, let’s have a look at one feature that makes me so very happy: Visual Studio’s new and improved unit testing capabilities.It’s... Read more

Why do Developers Underestimate

There’s a very funny response to a question on Quora doing the rounds at the moment.  The question is “Why are software development task estimations regularly off by a factor of 2-3?” The response (go ahead and read it) makes an analogy to hiking from San Francisco to Los Angeles to visit friends, underestimating the distance,... Read more

Parameters: You’re Doing It Wrong!

Having parameters for a method is perfectly fine however like anything, they can be used for evil. So let me give you a tip: If your code looks anything like this method signature (and I kid you not, this is a real method) then YOU”RE DOING IT WRONG! SaveContentSetItem(ContentSetItem,String,String,Int32,Int32,Int32,Int32,DateTime,DateTime,DateTime,DateTime,     DateTime,DateTime,DateTime ,DateTime,Boolean,Boolean,Boolean,Int32,Int32,Int32,Int32,Int32,Int32 ,Boolean,     Boolean,Boolean,Boolean,Boolean,Single,Boolean,Boolean ,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,... Read more

Ready Player One

I wouldn’t normally mention a fiction book here as your taste for books is likely to be different to mine, however in this case I’ll make an exception.  I’ve just finished reading “Ready Player One” and enjoyed it so much I read it in just 2 days whilst catching planes and trains and by skipping on... Read more

Underscores in Test Names are a Pain to Type, Right? Not Anymore!

It might be a large assumption given some of the customers I deal with, but I’m going to assume you write unit tests.  I’m also going to assume that when you write tests your test names have underscores separating all the words and making your test names human readable. Something like This_is_a_really_long_test_name_but_thats_ok_because_its_easy_to_read_when_I_use_underscores. The only (minor) problem... Read more

Scrum is Open for Extension and Modification

The title says it all really. Modifications to the framework need to be approved by Ken Schwaber and Jeff Sutherland (co-creators of Scrum), and to be honest there are likely to be very few, given it’s such a simple framework. The more interesting thing to keep an eye on will be the Extensions.  As a Scrum... Read more

Australian Alt.NET Open Spaces – Tickets Available

The inaugural Australian Alt.NET Opens Spaces unconference is happening on Sat Dec 3 in Melbourne, directly after the Melbourne YOW! event. (Free!) Tickets are now available.  And for the curious amongst you, the famous Seattle Alt.Net conference is run in exactly this style, and has the motto of “practice don’t preach” to indicate that it’s all... Read more

TFS11 and Source Control Improvements

Now that build is over and we have a Visual Studio 11 we can finally play with I’ve had a brief look at how local workspaces work. For those who aren’t aware, local workspaces finally removes the number 1, most annoying “feature” in TFS and that is the server-side source control model. This is the approach... Read more

Learning from a FAIL

Last year at TechEd Australia I delivered a session on Unit Testing that was rated top 10 overall.  This year I delivered a group session that has ended up in the bottom 20.  Ouch! So what went wrong?  Let me run through a few things and explain. For those who weren’t there, the session was a... Read more

Using Parallel Task Library to Unit Test Threading Issues

I was doing some work recently on a demo application where data was being pulled in from multiple locations and being added to a collection that was also being iterated over in the same method.  Because this data was arriving on multiple threads (i.e. async network call backs for example) I’d occasionally see the usual “collection... Read more

How To Run Multiple WP7 Emulators

The Windows Phone 7 Tools, including the latest Mango update, provide no supported way for running two emulators at the same time.  This can be a problem when trying to see how a multiuser application works across multiple devices.  Fortunately there’s a way to workaround this limitation using some unsupported edits to your WP7 emulator settings.... Read more

Getting Out of Sync With IIS and Riding A Comet

It’s taken a little while but my slide deck from DDD Sydney, 2011 is now up on the web. Unfortunately I don’t have the code or load test details embedded in the presentation but even so this should still have a number of useful things for you to look at, especially the resources section at the... Read more

Outsourcing, Unit Testing and Costs

Let’s say you work in an internal IT department, largely doing maintenance work on software solutions.  Solutions that are by and large built by external vendors through an outsourcing arrangement and then brought in house once they’ve gone live and the initial warranty period has elapsed. Let’s say every time you look at one of these... Read more

Going to TechEd Australia? Lock in DEV305

Why? Because that’s the session you want to go to of course! Here’s the link with all the details: http://australia.msteched.com/topic/details/DEV305 Aaron Powell, Luke Drumm, Steve Nagy and myself are going to show you how to build applications for the cloud using multiple clients (i.e. PC and Windows Phone 7 in this case) and some of the... Read more

True Community is What YOU Make it

Roy Osherove’s post on "True Community”™ has been making the rounds on the twitterz in the last 24 hours (or as some people have called it “Yet Another Leaving .NET Post”).  I feel like I should respond with some thoughts. First up, let me say I applaud Roy for making his views clear and talking about... Read more

My Geek Origin Story, what’s yours?

Yay! It’s Meme time, people.  This one started by @delic8genius (Michael Kordahi) who wants to learn your Geek Origin Story and see how we all got in touch with our inner geek.  So here’s mine… For me I remember it all starting with the Atari 2600 and a little game called Asteroids, though looking back at... Read more

Agile Australia: A Retrospective

Last week I was a panellist at the Agile Australia conference, talking about hiring people for agile teams, and whilst that was fun the conference overall left me feeling cold, frustrated and disappointed. Anyone who saw my tweet stream during the conference would have probably felt some of that and now that I’ve calmed down a... Read more