Monday, October 23, 2006

Podcasts - IT radio to go

I've had a lot of electronic 'devices' over years. Some of them I used for quite a while and got decent benefits from while others I felt never really paid back the investment. The device that changed all this for me was the iPod. I picked up a 30GB iPod photo in April 2005 and since then it's become an essential part of my day.

The obvious use for my iPod was to load up my music collection (long since converted to MP3 format) and my digital photo's, but one thing I was excited to try was podcasts. Podcasts are the fusion of portable mp3 players, PC recording technology and RSS news feeds. April 2005 was early days for podcasts but since then the number of available podcasts and their maturity has increased exponentially. Now I'm hooked on this form of grass-roots broadcasting (or DIY Radio as Doc Searls put it).

I listen to a number of podcasts every week based on topics such as science, environment, current affairs and video games, but one of the most interesting subjects available in podcasting is IT.

Think of listening to IT podcasts as attending virtual conferences on your own schedule, where you get to choose which topics and speakers you are going to listen to. My favourite IT related podcasts are:

  • IT Conversations. The 'granddaddy' of IT podcasts, produces more shows by far from many speakers than any other podcast. Also produces a lot of podcasts based on talks given at popular technology conferences.
  • Software Engineering Radio. A couple of interesting German guys talking about hard-core software development issues.
  • .NET Rocks. Microsoft-backed podcast discussing various aspects of .NET software development. Some interesting topics and speakers (just watch out for the Rocky Lhotka smackdown!).
  • The Java Posse. By far and away my favourite IT podcast. Produced by a group of four friends who have been in the Java space for many years working at companies such as Borland, Sun, Apple and Google. They talk about the key issues in Java software development with a humility and sense of humour that makes for great listening.
  • FLOSS Weekly. Hosted by Chris DiBona & Leo Laporte. A series of interviews with leaders from the open source community.

So, if you haven't already, it might be time to make IT podcasts part of your professional journey. Already there? Let me know which IT podcasts you like.

Monday, October 02, 2006

Developer TLC

Software development projects fail for many reasons. Issues with budget, direction, management, customer buy-in, scope, etc. can all result in failure.

Another common problem is the failure of the development team to deliver the right functionality on time and on budget. What’s the best way to tackle this fundamental issue? Hire good developers and create a working environment that allows and encourages them to excel.

How does a leader create this environment? Here’s what I think:

  • Understand and embrace good software development practices. There are common practices that reinforce a strong focus on software development activity in the project, regardless of the technology or application being developed. Understand things like unit testing, refactoring, code reviews and continuous integration and make sure they are planned for and supported in the project.
  • Put the focus of your projects on delivering working software sooner (as opposed to heavy process or big design up front methods). Release early & often, get lots of user collaboration & feedback, use short cycles. Let the developer work ‘see the light of day’ as early as possible – the team needs the feedback.
  • Make sure your developers have the best hardware and software you can reasonably arrange. Things like dual displays, laptop RAM and software tools go a long way to support developer productivity.
  • Invest in developer technical & industry training in the form of a professional development program. Give your developers a budget and time allocated to their personal skills development. Put support in place to help them plan/schedule these activities and maximize the benefit. Let them buy any book they need.

Hire good developers, treat them well, and you’ll be halfway to a successful project no matter what other issues you may be facing.