del.icio.us Tags: ,

On my flight from Charlotte to Phoenix this week I listened to a number of podcasts.  One of my favorites is Hanselminutes.  Scott Hanselman talks about a lot of thins I am interested in.

In the Line of Scrumage podcast Scott talks about applying the Scrum agile process in his work place.  Most of what he talked about are things that we have been using at JDA Software Group Inc.  However Scott brings up an interesting point about applying Scrum processes to a 1 person team.  I have often thought about this for some of my own personal projects.  I often do small projects for myself and I end up playing the roles of product owner, business analyst, developer, and tester.  So could I effectively use Scrum as a way to manage these projects?  Well I have sort of attempted this on a couple projects and here is what I found out.

The part about building a backlog of stories that are features to get into a product and giving them a priority is something that has worked for me vary well.  I find it easier to express the features that I wish to get into my projects as a story.  The story format lets me capture the user, action and benefit in a quick step.  If I had to spend a lot of time working out the functional documentation of a given feature I am afraid I would not end up completing the feature in a timely fashion.  Even prioritizing the features helps me focus on what needs to be developed next. 

However the process of story pointing features and planning them out over multiple sprints just does not seem to give me any real benefit.  The main reason for this is that since these projects are personal projects they do not get a consistent amount of time dedicated to them.  I might have 3 hours 1 week and 0 hours the next to dedicate to the project.  So planning for sprints and trying to determine my velocity is somewhat difficult.  This aspect of Scrum ends up not being part of my personal projects.  This is ok for me though because I feel more organized by maintaining a backlog with priorities.

I have been using Virtual PC for various reasons around software development.  I find it very useful to maintain old development environments.  One of the big gotchas that I have run across is copying virtuals and attempting to use them on the network at the same time.  A copied virtual assumes the same machine identity so it ends up colliding with the original virtual on the network.  I know you can prepare a virtual image to prompt you for a new machine name when it first comes up but I have never looked into how it is done.  I found this article on using Virtual PC in a development environment.  It has a number of tips and tricks I have been using for a while but more importantly it has the instructions on how to make a virtual unique on the network.  http://coolthingoftheday.blogspot.com/2006/06/using-vpc-for-development-and.html

Even MSDN is using a wiki to share information.  I like the fact that you can use the tree control to quickly navigate the content.