The first step in building a project plan is to gather together all the tasks that must be accomplished. For configuration management, the list consists of requirement tasks, scope definition tasks, process customization tasks, and data population tasks. The following sections serve as a reminder of the tasks involved with each of these activities and give some hints about the duration of the tasks and the dependencies between them. The intention of these sections is to give you a solid base for building a realistic project schedule.
Planning for Scope, Granularity, and Span
The first thing that should go into your project plan is the scope and granularity that you documented in Chapter, "Determining Scope, Span, and Granularity." Setting the scope and granularity comes even before defining and analyzing the requirements because without a solid scope, it will be very difficult to structure your requirements gathering sessions. Those early requirements gathering sessions with your stakeholders must be based on some already derived work, and the scope documentation is a perfect starting point. Just be careful that you don't set the expectation that scope is completely finished—at this stage, it is really just a working model that will be shaped through the requirements gathering. Upon understanding even the basic concept of configuration management, most people will be eager to start talking about scope, so this is the first part of the plan.
Begin by defining the set of steps necessary to get a solid scope. You can go about this exercise in essentially two ways. You can start with a pre-existing scope document, such as the Desktop Management Task Force's (DMTF) Common Information Model (CIM). This model defines a set of objects that encompass a typical information technology (IT) environment. The model is very rich and extensible, and it's probably much more detailed than you want for your initial implementation. So, the best way to use the model is to understand its use, and then begin to choose pieces of it that you will implement in the scope of your project. This is the "subtractive" method of defining scope. Typical tasks that you would add to your project plan when adopting this method might be "analyze CIM model," "work through the application subset," and "review proposal for system subset." Eventually you should work through all the subsets of the overall model and determine which you will keep in your scope.
One way to build a schema is to subtract from an existing model; another way is to add based on brainstorming sessions.
The "additive" model for building a scope is to begin with looking around your organization, using any convenient framework you may already have. Perhaps your support teams are broken into a network group, a distributed server team, a mainframe operations team, an application development team, and a workstation support team. That's a framework you can start with. Meet independently with each team and quiz them on the key objects they deal with every day, and then use what you learn to define the scope of configuration management that will serve that team. If not from your organization structure, you might also find a useful framework from the categories used to classify incidents in your asset management tool or from the set of asset types in your asset management system. The two methods for getting at CMDB scope are depicted in Figure.
Regardless of the approach, your discussions on scope will frequently lead to conversations about span. Your project tasks should encourage this interplay and make time for it to occur. Rather than a sequential relationship between scope, granularity, and span, make these tasks overlapping, where span and granularity cannot complete before scope does. This will represent a much more realistic plan, although the total time taken for developing your complete schema will not necessarily be shorter. The iterative nature of the discussions will, however, allow you to create intermediate milestones. For example, you could create a task called "define scope for network equipment," another called "define span of network equipment," and a third called "define granularity of routers. This allows better project management than a single task for creating the network part of the schema.
After you have a framework, you repeat a cycle of interviewing people who are experts in each space, documenting what you've heard, sharing it with the domain experts for confirmation, and then reviewing it with your stakeholder team to make sure the framework will meet the defined requirements. Using the additive approach to setting scope will typically take longer because this cycle will need to be repeated several times in each area of the framework as questions are raised and thinking becomes more mature. The strength of this additive approach is that you will have a greater assurance that your scope will meet the needs of your entire organization because you've built is by consensus.
Whichever approach you choose for determining scope should then be followed by a set of tasks for gaining agreement on granularity. The best method here is interviewing the people who have the data (normally the support teams) and the people who will use the data (your stakeholders). Through a series of interviews and documents, you should help these two groups come to consensus on the right level of granularity, using the rules of thumb documented in Chapter . From a project point of view, these tasks for getting to granularity can be run in parallel with the start of getting requirements, assuming you have enough staff to do both things at once.
Of course, in all your discussions about scope, span, and granularity, you should never lose sight of the requirements you've defined. You should certainly include the tasks needed to define your scope, but those tasks should be interlocked with the tasks needed to meet the requirements as described in the next section.
Planning to Meet Requirements
The majority of tasks in your project plan should be directly related to the requirements you have committed to meet. In Chapter , "Gathering and Analyzing Requirements," we learned that requirements need to be prioritized because it might not be possible to complete all of them in a single project. Now it is time to revisit that idea. Most successful configuration management programs are implemented in a series of discrete steps or phases rather than as one single project, so you should be thinking in your project plans about what those pieces might be.
Here are some general guidelines for breaking up a configuration management program into workable pieces. If your organization is not starting from the very beginning, some of these phases may be less applicable, or could already be accomplished. For everyone else, the first phase will probably include some way to prove the value of configuration management to your organization. This might be called a "pilot" or a "proof of concept," but the idea is to implement enough of the organization, the process, and the tools to prove the value is real. In most cases, this will involve choosing a small set of IT decisions that have significant value and organizing a miniature configuration management system to help make just those decisions. If you're struggling to determine the correct hardware refresh cycles, for example, you might choose to implement configuration management for Sun servers as a first phase. Implementing all the processes and tools to manage these servers, including tracking incidents and changes associated with the servers, you can demonstrate the value of configuration management in deciding the larger issues of refresh management. This first phase, or pilot, is described in more detail in Chapter ,"Choosing and Running a Pilot Program."
Depending on the successes and difficulties of the first phase, the second phase broadens the program to a wider set of data. Following the preceding Sun server example, you may want phase two of your program to achieve configuration management for all servers, and perhaps even for applications that reside on those servers. If the first phase was a tremendous success, or if your organization is small, you might want to tackle all servers, applications, and network components in the second phase. Again, the guiding principle should be value gained for effort expended. Each phase should demonstrate value and make the project sponsors eager to support and fund the following stages. Each phase will accomplish a piece of the overall span of your database until everything included in the total span is part of the CMDB.
Plan as many phases as are necessary to completely populate all of data envisioned in your scope, granularity, and span. Each population stage should feature enough new data to help support significant IT decisions, but not so much that the phase lasts more than six months. The rule for any IT project—and configuration management in particular—is that the value of a project decreases as the time to achieve that value increases. Smaller segments that show more specific value are better than larger chunks with more general (and hard to quantify) value.
Providing a firm estimate on the size of every situation isn't possible, but Table offers a general guideline to determine whether your estimate of time to populate your database has the right order of magnitude.
Table Magnitude Sizing for Populating a CMDB
After the population of your database is complete, you might think the phases of implementation are over—but you would be mistaken. As more data gets populated, you will undoubtedly find ways that the processes defined in the first phase can be streamlined or improved. You're likely to find some better way to organize the people involved, and you're certain to receive suggestions for improving your tools. All of these modifications should be gathered up through the population phases, and only the most critical implemented. After the database is populated, it is time to kick off another major phase to complete as many of the "latent" requirements as possible. Knowing up front that this second round of organization, process, and tools changes is coming will help you to keep the intervening phases focused on populating the data, thus reducing their risk significantly.
It is crucial that you plan the life of your program in advance. All the phases should be known and understood from the onset. This allows you to plan which requirements are going to be implemented where. It is much more palatable for a stakeholder to hear that their requirement will be implemented in phase four than to hear it didn't make the cut to get implemented in the first phase. It is also much easier to manage expectations around a series of incremental values than a single, large value statement. Note that it is also possible to satisfy a requirement only partially in an early phase, and then complete it in a later phase.
Each phase becomes a project of its own, with a separate schedule, a specific set of requirements to be achieve, a finite scope, and the entire rigor of project management and execution that your organization normally uses. Although all phases should be known at the beginning, you only need to plan and execute them one at a time. If the value is not proving to be adequate, you can embark on a new course by adding or removing phases as necessary. This significantly decreases the risk of implementing the overall configuration management program.
After you define the "big picture" in terms of the number of phases and their approximate content, you can begin the detailed work for the first phase. This is where you capture the actual project tasks and resources needed to meet the requirements specific to this initial phase. Simply parse through the requirements with the technical team, asking repeatedly "What will it take to get this done?" until the team agrees that you've captured all the tasks. Remember that you need only the details for the phase you're currently planning. Future phases will be planned in detail in their own time.
Planning to Customize the Process
Configuration management is much more than just meeting a set of requirements, however well they are written. You also need to include in your project plan all the steps needed to set up and execute the configuration management service. This includes defining and refining the process down to the level that people can actually execute it day to day. This section describes the general set of steps you need to customize a configuration management process.
Process work should be done using an iterative model. Begin with the top-level configuration management defined in a single document. This document should include a top-level picture that most likely will look something like the one at the beginning of Chapter , "Customizing the Configuration Management Process," where the whole process is captured in one diagram. In addition, your process document should include the relationships you envision between the configuration management process and any other operational processes, such as incident management, change management, and availability management. This high-level document is also a great place to document the enterprise policies regarding configuration management.
After documenting, reviewing, reworking, and finalizing the high-level process, you can begin working on the next level down, which many organizations call procedures. Take each of the process blocks and determine how they break down. For example, you most likely have a high-level block for controlling configuration items (CIs). Within this block, you might want to define a procedure for updating the CMDB, a procedure for batch loads of many CIs at a time, a procedure for updating relationships as the result of change records, and a procedure for archiving CIs after they have been retired. In defining and documenting procedures at this level, you might need additional policies, or even some minor changes, to the higher-level process. Go back and change those documents, review them, and when they are updated, continue at the procedure level.
In very large or very complex organizations, you might need additional levels of procedure work to further elaborate on the high level of procedures. Review Chapter for a description of when to stop. Be sure to include tasks in your project plan to work at as many levels as needed.
After the procedures are reviewed and in good shape, have the actual people who must execute them look them over to determine whether they need more information to be able to execute. Many times you'll discover that specific, detailed instructions are needed to fill in some gaps in the procedures, or to define how multiple procedures blend together into a single job description. These work instructions should be specific to the tools, techniques, policies, and procedures you want people to follow. If your staff is new, or is brand new to the discipline of configuration management, you will most likely need to define more work instructions at a deeper level of detail. For staff that has some experience or a better understanding, fewer work instructions will be needed.
Document all tasks that will be involved in this iterative approach to customizing the process, as shown in Figure . Remember to include review time, rework time, and plenty of time to gain the approvals you'll need at the higher levels. Some of these tasks might intersect with the tasks to meet your requirements, but in other cases, these will be new tasks that must be accommodated in the overall project plan. If your organization is familiar with doing process engineering activities, you should have some experience to draw on to make your estimates. If not, you should be aware that process work always takes longer than you expect.
Planning Integration of All Data Sources
The process is customized in a top-down style using iteration to rework upper layers as details emerge.
After getting all the requirements planned and the process work covered, it is time to consider the additional tasks required for integration of the data. As described in Chapter , "Planning for Data Population," pulling data from multiple places into the CMDB requires integrating that data together. You should go through a similar set of tasks for each data source, so the tasks are considered in order here rather than separately for each type of data.
To integrate data into the CMDB, you need a map of that data. These maps go by the names "database schema," "entity relationship diagram (ERD)," or perhaps "data dictionary." You need to know the number, types, lengths, valid values, and description of each data element in the potential source. Where accurate maps already exist, this task can be straightforward. If you discover that no suitable maps exist, this task can take quite a bit of effort as you reverse-engineer a system to discover what data it manages. Don't ignore the possibility that the data you're mapping might have relationships that can be converted either directly or indirectly into relationships in your CMDB.
After you have the data map, the next step is to analyze the data in light of what you need in the CMDB. Match up fields to understand where the data will be placed. For fields that are of different lengths, determine whether you need to pad or truncate the incoming data to fit your CMDB model. If the external data source has a specific set of defined values, match those to the possible values in your CMDB model. For example, perhaps you're dealing with an asset management system that has status values of "on order," "in storage," "deployed," and "retired." Your CMDB allows status values of "production," "redeploy," and "retired." You need to form a mapping from the four values to the three values, which might include a rule which says that any asset with the status of "on order" is not brought forward to the CMDB. Complete the detailed design of exactly how the data will come into the CMDB.
The third activity is to actually create the import mechanism. Will you be loading the data with a SQL input facility? If so, write and test the SQL. Will you be pulling the data from one system, putting it into a spreadsheet, and then importing the spreadsheet into the CMDB? Whatever your means of moving data, the third set of tasks should define those things necessary to build the "road" on which the data will travel. Building and testing this transport mechanism enables the data to flow, either one time or repeatedly if that is necessary.
After the roadmap has been drawn, the trip planned and the road paved, it is time to actually make the journey. Transfer the data into your CMDB, starting with a small part. Test to make certain that the data you've sent has been stored just as you want it in the target database. When the tests show that the data movement is successful, repeat the process with all the data from your data source.
The project plan should include the preceding four steps for every data source you need to integrate into the CMDB. These tasks will encompass all the work needed to integrate the various data sources described in Chapter . Include all the detail in the plan for each different data source to ensure careful tracking of this vital part of the plan
ITIL Configuration Management Related Tutorials
|Project Management Tutorial||Change Management Tutorial|
|ITIL Concepts Tutorial||Strategic Planning for Project Management Tutorial|
ITIL Configuration Management Related Interview Questions
|ITIL Configuration Management Interview Questions||Project Management Interview Questions|
|Change Management Interview Questions||ITIL Concepts Interview Questions|
|Strategic Planning for Project Management Interview Questions||PRINCE Interview Questions|
|Project Manager Interview Questions||Project Coordinator Interview Questions|
|ITIL Service Transition Interview Questions|
All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.