Michael J. Turner

Yet another blog experiment

Y2K7 problem I didn’t know I had

When I got in today after a weeks vacation, I noticed the build was broken.  Not a problem I thought as we’ve had issues with the build “breaking”.  We just hit run now and it fixes itself.  However, this morning it staid broken after a couple of attempts at forcing the build.  So I check the error and there was an actual error.  Something cryptic about the version number being wrong.  So I let it go while I went through my email and rss reader.  Then I came across this post from Rob Mensching and my problem was solved before I even knew I had a problem.

The only real issue I had in fixing the problem is what my options were with the version element from msbuild.community add-in I was using.  I’ve settled on the NonIncremental rather than Date for the moment for the to get it building again, but I’ll have to think of a better long term solution before too long.  Hopefully by then I’ll have a better idea of what is possible with that element.

January 2, 2007 Posted by Michael | Software Development Processes | | No Comments Yet

From developer to architect

With my career based on Microsoft languages, I’ve been aware of and sort of active in user groups such as the old VB user group and .Net user groups in the Puget Sound area. While they showed new and future features in the tools and the languages, they never really got into how I could improve myself as a software developer. About a year ago I came across another one, the International Association of Software Architects (Puget Sound Chapter). It claimed to be vendor agnostic and was touted more as a “professional organization” than the user groups. Since there was no cost, I joined and went to a meeting. I’ll have to admit I was impressed. Charlie Poole of NUnit fame did a presentation to the group and there was cool discussion.

However, after that school and life took over and while I kept rough track of what was happening, I didn’t go to any more meetings until this past week. It was quite interesting as there was discussion about scrum and we broke into groups to discuss a couple different topics. The group I was in discussed how architects should interact with the teams they are involved with. Even though it was interesting, it was definitely clear that I was a junior to all the people in the room. To me though, it seems this is something the group would be great in addressing; how to bring along new architects. You know help build that group knowledge. Like stone masons and carpenters. So I posted the following to the group message board:

Hi Everyone,
I really enjoyed the meeting last week. It was great hearing the
discussion about how software architects can be a part of their
organizations. However, even though I’ve been doing development work for several years, it was quite obvious that my knowledge of software architecture and the various methodologies is severely lacking. I saw the earlier post about what people would be looking for when hiring an architect, but a lot of that was a foreign language. I realize there probably isn’t a twelve step program, but my question then is how do I go about gaining the skills that can move me from programmer to architect?

I’m very curious to see how this plays out because this is something I’m definitely interested in pursuing. Learning more about this whole thing certainly won’t hurt my career!

October 1, 2006 Posted by Michael | Software Development Processes, Software-Architecture | | No Comments Yet

Building…the process

Earlier, I mentioned that we are trying to implement a build process at work.  I still haven’t found much information on what a build process should encompass, but since we are using .NET 2.0 with Visual Studio 2005, a consultant was brought in to set us up with CruiseControl.net.  It has been running now for a bit and I absolutely love it!  It is setup so that each of the two projects are built every 20 minutes from whatever has been checked in during the last period.  There is also a daily build that goes in the middle of the night and is pushed out to a test server.  It is fantastic that you can see in a very short period of time whether or not the whole code base is stable.  It gets rid of the “it runs on my machine” thing.  If it doesn’t compile on the build machine, it isn’t right.

A side effect I’ve seen is that I’m way more careful about what I check in.  Because everyone is watching the builds, it is quickly known when there are mistakes!  The one process I do for myself now that I have never done before is to get the latest version of all the other files and do one final compile before I check in my work.  I find this keeps the stupid mistakes down a lot.  Once I get into the actual mechanics of the build process, I’ll post.

September 27, 2006 Posted by Michael | Software Development Processes | | No Comments Yet

Starting a build process

At work we’ve been working on an internal project. This project is different in that a group of us are working as a team on the single project. Usually we would work individually on different projects. As part of this project it has become obvious that it is much harder for us to use the usual ad-hoc process. That meant a build process.
I thought it would be easy to find information, setup the process, and get to coding. But, the information I found so far is mostly tool specific. Ant, Nant, CruiseControl.Net, etc. Great information for once you choose the tool. I’m not sure if I’m searching for the wrong thing or what, but what I found didn’t really help. I was hoping to find some best practices for what activities should be done around a build process, as well as things like how often a build is done and what outputs people use to take an accurate pulse of the project. Oh, well. I’ll see what happens as we move forward.

September 21, 2006 Posted by Michael | Software Development Processes | | 1 Comment