Tuesday, December 28, 2004

Developers Dilemma – Rewrite vs. rework part 2

Today I started working on one of the components. This components is the one that already had some tests. The component is a device driver (written in C!) and it is the component that I mentioned yesterday already having some tests.
Within the first hour of adding some extra tests I found a couple of bugs that had not been reported. I suspect that these bugs have never been seen because the driver is never used the way it is in the tests I have written.
Is there any point in writing these tests then?
I think so. Firstly there is nothing stopping another developer from writing another component that uses this driver that way. That developer will get somewhat annoyed when they find out the driver is misbehaving. Secondly, based on my current understanding of the expected new functionality to be added later in the project, that other developer will quite likely be me.
After fixing the broken tests I continued adding a few more tests, finding bugs and fixing tests. That has been my day. I am happy because the driver (while not finished) is now a lot closer to ‘zero defect’ than it was when the day started.
I have a suspicion that tomorrow might be a similar day, I’ll let you know…

Monday, December 27, 2004

Developers Dilemma – Rewrite vs. rework

I’m just embarking on a new project today and looking through the existing code base. One of the components has some unit tests, which made me smile. None of the other components (about 8 in total) have any tests :(
This suite of components was written in a short time frame over a year ago and it works perfectly for the job that was required then. In fact it has been in use by (so I am told) several thousand users around the world for the last year. Of course there have been a few issues reported but no show stoppers. In many ways I have to say "good job" to the original development team.
The issue now is that the suite of components needs to extend its functionality further to cater for some technology changes and to open up new opportunities.
So the classic dilemma; do I rewrite the parts that need changing (in a test driven manner of course) OR do I rework the existing components and add tests as I go?
I don’t want to rewrite code that is working and has been field tested. I also don’t feel comfortable adding to code that doesn’t have unit tests. Without unit tests for the existing code I won’t know if I’ve broken any of the current functionality through the changes I am making.
To be continued …

Friday, December 24, 2004

The flyer for my book

The flyer for my book is looking pretty good even if I do say so myself!

New MSN Messenger Beta

I have been playing with the new MSN Messenger Beta. I like it a lot. Some neat new features.

Tuesday, December 21, 2004

Team Room

William Pietri has put together a really great page describing a Team Room that he helped put together for an XP development team recently.

Monday, December 20, 2004

The Brits are getting worried and rightly so

I saw this report in The Register today:'World's Biggest Luddite' heads for the UK. At least they know what's coming!

Friday, December 17, 2004

Be part of the solution!

As my book is being released I thought I'd put together a Cafe Press store with some eXtreme .NET goodies. Now you can read the book and wear the T-Shirt ;)
The T-Shirt
Support This Site

Thursday, December 16, 2004

.NET Developer's Journal

Seems like a deluge of goodies are coming through the mail this week. Yesterday my book and today a copy of the .Net Developers Journal with a fabulous article by yours truly entitled Shiny New Tablets.
I wonder what will arrive in the mail tomorrow?

Wednesday, December 15, 2004

eXtreme .NET is here!

The UPS man just rang the door bell - guess what he had for me? Yes that's right I finally have a 'dead tree' copy of my book! It's on the virtual shelves in Amazon
and I'll have signed copies for sale on my web site shortly.

I love Skype

At 6am this morning my friend David Platt the .NET Professor called me on Skype we had a chat about a number of topics relating to mobile development.
Now here is the thing, I am in Sydney and he is just outside Boston, MA on the other side of the world and the call was very high quality and free! In fact because it was free I think the quality was higher ;) Of course we both have high speed internet connections, but we have already paid for those and would do so even if we couldn't call on Skype.

Portable .NET

I'm always intetested in what other platforms .NET is being ported to, the DotGNU Project is aiming to create a version of the CLI that runs on many platforms. Looks like they have done a lot of work. It will be interesting to see if this will help to create more drive to develop software on the .NET Framework.

Tuesday, December 14, 2004

A cool Tablet PC app by Companion Systems

I had lunch today with Mathew from Companion Systems Pty Ltd. These guys have built a super cool application for the building intustry. The best thing is it has some great features when running on a Tablet PC. Can't wait to see more of what these guys do. Oh and the lunch was good too :)

Singapore .NET User Group presentation

The super cool developers at the Singapore .NET User group have posted a photo gallery of the session I attended last week. There are some great pictures there.
Thanks guys.

Strong Bad teaches you about being a radio show host

Some tips for all the budding PodCasters out there.

Sunday, December 12, 2004

I'm Test Driven

You might notice down the right hand side a new banner/logo stating that I'm Test Driven. Of all the technical programming practices I teach I think that test driven development is the most important and the practice that has most effect on improving the quality of code.
Are you Test Driven yet?

Back in Aus - again!

I've just arrived back in Sydney from Singapore. It was a good trip and I hope some more good things come from the meetings I had and the presentations I gave.

Saturday, December 04, 2004

My MSN Space

I've created my own place in MSN Spaces. There is not much there yet. I'm not sure I see what I'll put up there as I now have this blog and Always Summer Time.