Home
About Us
Site Map
Products
Services
PMP® Certification
PM Tips & Tricks
PM Tools & Techniques
Links
Contact Us
BLOG

 

 

Build Masters

Build Masters (also known as librarians) are a key resource on any software development project. The key deliverable for any software development project is the system or application under development, but that system or application is built from the software in the source library so I would argue that the items in that library are the key deliverables for the project. The system or application can be re-built from the library if anything goes wrong but you can’t rebuild the library from the system or application. The source library is under the care and control of your build master or librarian which makes them a key resource for your project.

Mature organizations that already support software systems will have an operational person in that role, but that doesn’t necessarily mean that they will be available to your project. Organizations that are venturing into the world of software development and support for the first time won’t have this person in place which means the project manager must seek the right candidate out and groom them for the role.

The reasons for choosing a build master already in place to take that role on your project are obvious but it won’t hurt to articulate them here. The build master has experience in the tool suite available for managing the source library and performing builds, they are familiar with the standards, guidelines, processes, and procedures your organization has adopted to lend discipline to the activity, and they are familiar with the organization both on a personal basis and a political basis. For all these reasons you want this person on your project if at all possible. Whether or not you get the person on your project will depend on the perceived importance of your project in relation to any other projects your organization is performing and the operational activities that constitute the build master’s "day job”. The decision on the disposition of the organization’s build master will rest with someone outside your project, probably with the head of the IT organization. Your job is to state the importance of your project using the business case and communicate the importance of a good build master to the success of the project. There is one other bargaining chip you have in this negotiation: someone on the project team who would be an acceptable replacement for the build master.

If you are unsuccessful in engaging the resident build master/librarian, or your organization doesn’t already have one, you’ll have to identify someone who is a fit for the job and groom them for your project. Grooming the build master in the requirements of your project is actually a job you’ll have to take on in any case; familiarity with the function on other projects, or the operational environment doesn’t mean the resident build master won’t need training in the unique requirements of your project. Let’s assume you can’t have the organizational build master and examine the criteria you should use to choose a good candidate.

I would argue that the most important criterion for your build master is not a technical one. It is that the person has the ability to assert themselves and hold developers to the standards set for them in terms of use of the source library, testing standards, etc. This ability is critical and without it your development environment will turn into the Wild West where the most forceful personalities impose their will on the build master and other developers. Regardless of whether you identify someone for the role who is an existing team member, a member of the organization, or have to engage someone externally, look for this ability. The best way to ensure your candidate has it is to seek evidence of it in past roles. Those roles don’t necessarily have to be as build master but should be in some leadership role. Lead developer, code review moderator, design review moderator, and database administrator are a few examples of roles where an ability to be assertive can be demonstrated. Have your candidate describe situations where they have demonstrated their ability to be assertive when interviewing them.

Experience with the role of build master will be important if you’re engaging a person who is external to your organization. Look for someone who not only has experience with the same tool set as your project, but also has experience with the size of project you’re managing, the standards, guidelines, processes, and procedures your project uses, and with your type of organization.

Your build master should have the ability to remain calm under pressure because build master is a role where lots of pressure will be felt. Experience is the great teacher in this area so once again, you need to look for roles which allow the candidate to demonstrate that experience and then have them describe instances where they have demonstrated it during your interview.

When engaging someone from within the organization, look for someone with experience with the tools your organization will use for your project. These tools will include source library tools, compilers, continuous integration tools, test tools, and relational databases. This experience can be gained as a developer in an environment that used the tool set your project will use. Also look for a demonstrated ability to install new software in test and production environments, which are important components of the build master role.

You will have to train a person who is new to the build master role, no matter how much experience they have with the tools, rules, and being assertive. This is where your negotiation abilities will come into play. The best person to provide the type of training your new build master needs is the organizational build master. Look to engage your project build master early on in the project and have them shadow the organizational build master as they do their work. This coaching should also bring to light any deficiencies in your new build master’s skill set you did not foresee. Meet with the organizational build master after the first build and deployment of an operational system, or system from another project, to evaluate your project build master’s abilities. Develop a training roadmap to make up any deficiencies identified.

Once you’ve selected and trained your build master, seek and accept their input into the definition of the processes and procedures that your project will use to build the system. Their input will be especially helpful in the area of code freezes, test data, ready to build criteria, etc. Your build master will have to implement and enforce the processes and procedures that are defined for your project so they should be comfortable with them. This is especially true when processes and procedures must be executed iteratively which is the case for just about any Software Development methodology other than Waterfall.

The tips and tricks described in this article implement some of the best practices promoted by the PMI (Project Management Institute). These are taught in most PMP® courses and other PMP® exam preparation training products. If you haven't been certified as a PMP® (Project Management Professional) by the PMI and would like to learn more about certification, visit the three O Project Solutions website at: http://threeo.ca/pmpcertifications29.php. three O Project Solutions also offers a downloadable software based training tool that has prepared project managers around the world to pass their certification exams. For more information about this product, AceIt, visit the three O website at: http://threeo.ca/aceit-features-c1288.php.