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…)
My similar experience has been that there is a high startup cost to putting CruiseControl.NET and NAnt in place, but once they are there, they require practically no maintenance. And the benefits are great.
For one thing, it used to take us days to make a good build, mostly because of all the integration and versioning issues that had to be resolved. CruiseControl.NET + Nant = problem solved.
I’ve got a deploy script running from Nant- basically just copies some code to the appserver and deletes and then creates a website (using customized tasks). It works fine running from a .bat, but when i run it thru CruiseControl, I get an error saying it can’t see the app server. It seems to run the Nant script as a different users when it’s run through CruiseControl. I’ve set the Cruisecontrol service to run as me, and even a domain admin, but still no luck. Does anyone know how to attach a user to the CruiseControl cnet.config? Or how to delegate a user within the Nant script?
Thanks. This was a great post.
-mfitzerald
Hi. I found your site while searching for “Wachovia.net” which I know is an intranet site, not internet. I was recently hired on and actually am still going through teller training, so of course I have no idea what your website is about. What I want to know is can you tell me how to access the Wachovia.net website at home. Other employees have been able to do it, but I can’t seem to, from three different computers. After reading, it just seemed like you might know that. I do have an A# and a password. I just need to get the site to actually come up. I will get a DNS error or something like that when I try.
Sorry, no I can’t help with accessing the intranet site. .NET is a technology we used when we worked at Wachovia, which is a bit different that Wachovia.net.
If I had to take a stab at it, you probably need to use what is called a VPN to access the intranet. Sorry I couldn’t be more help!
i have started to setup the same in my company but after today’s work i am able to build only a small project in nant.
Pray for me that i complete it in the time i have thought it to be.
Shujaa.
Karachi, Pakistan