What is build and release management?
Last month I took on some new responsibilities at Fog Creek - I am now the build and release manager for our products. Since starting here a little less than a year ago, I’ve been making regular suggestions around our processes for developing and releasing our software. That, combined with a pretty heavy load on my manager, who was spending 50-75% of his time managing builds and releases, made it obvious that we needed someone whose sole responsibility was maintaining and improving our build and release scripts and processes. Once we all realized that I would be a good fit, I started the transition to this new role about a month ago.
So what do I do? Well, I see my responsibilities falling into a few major areas.
- Monitor our daily builds and farm out any build breaks
- Make sure the QA team has current builds for testing purposes
- Create and deploy major and minor releases of FogBugz, Kiln, and our supporting tools (such as the Fog Creek website)
- Improve, streamline, refactor, etc. all of our build and deployment scripts
- Create and maintain developer and management tools related to building and releasing our software
- Improve our company culture around builds and releases
- Where appropriate , be a liaison between developers and the system administrators
When I worked on Microsoft Office, they had quite a large team of developers who took care of these responsibilities. Obviously, a smaller company will probably not even have a dedicated person doing these tasks - it wouldn’t make sense. But even one person development shops should take stock of where they stand in the areas I mentioned above. With a proper focus on these tasks over the last few years, I suspect Fog Creek could have delayed dedicating someone to this work. As it stands now, there is plenty to do, and I feel much busier than I did writing new features for Kiln. As I get deeper into the work and learn more about the responsibilities involved I may change my mind. Whether or not I do, I plan to share both what I currently know and what I learn through hard experience (or just from reading good books and blogs).