Richard Banks' Blog

Software Development and Agility

Living with Team Foundation Server Version Control

Recently I wrote up a short overview on how TFS source control works for a client. I've reproduced it here as it may hopefully help you understand how TFS works and reduce the number of “wierdnesses” that people experience when using TFS. For most people the normal behaviour when doing a “Get Latest” is one drilled... Read more

How to Exclude a Method from Code Coverage

Let's say you have a piece of C# code in Visual Studio 2005 that looks something like this: [Serializable]public class DuplicateRecordException : Exception{ public DuplicateRecordException() { } public DuplicateRecordException(string message) : base(message) { } public DuplicateRecordException(string message, Exception innerException) : base(message, innerException) { } protected DuplicateRecordException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { }}And in code... Read more

A Check In Checklist

Team based software development projects usually give a lot of thought to what source control repository to use (TFS, Subversion, CVS, BitKeeper, etc), how/when they should branch their code, what they do with coding standards, etc.  Yet at the same time not a lot of attention is given to the art of the check in.  Most... Read more

Automatic Project Check Outs After Installing Visual Studio SDK

After installing the Visual Studio SDK you may encounter the situation where every time you open a solution Visual Studio will automatically check out all of the project files for you.  Immediately. Kind of weird, especially as you've not made any changes yet, right? Well, actually Visual Studio has made some changes for you on your... Read more

Secure Unit Testing and Signed Assemblies

When looking at examples for unit testing you'll typically see that all the methods for the class under test are public.  Either that, or that the unit tests themselves are in the same class assembly as the class under test. The first pattern (all public methods) represents a problem when you don't want every method to... Read more

Do You Need Multiple Remote Desktop Connections?

OK, so this might not be applicable to everyone who reads this blog, but if you’re one of those people (like me) who often opens multiple remote desktop connections and then ends up getting confused as to which is which then you might want to have a look at Terminals (from Codeplex) Terminals gives you multiple... Read more

Problems with the new MSDN Download Manager

I love that VS2008 has finally hit the street, but I can't stand the new Akamai MSDN Download Manager that they've decided to use to distribute it. It's so poorly done from a UX perspective and security perspective I just can't get over it.   Here's a few different situations that I've already run across... #1... Read more

Personality Types and Agile Development

You've no doubt heard of the various types of personality profiles that exist (you can try a free one at http://www.humanmetrics.com/cgi-win/JTypes1.htm). The most common profile is the Briggs-Myers one though there is also one for a DPSA profile. The following is from the Marker Consulting description of DPSA profiles DPSA profiling is an acronym for DRIVER,... Read more

How to Attract Good Developers

In software development the value of having the best people you can get can't be understated.Now, the clamour for good .NET developers in Australia is just nuts at the moment. The demand is so far outstripping supply that any developer worth their salt is snapped up in no time flat. In fact any programmer who write... Read more

Extended Stand-ups

It's an interesting thing watching how different teams adapt agile methods to improve what they do.  One team I've been involved in recently runs on a 4 week iteration and each Monday performs what amounts to an extended stand up. At the usual stand up time the scrum master does a quick recap of the previous... Read more

Using Team Build to Deploy Database Projects to Different Servers

I had a situation recently where I was building a solution that contained a Database project (.dbproj) built using Visual Studio 2005 Team Edition for Database Professionals (aka DataDude). In Team Build there were two different build types.  One for Continuous Integration and one for the Nightly Build.  The CI build simply compiled the solution and... Read more

Slides from My Agile Presentation

For those of you who were in attendance at my Agile presentation this afternoon I've uploaded the slides to SlideShare (and embedded the presentation below).  I had a great time talking with you all and would have loved to spend more time with you. | View | Upload your own Note: While Slideshare is a really... Read more

Are You A Programmer or a Developer?

Most people would say that a programmer is a developer and a developer is a programmer; and for those of us who write code for a job when asked to describe ourselves, we'd be comfortable using either term depending on the mood we're in.  Most people would think that there's no difference and even if there... Read more

IoC/Dependency Injection using the Castle Project

Many bloggers post top tools lists and I, for one, like to read them.  It's always good to see what other people find useful, compare that with what you yourself are using and see if there's something they've found that can help make you more productive or expand your thinking. Chris Brandsma has written a tool... Read more

Google Test Automation Conference Videos

Yes, it's a few months old now, but for those people who are interested in test automation (and who isn't!) Google ran a test automation conference called, amazingly enough, GTAC 2007, and have graciously uploaded a whole bunch of videos from the conference onto youtube. If you want to get a little more info on test... Read more

RDN Episode 2

Today saw the start of this weeks RDN sessions.  In Sydney this morning Wendy Richard's provided a good overview of ASP.NET AJAX and Greg Low talked through what's coming up for SQL Server 2008. The SQL 2008 session in particular was really informative and provided a good insight into what the SQL Server team is doing... Read more

Words Matter

I can get a bit picky over wording at times. The difference between the "correct" words and the "right" words can be huge. Yes, you can choose to express a concept or idea correctly in a number of ways but the "right" wording can not only convey the concept but it can also get your audience... Read more

Scrum Vs Kanban

Agile project management has certainly come a long way in the last few years and there is strong evidence of a rapidly growing maturity in the space and a commensurate awareness of agile in the maintsream consciousness.  As an example a few years ago trying to hire someone with agile experience would have been a very... Read more

Using Workflow Rules to Iterate and Remove Items From a Collection

I got asked recently if it was possible to use the Workflow Rules engine to remove items from a collection. It turns out that it's actually quite easy to do, as long as you understand how the rules engine works, and how to iterate over collections.  So before I show you how to remove items from... Read more