Who is Responsible for Setting Up An Automated Builds System

changecontinuous integrationversion control

I am a project manager at my company. I work with a few teams of developers using a standard, well-known version control system known as CVS. I'd like to see continuous integration and automated builds implemented to help prevent problems with the build breaking and with bad deployments sneaking onto the production servers.

I am sure I can set this up myself, but I don't want to do this myself for two reasons:

  1. I don't have time for it. I have my own responsibilities, which involve marketing, communication to other stakeholders with team members not part of development, communicating with customers, and project planning.

  2. Most importantly, I'm the project manager. My purpose is to provide leadership, not to micro-manage the development team.

What are some things that I can do to find someone on the development team who would be passionate about setting this up? Is a developer the right person for this task, considering it requires knowledge of Java, Spring, and Google App Engine? What are some tips for helping to promote change where change is feared?

Best Answer

I'd first research some possibilities. For instance, Hudson is a rather popular continuous integration server and is extremely flexible. You could e-mail your dev team with something like this:

I'd like to introduce a continuous integration tool so that toxic revisions surface much sooner than later. I've looked at [hudson, acme CIS, foo] and all of them look like they would work. Given the fact that we're using CVS with [ list caveats here ], I'm looking for recommendations and I'll live with whatever the team decides.

Dave, please take charge of getting a consensus and getting this up and running. Team - please have your input to Dave by the end of the day Thursday so we can test this on Friday.

Please send me my credentials once we have something established.

This approach has the following benefits:

  • You are delegating, not dumping
  • People know you have done some research, the quality of the stuff you point out helps to define your expectations for the quality of the tool implemented
  • You are aware of [ caveats ], let's not get derailed discussing them unless they really are deal breakers for the task at hand
  • You allow a bit of democracy. Sure, you'll login to see if anything broke, but the people who have to deal with a CIS will be the ones to chose the platform.

In my mock scenario, Dave was selected because he has the least on his plate and would probably have no problem setting up a new server. Depending on the work load, Dave might just have to be you. That's so subjective that I simply mention it. You can't always say not my job to do that especially if you are the only one who has time to do it. If everyone is already pulling over time, their perception of your willingness to help becomes more important. Gauging that is a skill you develop over time.

In any event, you'll either have a CIS server by Friday, or details on why that just isn't possible without an extra set of hands.

Related Topic