Over the past few weeks there has been a lot of frustration at work. I feel like we have some just great developers, but because we are in a transition to becoming a small company from a startup, there isn’t a lot of structure. This leads to a lot of duplication, and not a lot of sharing of ideas.
After an IM conversation with Brady (who starts with us on the 29th! Booyah BoA!) he said a classic line – “I’ll leave you to your demons”. That got me to realize that it was my demons that I was dealing with, and if I was frustrated with how things were being run, then I needed to pony up to our VP and lay it out.
So yesterday I did just that. I told him I was frustrated by the lack of communication from Senior Management, the stopping of the stand-up meetings, and the lack of communication as a whole. I was frustrated by him throwing more and more resources at a project which is our highest priority, but shouldn’t need that many resources. Most of all I was frustrated with his lack of management of the team, and I told him we needed him to be a manager, not a frickin developer. Oh, and that none of us could stand it when he asked us a question and then walked off halfway through us answering him.
Anyway, after some discussion of the projects and the teams, I convinced him that we have some talented people, who I’m sure would love to be more agile in their approaches, but because they haven’t done it before, they would have a hard time starting it on their own, and needed a push. So he approved for me to jump projects and help bring more agility into it through various XP Practices.
After lunch I started to really evaluate various tools I could use to make things easier. I’m already a big fan of NUnit and NUnitAsp, so those were no brainers. My next focus was on the build process. While I had heard a lot about NAnt and CruiseControl.NET, I had never made the push to actually try them out. Ctrl-Shift-B from VS.NET worked just fine for me. :)
So I downloaded them, and gave them a spin. I followed this great tutorial called CruiseControl.NET From Scratch to get everything up and running. Having never used NAnt or CruiseControl.NET before, I was surprised how quickly I was able to get up and running. One thing was that we use Subversion instead of VSS, but even with that it didn’t take me long to get it working.
Now, it wasn’t without a couple of gotchas. NAnt has a companion project called NAntContrib which provides integration with Source Control and a whole host of other features that haven’t found their way into NAnt. Make Sure NAnt and NAntContrib are the same *exact* version! I was running NAnt 0.83, and NAntContrib 0.84-rc3, and they didn’t work. Moving them both to .84-rc3 and they worked. Only took me 3 and 1/2 hours (grumble, grumble).
But once I got it working, I moved one of my existing projects over to it, with all of the NUnit tests. There were some gotchas with references, and because part of the project is ASP.NET I had to learn about the webmap attribute of the solution task. And then, the console app said it had built, and I pulled up the web interface, and there it was in all it’s glory!
So now on to getting it documented and setup to move on to playing more with ReSharper. Good stuff.
(On a slightly related note – with the hiring of Brady (and Bill just a few weeks ago) we are beginning to realize the bringing back together of the infamous Wachovia .NET team. Now if we can just get Travis, Mark and Daniel here…)