Setting up a Build Server Part 3 – Interlude

I am a bit late in posting this article, I had to finish some work for a client.

The strange thing is that it is the same client who caused me the problems which started this. The history of deployment to this client is briefly this: First time we had to make sure that we were going to the right place, check connection strings etc etc. So it was a case of check and double check and that made it go a little slowly. In addition I had a missing dll on my laptop so I went back to work, fortunately close by, did a fresh checkin from Subversion onto the laptop, recompiled, and went back to the client. All up, deploying and running a few acceptance tests took a couple of hours. Far too long in my view.

The second time was a nightmare. There were a few changes requested by the users and one additional feature. There was also one feature (user story for the agilists) that I had misunderstood slightly. That meant a couple of hours work. But it emphasised the value in short iterations. The first iteration was four weeks. So, very quickly, a wrong understanding by me of the requirements is rectified. If I had been given the requirements for the full product and disappeared for three months that would have been a lot more time, and a lot more money, developing the wrong feature. Back to the deployment. The client asked for a zipped file which I sent to them. I had forgotten to change the database connection string, so it didn’t work. Fortunately it didn’t crash but brought up a nice message box with a re-assuring message that all was right in the world. But it wasn’t going to connect.

I changed the connection string and recompiled, rezipped, and re-emailed. I forget the next problem, or the next or the next. However, I sent the first zipped file on a Friday. They got the working version on Tuesday and I felt, and probably looked like a fool.

The third iteration was again on a Friday, perhaps a bad omen. I wasn’t risking sending a zipped file so I loaded everything onto the laptop and went to see the client. I was there for about half an hour – 25 mintues talking about the next project they want done, and 5 minutes deploying. The guy who did the deploying did his black magic about which I know nothing. Two screens, each with half a dozen open windows filled up with line after line of voodoo incantations, and suddenly it was deployed. He checked the new features and the changes. He checked a few old things and it all looked fine. I left feeling relieved, knowing that this was more good luck than good management.

I said in thelast article that I used Windows Server 2008 because I wanted to try it out. I nothing of servers and I had trouble getting the network working properly. After a few days of frustration I removed it and installed Vista because I have set up a Vista network previously. In any event it is really a peer to peer network that I am after, not a client-server network. So getting to know Server 2008 is for another day.

Getting a few PCs to talk to each other is a piece of cake for a network person. Not for me In the old days when I worked for an employer and had a network problem I would ring up a network guy (it was always a guy) who would come up from the bowels of the building, or whereever they lived. He would ask a few questions that I couldn’t understand. I would shrug my shoulders so he would ring up another network guy. They would talk in acronyms for a while and suddenly I was back on the network. I don’t know how it works.

Eventually I got the network setup. The computers could talk to each other and I could login to SqlServer remotely. It was time to continue.