Вы находитесь на странице: 1из 4

PMI Virtual Library 2009 David Nessl

Configuration Management Primer for Project Managers


By David Nessl, PMP, MBA Abstract
A Guide to the Project Management Body of Knowledge (PMBOK Guide)Third Edition describes configuration management (CM) as a tool or technique within a project management information system and as an element of integrated change control (Project Management Institute [PMI], 2004). But how does CM concretely relate to change control? Why should a project manager use CM, and should it be used for all projects? Also, configuration management as a job function is appearing more frequently in job postings, but project managers need to know that there are two incompatible jobs being called CM.

sk most project mangers whether they use principally aerospace. They dealt with huge bill-of-materials configuration management, or even what it is, hierarchies, including drawings of each part and assembly. and youll most likely get a blank stare in return. That led to problems of how a revision A Guide to the Project to one part might necessitate a Management Body of Knowledge corresponding revision to another (PMBOK Guide)Third interlocking part in order to be As engineering shifted Edition describes configuration able to still fully assembly the final management (CM) as (a) a tool product. The goal was change from paper drawings or technique within a project managementthat is, how to manage management information change so that a revision to one piece to computers, we were able system and (b) as an element wouldnt break the ability to assemble to take advantage of a tool of integrated change control a product. (Project Management Institute As engineering shifted from borrowed from software [PMI], 2004). But how does paper drawings to computers, we development called a version CM actually contribute to were able to take advantage of a tool change control? What value borrowed from software development control system (VCS). does CM add that would make a called a version control system (VCS). project manager want to use it? A VCS allows a new revision of a Should CM be used for all sizes computer file, such as a drawing of and types of projects? a part or assembly, to be checked-in To answer these questions, we need to look at how CM to the VCS. The VCS stores both preceding revisions and evolved. the latest revision, and users can ask to check-out the latest revision or an older revision. Even better, tools can compare A Short History of Configuration Management two revisions of a file to determine what exactly changed (e.g., Configuration management grew out of several industries, that the length of a widget changed from 5 mm to 10 mm).

Finally, it allows us to map dependencies between files, either implicitly by the hierarchy in which we place files in the VCS, or explicitly enumerated as meta-data, so we can know what other files must also be updated if we should decide to change a given file. In classic CM terminology, the place where we store configuration data is called a configuration management database, or CMDB. When we use a VCS as the CMDB, we have a version-controlled CMDB. The line-items in each document are called configuration items (CIs). Using Configuration Management for Project Management Now envision placing all of our project management documents into a CMDB, such as our scope statements, WBS, resource estimates, budget, schedule, risk plan, and so on, each as a separate file. In general, all inputs and outputs of project management processes, each in a separate document, are the projects configuration, and as such are candidates for the CMDB. Further, the PMBOK Guide also shows how the outputs of various project management processes are used as input for other processes. This tells us the dependency relationships between our project documentsthat is, when we change one document, which other documents are likely affected too. This has a nice implication for integrated change control: Because we have this dependency mapping, a project manager who accepts a change to one project document can identify all of the other project documents that may also need updating, so that he or she can be sure to make the requisite cascade of updates. Thats a lot of fiddly detail work to ask of a human, but a good CM toolset will automate the dependency checking and approvals workflow. Of course, the discovery of additional cost or delay associated with dependent changes may, in turn, cause the original change request to be rejected. By putting our project documents into a CMDB, we also obtain several secondary benefits: We can monitor to catch any unapproved changes to our project plan, who made the changes, and why. We have a history for use in audits and lessons-learned. If we reach a crisis point, we can use that same history to factually report the sequence of bad decisions or external events that led us to the precipice. We can trivially back out to a previous plan revision if a decision to allow a change is reversed.

Many project management tools available today include the ability to create a baseline that is intended to contain the initially approved plan, against which we can later compare actual performance. This baseline facility is just a poor mans version control system (VCS) that is limited to a single revision history. In contrast, a version-controlled CMDB provides sophisticated tagging and branching capabilities that allow us to compare between any points in time, such as between arbitrary project phases and milestones. One immediately obvious stumbling block to implementing configuration management for project management is that most project management tools that are available today, in trying their best to integrate project processes, output one big file that jumbles together many of our conceptually separate project documents. One solution is to not use those project management tools. This is easy for the many sites that mostly use spreadsheets to manage projects. To make this work, simply place each project document into a separate spreadsheet. Then store each spreadsheet as a text-based comma-separated values (CSV) file in the CMDBthat way, comparison tools can identify the individual line(s) that changed. For sites that use specialized project management tools, the solution is to use a tool chain that extracts the data from the proprietary project tool into separate project documents. Many sites are doing this already on a regular basis for reporting purposes, such as to feed data to their PMO. Ideally, the tool chain would be completely automated and run nightly. Should I Use CM to Manage My Projects? The need for CM depends not so much on project size, but rather on your sites requirement for auditability and whether you have multiple people updating the projects configuration (i.e., the project documents). The version-controlled CMDB not only provides an audit trail of who made what changes, but also uncovers details such as whether project status was tracked and updated as frequently as management expected. Using a CMDB also tends to enable collaboration, because the official copies of project documents are kept in a central server instead of on one persons laptop. And by using a VCS-based CMDB, project documents can be locked when checked-out, which enables safe offline editing. Another consideration is tool support. At this time, project management tool vendors generally dont understand

PMI Virtual Library | www.PMI.org | 2009 David Nessl 2

Software Configuration Management (SCM) is Not CM! Some of you have seen the term software configuration management (SCM). Beware! Dont be fooled into thinking it is simply CM applied to IT. Even worse, SCM jobs are frequently advertised simply as configuration management jobs. SCM is a function within the Projects for Industries Configuration software development domain. That Use Configuration SCM is not a tool or technique Management management is a set of that project managers use. The CM is a tool that can be applied tools and techniques that goal of SCM is to deliver software to many industry domains. builds as quickly as possible. This CM is increasingly used in IT, enable better change control delivery-oriented goal conflicts particularly for IT infrastructure for project documents. with the consistency-oriented goals management. of CM. For example, a project There is some overlap between manager might be assigned a CM and SCM, principally in that project to upgrade some IT they both make use of version control infrastructure to a new software systems (VCSs) and the best practices for branching. version, such as a Java application server. One common scenario is that the existing Conclusion software release cant be upgraded in-place, in which case As weve seen, configuration management is a set of tools the newly installed application server version must be and techniques that enable better change control for project configured again from scratch. This sounds simple until documents. CM is also used in many industries whose one realizes that a typical Java application server (such as projects project managers manage, so understanding CM IBMs WebSphere) might have 20,000 to 30,000 separate concepts for project management will also help project configuration elements per cluster, with a dozen clusters managers in those industries. The reason we use CM in for development, testing, and production. But if the IT project management is because it enforces consistency and department can use a CM tool for collecting and provides an audit trail when project documents are changed. managing its Java application server configurations, they It also enables collaboration. can, at a minimum, compare the new configurations to Hiring managers, including project managers, will be the old configurations to make sure no configuration item receiving an increasing number of requests for configuration was forgotten or mistakenly given the wrong value. managers on their team. It is important for managers to Further, if the IT department can obtain a CM tool that know the difference between CM and SCM so that they can can push configurations back into the Java application understand which skill set their team really wants. servers, the configuration of the new servers can be If you want to know more about classic CM processes automated instead of done manually. and practices, one place to start is CMMI (Capability In many cases, youll run into IT infrastructure Maturity Model Integration), specifically CMMI for management tools that seem like one-off solutions when, Development (CMMI-DEV) (Software Engineering in fact, they are really just examples of configuration Institute, 2009), in which CM is one of 22 process areas. management tools. Examples include IPAM (IP address Likewise, CM is a process within Information Technology management) in networking, and asset management tools. Service Management (ITSM), as described in the popular Once you realize that these are just targeted CM tools, you Information Technology Infrastructure Library (ITIL) can apply the general principles of CM to get the most out (Wikipedia, n.d.). of them. configuration management and the need for their tools to interact with a CMDB. As a result, extensive use of CM in project management is mostly limited to large organizations that have dedicated CM professionals on staff. It is hoped that this paper will serve as a call-to-action for project management tool vendors (or as an opportunity for entrepreneurs).

PMI Virtual Library | www.PMI.org | 2009 David Nessl 3

References Project Management Institute (PMI). (2004). A guide to the project management body of knowledge (PMBOK guide) (3rd ed.). Newtown Square, PA: Project Management Institute. Software Engineering Institute. (2009). CMMI for development, version 1.2. Retrieved from http://www.sei.cmu.edu/ publications/documents/06.reports/06tr008.html Wikipedia. (n.d.) Information technology infrastructure library. Retrieved from http://en.wikipedia.org/wiki/ITIL, section 6.1.6

About the Author David Nessl, MBA, PMP, is an IT and Business Process consultant with over 25 years of hands-on experience managing software development and IT infrastructure projects. His employers and clients have included universities, the US Department of Defense, and Fortune 00 companies, including a recent Fortune 500 engagement where he authored the Configuration Management Guide adopted enterprise-wide. He can be reached at david.nessl@openpace.com.

PMI Virtual Library | www.PMI.org | 2009 David Nessl 4

Вам также может понравиться