Richard Banks' Blog

Software Development and Agility

Tech.Ed Australia 2008

Tech.Ed Australia is over for another year and for me this Tech.Ed was very different to the others I have been to.  Previously I have attended as a delegate an I've simply gone to sessions and absorbed as much information and opinions from the presenters as I could. This year I was fortunate enough to be... Read more

A Generic Command Pattern in .NET 3.5

The command pattern can be a powerful thing to use and yet it can be a right royal pain in the ar... let's just say it's annoying to implement it at time.  Why? Because each individual command needs to be represented as an object and in a system that supports many commands you end up with... Read more

Do You Want An ALT.NET Group In Sydney?

I'm gauging interest on starting an ALT.NET group in Sydney.  I've tweeted about it, and posted on the altdotnet mailing list to see who might be a part of it and so far things are looking good.  I figure I might as well blog about it as well :-D Now in case you don't know what... Read more

Scrum Gathering on Monday & Tech.Ed Australia Starts Wednesday

Just a reminder of a few things happening next week. First, there is a Scrum gathering on Monday night - http://www.scrum.com.au/2008/08/25/sydney-scrum-users-get-together-september-1 and it looks like the Syxpac user group will also be joining us.  It should be a fun night. Secondly, Tech.Ed Australia starts on Wednesday. If you're interested in seeing my session on building loosely... Read more

Online Tipping

I just noticed a post by Seth Godin riffing that Ads are the new online tip jar.  He says that "If you like what you're reading, click an ad to say thanks." which resonates quite well with me because this is what I've started doing over the last few months. It doesn't take much to click... Read more

Clone Detective for Visual Studio 2008

I just ran across a new project on CodePlex today called Clone Detective for Visual Studio from Immo Landwerth (also responsible for NQuery) and I've got to say that it's really quite cool.  I've blogged previously about detecting code clones with CCFinder but CCFinder is an external tool and a bit cumbersome to set up and... Read more

Publish TFS Build Information to Twitter

I've put together a simple application to publish build status information from Team Foundation Server to Twitter.  It's built as a windows service that listens for the various build status events from TFS and tweets information depending on the event it receives.  At its core it uses the Readify.Useful.TeamFoundation.Common assembly from TFSDeployer for listening to the... Read more

An Introduction to Microsoft's ALM (Application Life-cycle Management)

Last year Microsoft launched the "Microsoft Application Platform".  The application platform is Microsoft's vision for how businesses can use Microsoft technology to improve information & knowledge management within their organisation and focuses on 5 key areas as follows, each of which wraps a number of Microsoft product & services offerings: Business Intelligence SOA & Business Process... Read more

Crunch Time

I was at client a while ago that were after any assistance they could get on a project exhibiting all the symptoms of a classic Death March project.  A waterfall based process gone horribly wrong, developers working ridiculous hours, poor code quality, emergency fixes, misunderstood and late-changing requirements, staff leaving due to stress and so much... Read more

What is a Unit Test?

I've talked about unit testing a number of times in the past, however I often do so with the assumption that we have a shared understanding of what a unit test actually is. A unit test is simply a test that ensures that a single class does what it is meant to without needing to cross... Read more

Should I Unit Test Private Methods?

I was talking with a team last week about unit testing and TDD and the question came up as to whether private methods should be tested.  I immediately said "no way" without any hesitation and was really surprised at the reaction from some of the team.  We had a very interesting chat about it, and I... Read more

I'm Now a Certified Scrum Practitioner

I finally got my notification through that I am now a Certified Scrum Practitioner.  It's means that the scrum alliance certifies that I've been working with Scrum for over a year now and that I know what I'm doing. For regular readers of this blog I'd hope that it was self apparent :-) but it's nice... Read more

Building Loosely Coupled Applications with Unity @ Tech.Ed Oz '08

I've been fortunate enough to be given a speaking slot at Microsoft Tech.Ed Australia this year and I'll be doing a session on using Unity - the new IoC container included with Enterprise Library v4.0. Here's the session extract from the Tech.Ed Australia Session Catalogue: "Loosely coupled applications. We all want them, yet the reality of... Read more

Are You Really Agile?

There's a lot of people out there who claim to be agile, however it's so easy to bandy about the A-word these days that it's almost impossible to know if a team is just a bunch of cowboys, wether they're just using trying to fit a waterfall process into an agile time frame (agilefall) or if... Read more

RDN Dev Days featuring Agile Development

Some of you may be aware that Readify have been running a series of free developer sessions for some time now known as the Readify Developer Network. Past RDN sessions have covered a wide range of topics and have been presented by various people from within Readify, including many of the 10 MVP's we have on... Read more

A Scrum Podcast - Ken Schwaber talking with Scott Hanselman

Scott Hanselman talks with Ken Schwaber, the co-creator of Scrum, in his latest podcast (30 mins).  The link is here: http://www.hanselman.com/blog/HanselminutesPodcast119WhatIsDoneWithScrumCoCreatorKenSchwaber.aspx This is a really good podcast to listen to, both for those who are learning about Scrum and those who have been using it for quite some time. It covers things like: the definition of... Read more

What's Wrong With Traditional Software Development

I was just reading some posts on the scrumdevelopment mailing list and saw this from Roy Morien about traditional software development:   Traditionally software development processes have been predicated on the following assumptions: 1. It is possible, efficient and effective to create a thorough and complete analysis of the requirements for a system, at the start.... Read more

Announcing NUnit for Team Build (TFS 2008)

I'm pleased to say that I've just added some more noise to cyberspace and published NUnit for Team Build on CodePlex.  This is the project where the scripts I used for merging NUnit results into Team Build will live. I hope you find it useful. Read more

Technical Debt (aka Code Debt)

What Is Technical Debt? Technical Debt (sometimes called code debt) is a concept that was first talked about by Ward Cunningham way back in 1992 and has since been covered by people like Steve McConnell and Martin Fowler to varying levels.  Rather than repeating everything they've said I'm going to try and I explain it in... Read more