ITIL Change Implementation
ITIL Change Implementation
ITIL Change Implementation
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.
PDF generated at: Mon, 18 Apr 2016 02:49:56 PST
Raising Changes
Creating a Record Producer
Functionality described here requires the Admin role.
Overview
The Service Catalog can be used to request changes using a Record Producer. Record Producers appear in the
Service Catalog like Catalog Items, but when they are submitted, they create a record on the specified table with the
information provided either by the user, or by a template.
The examples below will demonstrate two methods of creating a Record Producer to request a memory upgrade.
Type - Reference.
Name - configuration_item
Reference - Configuration Item [cmdb_ci]
Question: - Which item needs a memory upgrade?
7. Click Submit.
8. Click Save.
To see how the new record producer appears to the itil users, click the Preview Item link:
Overview
Once a change has been requested, it is important that it be assigned to the appropriate group or individual to handle
the problem. Administrators can define Assignment Rules to automate the assignment process.
Note that an assignment rule can be defined either for the Change Request on a whole, or for individual Change
Tasks as they get generated from Change Requests.
To test the Assignment Rule, navigate to Change > Create New and populate the form with the following:
Configuration Item - bond trade ny (or any other Configuration Item with a class of Database.
When the change is saved, add the field Assignment Group to the form and the proper assignment group will be
added:
Managing CI Changes
Managing CI Changes
Overview
A key component of change management is tracking changes over time and ultimately the entire CI life cycle.
Identification of planned and unplanned changes is also highly desirable. This is accomplished through the use of
CMDB baselines. Baselines can be scheduled to occur every day, week, or month. Changes made through the change
process are linked to the change request, and changes without an associated change request are also displayed. The
current state of any CI in the CMDB can be compared against any baseline. Not only are basic attribute changes of a
CI tracked, but also all related CIs and CI relationships.
For instructions on performing bulk CI changes, see Best Practice - Bulk CI Changes.
For information on proposed changes, see Configuring Proposed Changes to a Configuration Item.
Managing CI Changes
The system displays the configuration item in the map with all its dependent CIs. In this example, there is a
critical change attached to the bond_trade_ny database. The map includes the business services that rely on
the database. The database icon has a blinking glyph on the lower left edge that indicates trouble with the
node.
2. Point to the glyph to display a list of tasks and issues with the CI.
This database has one change and a follow-on task from a compliance audit. You can open each record from
this list.
3. Click either task number to display the complete list of tasks attached to this server.
Managing CI Changes
You can see who is assigned to the change and can open the record for more information.
4. To change the map configuration, select a format from the Layout field or use the filter panel to filter the map.
The BSM map highlights the affected CIs, all of which are dependent on the database.
5. To add an affected CI to the change for the database, right-click a highlighted node and select Add Affected CI
from the context menu.
6. Return to the change request, and look at the Affected CIs related list.
If the list is not visible, configure the form to display it.
Click the plus to view the procedure for versions prior to Eureka
Managing CI Changes
Once changes are attached to configuration items, they are visible in the business service map. This makes the impacted services easy to assess. The
following screenshot shows a critical change attached to the bond_trade_ny database.
Clicking on the Related Issues icon displays the list of related tasks, including the change.
10
Change Collision
For instances with the Collision Detector activated, blackout and maintenance schedules have condition fields. This
allows blackout or maintenance schedules to be applied only to CIs that match a certain set of conditions.
and
Navigate to Change > Maintenance Windows and click New to create a new schedule.
Type a unique name for the schedule.
Select the appropriate time zone.
Save the schedule form and then click New in the Schedule Entries related list to add times when maintenance
should take place. For details on how to create schedule entries, see Schedules.
5. Use the Condition field to apply the maintenance schedule only to particular CIs, if desired.
6. Repeat this procedure for each different maintenance schedule needed.
When you create a new maintenance schedule from a change record, it is created in the cmn_schedule table.
When you create a maintenance window, it is created in the cmn_schedule_maintenance table, which is the
When you save a change request that is outside the maintenance schedule, a warning appears for each CI (primary or
affected) that is outside the maintenance schedule, if the change request was previously not marked as outside the
maintenance schedule.
11
Change Schedule
Bring up the change schedule timeline by navigating to Change > Change Schedule. The timeline shows all active
change requests by planned start and end times. Any change requests that are outside the maintenance window are
colored red on the display. Change requests that have an approval status of Rejected are displayed in gray.
For instructions on using timelines, see Using Timelines.
12
13
Assessing Changes
Calculating Risk
Overview
The Best Practice - Change Risk Calculator plugin enables dynamic calculations of the risk and impact of a change,
which can be populated on the change record. The plugin also bundles some best practice risk calculations using CI
attributes and time measures.
Modules
Activating the plugin adds:
The Risk Conditions module in the Change application, to define risk and impact conditions.
A new property to the System Properties > Change Management module, to specify when the conditions
should apply.
Calculating Risk
The sample risk calculation in the screenshot evaluates lead time for change requests associated with servers.
Notice that in addition to using fields located on the change request form, the risk calculation also checks attributes
from related records. This can be accomplished by dot-walking.
The example in the screenshot above looks at the currently selected configuration item to determine whether it is a
business service. If it is a Business Service then it checks a field named Business Criticality to see if the value is 1 most critical or 2 - somewhat critical. If the condition matches, it sets 'answer = true', which will set the risk for the
change request to 'High' and the impact to '1 - High'.
14
Calculating Risk
Another common scenario that requires scripting is determining the Business Services that will be impacted as a
result of a change to one or more configuration items. A sample rule has been provided in the plugin, seen in the
screenshot below:
In this example rule, the script uses the CIUtils() class to determine which Business Services will be impacted
by your change. The servicesAffectedByCI() method is invoked, and passed the current change record.
This method grabs the Configuration ITem entered on the current change request then locates all associated parent
and child Business Services.
A list or array of Business Services is returned, and then evaluated in the script above to determine if there are any '1
- most critical' services. If there are highly critical services then the answer will be set to true.
Using a Script
The Use script values option is used to set risk and/or impact based on variable conditions.
To use a script to calculate risk or impact:
1.
2.
3.
4.
5.
6.
The Critical service changed condition, which is provided with the plugin, sets risk and impact according to the
values returned by the Business Services. If the criticality is 1, the script values are used to assign the appropriate
risk and impact:
15
Calculating Risk
Values from the current change request can be invoked to optionally set risk and/or impact. Below is an example
using current field values:
if (current.assignment_group.getDisplayValue == "Network") {
current.risk = 2;
current.impact = 1;
} else {
current.risk = 3;
current.impact = 2;
}
16
Calculating Risk
None Option
Disables rules processing entirely.
UI Action Option
Allows users to check condition rules on demand using the Calculate Risk UI Action.
When the option is selected, the Calculate Risk UI Action will appear as a Related Link on the Change Form if:
There are any conditions that apply to the current record.
The users has the admin or itil role.
Clicking the 'Calculate Risk' button will apply any matching condition, according to order.
When a rule is applied, an alert will be displayed along the top bar that says condition was applied and the new
values for risk and impact. Also, note that if hovering over the name of the applied condition displays the description
for the condition.
Note: If the Change Risk Assessment plugin is activated, the Calculate Risk UI action is replaced by the Execute Risk Calculation
UI action.
17
Calculating Risk
Note: If the Change Risk Assessment plugin is activated, the Calculate Risk business rule is replaced by the Run Risk Calculation
business rule.
Note: If you have both Risk Assessment and Risk Calculation active, but only wish to use one of these methods, then simply remove
all conditions for the method you do not want to use.
18
19
Performing Changes
Creating an Execution Plan
Overview
A common problem within change management is the generation of a sequential list of tasks to implement a specific
change type. For example, in order to upgrade a production server, I might need to:
1.
2.
3.
4.
5.
6.
7. Verify Same
The Change Management Execution plan uses similar functionality as the Service Catalog. This functionality can be
used for other tables, provided that the Attach Delivery Plan and Start Change Task business rules (which make the
Execution Plan work) are re-created for the other tables.
For more complicated processes, use the Workflow Editor.
Look for all execution plans with a parent task of change request.
Sort them based on their order value (low numbers first).
Test each plan's conditions against the current change request.
If the condition matches associate the plan with the current change request and stop checking
20
Task Initiation
As soon as the Change Request is approved (defined as the approval field changing to approved), the first set of tasks
(the one(s) with the lowest order number) are automatically changed to a state of "Open" and assigned a work start
time.
Task Sequencing
As tasks within the execution plan are closed, the next task(s) in sequence will automatically be started for you.
In our example (above), the first two tasks were complete, the fourth was automatically skipped (since no network
component was required in this change), and the third was started automatically.
21
Conditional Tasks
A given step in an execution plan might not always be necessary. For example, in our office move, above, the
Network Changes step is only necessary if, in the previous Network Scope step, we identified that some form of
network change was required to support the move.
An execution handles cases like this via conditional tasks. Simply put, a conditional task is a task which, while
always present in the execution plan, only actually starts if certain conditions are met. By default, these condition
fields aren't visible on the execution plan task form so you need to configure the form and add: condition and
condition script.
Once you do, your form will have two new fields on it, allowing you to express when this task should run. You can
do this most simply by using the condition field to fill in a conditional expression under which this task should run.
Alternately, if your condition is too complex to express via the condition widget, you can fill in the condition script
box with custom javascript that can return true, or false, depending on whether or not this tasks should execution.
Within the context of that script "current" is going to be the actual change task in question.
Pre-populating Tasks
The system, by default, will copy data from a half dozen or so fields in your execution plan task into the actual
generated task. You can, however, use script to populate additional data into the generated task if you so desire.
To do so, configure the form and add the "Generation Script" to your form. Then any script you type into that box
will be executed as a task is being generated based on this delivery plan task. Within the context of this script,
current will be the (not yet inserted) new change task. Note that you do not need to call current.insert() in your script
as the system will automatically take care of that for you.
22
23
24
5. Repeat these steps to create as
many change task templates as
needed.
2. Link the first template to the child template using the Next Related Child Template field. In this reference field,
enter the name of the first change task template that you created, which in this example is named New Server
Task 1.
3. Click Update.
Open this first child task template,
which is called New Server Task 1 in
this example.
The New Server template with the Next Related Child Template field.
2. Click Update.
3. Repeats these steps until all
templates are linked together.
3.
4.
5.
6.
A UI policy for New Record type modules removes the Arguments field from the form. To use the templates,
it is necessary to construct a URL that references the templates.
Give the module a name.
Select the [change_request] table.
Select URL (from arguments) for the link type.
Enter the following in the Arguments field, but replace the link with the name of the appropriate master
template.
change_request.do?sys_id=-1&sysparm_template=New Server
25
Using the module will create a new
record, populated with the template as
shown in this screenshot:
Routine Change
26
Comprehensive Change
Emergency Change
27
Defining a Workflow
Defining a Workflow
Overview
The Graphical Workflow Editor allows administrators to automate and define standard Change Management
processes. The example workflow here performs the common task of upgrading hardware. The workflow can be
reused any time that hardware is added to a configuration item.
In addition to manually defined workflows, you can install three basic Change Management workflows with the
Change Management Workflows Plugin.
3. Drag the If activity onto the arrow between Begin and End. This activity will verify that a configuration item has
been specified. Complete the fields as follows:
Name - Configuration Item
Stage - Pending
Condition - Configuration Item is not empty.
4. Drag the Wait for Condition activity into the space below the If activity. This activity will wait for a
configuration item to be supplied if none was originally supplied. Complete the fields as follows:
Name - Configuration Item Empty
Stage - Pending
Condition - Configuration Item is not empty.
28
Defining a Workflow
5. Drag an arrow from the No tab of the If activity to the end of the Wait for Condition activity.
6. Drag the Approval - User activity onto the arrow between If and End. This activity will request an approval
from the assignment group's manager. Complete the fields as follows:
Name - Manager's Approval
Stage - Pending
User - Dot-walk to ${assignment_group.manager}
7. Drag an arrow from the Wait for Condition activity to the Approval - User activity.
8. Drag the Set Value activity into the space next to Approval - User. This activity will mark the change as
Rejected. Complete the fields as follows:
Name - Rejection
Stage - Closed Skipped
Set These Values: - Approval Rejected.
9. Drag an arrow from the Rejected tab at the bottom of Approval - User to Rejection and drag the tab at the
bottom of Rejection to End.
10. Drag the Create Task activity onto the the arrow between Approval - User and End. This will create a catalog
request for Procurement to acquire the hardware. Note that if there is a catalog fulfillment workflow that applies
to this task, it will run. Complete the fields as follows:
Name - Purchase Hardware
29
Defining a Workflow
11. Drag the Create Task activity onto the the arrow between the previous task and End. This will create a Change
Task for Hardware to install the hardware. Complete the fields as follows:
Name - Install Hardware
Stage - Work in Progress
Task Type - Change Task [change_task]
Priority - 3 - Moderate
Fulfillment Group - Hardware
12. Drag the Create Task activity onto the arrow between the previous task and End. This activity will generate a
task to verify the installation. Complete the fields as follows:
Name - Verify Proper Installation
Stage - Work in Progress
Fulfillment Group - Software
13. Right click the Approval - User activity and select Copy Activity. Drag the arrow from the last task to the
copied approval, and drag another arrow from the copied approval's Approved tag to End. This will ask the
manager to verify the installation again. Click the copied Approval and update the form as follows:
Name - Verify Installation
30
Defining a Workflow
14. Drag the Set Values activity into the space next to Approval - User. This activity marks the change as
Completed. If you also want the corresponding Change record to automatically close upon workflow completion,
mark the Stage as Closed Complete instead. Complete the fields as follows:
Name - Completion
Stage - Complete or Closed Complete
Set These Values: - Additional Comments: This change has been verified as being completed successfully.
15. Drag the Rollback activity into the arrow after the second Approval - User. This activity starts the change over
if the manager rejects it. Complete the fields as follows:
16. Drag the arrow from the Rejected tab of the second Approval - User to the Rollback activity, and from the
Rollback activity to Install Hardware.
17. If you want the workflow to automatically close the change request after the workflow completes, do one of the
following:
Have the change workflow run as a subflow activity. After the change subflow completes, add a Set Values
activity in the main workflow to set the desired state of the task.
Add a Set Values or Run Script activity to set the desired state of the task.
18. Publish the workflow in the Workflow Actions menu.
The resulting workflow should be as follows:
31
Defining a Workflow
32
33
Part One
34
In Fuji, you must submit the workflow, reopen the properties, and click the Stages tab to see the Stage field
list.
3. Click Submit.
This workflow is triggered by any new change requests that do not fulfill the conditions of a different
workflow. As the workflow passes from activity to activity, it updates the State field, allowing users to track
the change request's progress.
4. Add activities to define the workflow's behavior.
Part One
35
Part One
4. To trigger the CAB Approval activity for non-high risk activities, click the No tab from the If Change is
High-Risk activity and drag to the CAB Approval activity.
To trigger the Comprehensive Change workflow for changes approved by the CAB:
1. From the Workflows list in the palette, drag the Comprehensive Change workflow into the area below the If
Change is High Risk activity.
2. Submit the form that appears.
36
Part One
3. From the CAB Approval activity, click the Approved tab and drag to the new Comprehensive Change
workflow.
To set the value of changes rejected by the CAB to Rejected:
1. Drag the Set Values activity into the area below the new CAB Approval activity.
2. Populate the form with the following information:
Name: Rejected
Stage: Complete
Set these values: From the first choice list, select Approval. From the second choice list, select Rejected.
3. Click Submit.
4. From the CAB Approval activity, click the Rejected tab and drag to the new Rejected activity.
5. From the Rejected activity, click the Always tab and click to the End activity.
Result
The workflow should now look like this:
This workflow fulfills the first two points of the business case: it triggers the proper approvals and workflow for both
routine changes and low-to-medium risk comprehensive changes. To fulfill the third point of the business case, see
Part Two.
37
Part Two
Part Two
Overview
The workflow engine can provide a powerful and flexible method of automating a complex approval process. This
case study demonstrates how to design a complex approval workflow for a hypothetical business case.
These points of the business case were fulfilled in Part One of this case study:
If the change request is for a routine change, then the usual routine change workflow needs to take place without
extra approvals.
If the change request is for a comprehensive or emergency change, then the CAB needs to approve the change,
and then the usual comprehensive change workflow should take place.
The last point of the business case is explained in this part of the case study. If the change request is for a
comprehensive or emergency change with high or very high risk, then it requires the following approvals:
1. The Infrastructure team at the CI's location, the CI's owner, and the Change Advisory Board.
2. If the above parties approve, then the VP of Infrastructure and the CFO must also both approve.
38
Part Two
39
Wait For - All Child activities to be approved. This means that all of the approvals within the approval
coordinator must be marked Approved to continue.
The first approval within the Approval Coordinator is going to be the approval for members of the Infrastructure
Department at the location of the configuration item. Because the users are going to be found based on both location
and department, it will be necessary to use a simple script to filter users.
This script queries the user table for any users whose location is the same as the Change record's configuration item's
location,
AND
whose
department
is
Infrastructure
(in
this
example,
the
sys_id
e29201830a0a3c1e01554027c17b1593). The sys_id for Infrastructure may differ, so be sure to replace that sys_id
with the correct sys_id. (For information on looking up the sys_id, see here).
Note that if this was being implemented in a business, it would be useful to make Location a mandatory field on
Configuration Items. If a configuration item has no location specified, this approval will be skipped.
To define the Infrastructure Department's approval:
1. Within the Approval Coordinator activity in the workflow, click the Add Approval - User link.
2. Populate the form as follows:
answer = [];
var objUser = new GlideRecord('sys_user');
objUser.addQuery('location', current.cmdb_ci.location);
objUser.addQuery('department', 'e29201830a0a3c1e01554027c17b1593');
objUser.query();
while (objUser.next())
{
answer.push(objUser.sys_id.toString());
}
Part Two
40
Part Two
41
Result
The workflow with the finished Approval Coordinator should look like this:
Part Two
Connect the Approved transition of the Approval - User activity to the Comprehensive Change workflow.
Connect the Rejected transition of the Approval - User activity to the End point.
Connect the Approved transition of the Approval Coordinator activity to the Approval - User activity.
Connect the Rejected transition of the Approval Coordinator activity to the Set Value activity.
Connect the Cancelled transition of the Approval Coordinator activity to the End point.
Result
This example workflow (downloadable as an update set here) is the result, and satisfies the approval business case
outlined at the start of this case study:
42
43
Changes by Type
This pie chart displays active changes, grouped by type of change.
To report on Incidents by Caller's Company:
1. Navigate to Reports > View / Run and click New.
2. Populate the form as follows:
Reporting
44
4. Click Save.
Reporting
45
4. Click Save.
Reporting
4. Click Make Gauge and then Add to Homepage. Select a particular dropzone. The report will now appear on the
last homepage viewed.
46
47
Plugins
Best Practice - Bulk CI Changes Plugin|Bulk CI
Changes
Overview
This plugin provides functionality to record a single change proposal that will be linked to all affected CIs. The
fields CI Class and Proposed Change were added to the Change Request form with this plugin.
This plugin is useful for change processes that use:
The Proposed Change feature to update CI data.
Change requests based on a single CI Class.
The Affected CI related list to track impacted CIs.
Plugin Contents
Below are a list of the elements added by installation of the Best Practice - Bulk CI Changes Plugin.
Input Value
ci_class
A Table Name type field to identify the class of CIs that the change applies to.
proposed_change A template value type field to capture the field change values that could be applied to each affected CI.
Input Value
ci_item Adds a reference qualifier to filter the Affected CI lookup to the CI Class defined in the change request.
Business Rules
The following business rules are added when the plugin is installed:
48
Business Rule
Table
Description
change_request Runs when the ci_class field is changed. Clears the proposed change field value.
change_request Runs when the ci_class field is changed. Deletes task_ci records since they may no longer match
the ci_class.
change_request Runs on update when proposed change value changes. Copies the current proposed change from
the change request to the task_ci record.
task_ci
Runs on all inserts where task class is change_request. Copies the current proposed change
from the change request to the task_ci record.
affectedCIClassFilter
global
A special global rule script called by the new attribute on the task_ci.ci_item field to filter the
lookup of CIs based on the change_request.ci_class field value.
Client Scripts
The following client script is added when the plugin is installed:
Client Script
Table
Description
Alert on Change of
CI Class
change_request Triggered by a change in the ci_class field. Alerts the user that the affected CI's will be deleted, then
forces a form Submit so the business rules run.
UI Actions
The following UI actions are disabled since they are designed to work with individual affected CI propose changes.
Save Proposed Changes
Propose Changes
UI Policies
The following UI policy is included in the plugin:
Table
Conditions
Description
49
Maintenance Schedules
50
Maintenance Schedules
Overview
The Maintenance Schedules feature enables you to display scheduled maintenance for configuration items in a
timeline format, and marks change requests that fall outside the allowed maintenance period. Planned maintenance is
displayed in a calendar format that can be configured to show daily to yearly views. Maintenance activity is
represented by a span, which is displayed as a horizontal bar on the timeline and can appear in any color. Spans for
requested changes that occur outside their allowed maintenance periods appear in red on the timeline.
Change Collision
For instances with the Collision Detector activated, blackout and maintenance schedules have condition fields. This
allows blackout or maintenance schedules to be applied only to CIs that match a certain set of conditions.
and
Navigate to Change > Maintenance Windows and click New to create a new schedule.
Type a unique name for the schedule.
Select the appropriate time zone.
Save the schedule form and then click New in the Schedule Entries related list to add times when maintenance
should take place. For details on how to create schedule entries, see Schedules.
5. Use the Condition field to apply the maintenance schedule only to particular CIs, if desired.
6. Repeat this procedure for each different maintenance schedule needed.
When you create a new maintenance schedule from a change record, it is created in the cmn_schedule table.
When you create a maintenance window, it is created in the cmn_schedule_maintenance table, which is the
Maintenance Schedules
table that is used for checking for schedule conflicts. When selecting a maintenance window in the CI Maintenance
Schedule field, only schedules that were added using maintenance windows are evaluated for conflicts in change.
When you save a change request that is outside the maintenance schedule, a warning appears for each CI (primary or
affected) that is outside the maintenance schedule, if the change request was previously not marked as outside the
maintenance schedule.
51
Maintenance Schedules
Change Schedule
Bring up the change schedule timeline by navigating to Change > Change Schedule. The timeline shows all active
change requests by planned start and end times. Any change requests that are outside the maintenance window are
colored red on the display. Change requests that have an approval status of Rejected are displayed in gray.
For instructions on using timelines, see Using Timelines.
52
Detecting Conflicts
To detect collisions, open a change request and use the related link Check Conflicts. The itil role is required.
If there are collisions, they are added to the related list Conflicts (you may need to configure the form to add this
related list):
Input Value
Change
Schedule
The maintenance window or blackout window that is causing the conflict, if any.
53
Type
Last Checked
CI Already Scheduled
Parent CI Already Scheduled
Child CI Already Scheduled
Not in Maintenance Window
Parent Not In Maintenance Window
Child Not In Maintenance Window
Blackout
The last time the conflicts were checked. The default value is now. The Last Checked field is automatically updated.
Blackout Schedules
The Change Management Collision Detector plugin also introduces the concept of blackout schedules, times during
which changes cannot be scheduled.
Blackout schedules are defined by navigating to Change > Blackout Window. They are defined the same as other
Schedules but with the type field set to blackout.
Note: A schedule containing blackout schedule entries cannot also contain maintenance schedule entries.
To check conflicts against all CIs, select the top-level cmdb_ci item.
54
55
Installed Components
Database Table Structure
The following tables are added with the Change Management Collision Detector plugin:
Table
Description
Blackout Schedule
[cmn_schedule_blackout]
A table extending cmn_schedule. Allows a schedule to be defined in which no changes are allowed to take
place. The cmn_schedule_blackout.description column is available on the Schedule [cmn_schedule] table.
Conflict [conflict]
Condition Schedules
[cmn_schedule_condition]
Schedules with a condition field. Condition schedules apply a schedule only to CIs which match
predetermined conditions.
Maintenance Schedules
[cmn_schedule_maintenance]
Schedules defining maintenance for configuration items, including condition fields. See Maintenance
Schedules Support for more details.
Properties
The following properties are accessible through the new module Change > Administration > Conflict Properties.
Property
sys_property Name
Description
Blackout
Window
Checking
change.conflict.blackout
When enabled, it checks to see if there are any blackout windows at the same time.
Change Already
Scheduled
change.conflict.currentci
When enabled, it checks to see if there are other changes scheduled at the same time for
the selected configuration item (or the configuration items in the Affected CI List if in
"Advanced" mode).
Change in
Maintenance
Window for CI
change.conflict.currentwindow
When enabled, it performs a lookup on the currently selected configuration item (or the
configuration items in the Affected CI List if in "Advanced" mode), get the associated
maintenance window, then determine if the planned start and end dates fall within the
maintenance window. You can customize any configuration item (CI), pull out the
Maintenance Window field, create a new schedule, then place that schedule on the CI.
Mode
change.conflict.mode
Choices are:
Basic: When enabled, only checks only the current change requests CI against other
change requests' CI and affected CIs.
Advanced: When enabled, checks both the current change requests CI and affected
CIs against other change requests' CI and affected CIs.
56
Check Related
Child CI
Maintenance
Window
change.conflict.relatedchildwindow
When enabled, this will perform a look up on the currently selected Configuration Item
(or the Configuration Items in the Affected CI List if in "Advanced" mode), get the
maintenance window of any related child Configuration Item's associated maintenance
windows then determine if the planned start and end dates fall within the maintenance
windows. You can customize any Configuration Item (CI) and pull out the Maintenance
Window field, create a new schedule then place that schedule on any CI.
Check Related
Parent CI
Maintenance
Window
change.conflict.relatedparentwindow When enabled, it performs a lookup on the currently selected configuration item (or the
configuration items in the Affected CI List if in "Advanced" mode), get the maintenance
window of any related parent Configuration Item associated, then determine if the
planned start and end dates fall within the maintenance windows. You can customize any
configuration item (CI), pull out the Maintenance Window field, create a new schedule,
then place that schedule on any CI.
Scripts
The following business rules are added to sys_script:
Add CI in affected CIs List - When in Advanced mode, this checks whether the change requests CI is in the
change requests Affected CI List. If not, it adds the CI to the list.
The following client scripts are added to sys_script_client:
Notify Conflict - Notifies the user if a conflict exists.
The following script includes are added to sys_script_include:
ChangeConflict - Class that holds conflicts' details.
ChangeCheckConflicts - Class methods for Change Management Collision Detection.
ChangeCheckConflicts.check() is the entry point from 'Change Conflicts' sys_ui_action
ChangeConflictHandler - Class for handling change conflicts.
ChangeCollisionHelper - Class for collision helper methods.
57
ChangeCollisionHelper
Method Summary
Return
Object
Details
boolean
isDateInCiMaintenanceWindows (startDate, endDate, maintenanceWindow)
Checks if the time span defined by startDate and endDate falls in the CI's maintenance window
Parameters:
startDate - The beginning date of a time span.
endDate - The ending date of a time span.
maintenanceWindow - A Configuration Item's sys_id.
Returns:
boolean - An array of CIs.
getCiMaintenanceSchedule (ci)
Gets the Maintenance Schedule for a CI.
Parameters:
ci - A Configuration Item's sys_id.
array
getBlackoutsByDate (startDate, enDate)
Gets any blackout that overlap the period defined by startDate and endDate.
Parameters:
startDate - The beginning date of a time span.
enDate - The ending date of a time span.
Returns:
array - An array of blackouts (blackoutId:stringSpan).
array
changeIds
58
array
changeIds
array
getAffectedCisByChangeId (changeId)
Gets the Affected CI sys_ids for the given change.
Parameters:
changeId - A Change Record's sys_id
Returns:
array - An array of sys_ids of Affected CIs.
boolean
isCiInAffectedCis (ci, changeid)
Check if an CI is already in the change's Affected CIs list.
Parameters:
ci - A Configuration Item's sys_id.
changeid - A Change Record's sys_id.
Returns:
boolean - True if the CI already in the change's Affected CIs list, false if not.
59
array
getDependants (ci)
Get all the CIs that depend on the given CI.
Parameters:
ci - A Configuration Item's sys_id.
Returns:
array - An array of CIs.
array
getDependencies (ci)
Get all the CIs that the given CI depends on.
Parameters:
ci - A Configuration Item's sys_id.
Returns:
array - An array of CIs.
ChangeConflict
Method Summary
Return Details
Object
string
toString ()
Returns a String representation of the conflict
Returns:
string - The string representation of the conflict.
60
ChangeConflictHandler
Method Summary
Return Object
Details
initialize ()
Initializes a Change Conflict Container array.
addChangeConflict (changeConflict)
Adds the Change Conflict to a Change Conflict Container.
Parameters:
changeConflict - The sys_id of a Change Conflict.
changeConflictContainer
getConflicts ()
Gets an array of Change Conflicts from a Change Conflict Container.
Returns:
changeConflictContainer - An array of Change Conflicts.
saveConflicts ()
Writes out the Change Conflicts in a Change Conflict Container array to individual Change Conflict
records.
deleteConflictsByChangeId (changeID)
Deletes conflicts that are associated with the same Change Request (by sys_id).
Parameters:
changeID - A sys_id of a Change Request.
61
Dependencies
The following plugins are activated with Change Management Risk Assessment:
Assessment Components
Best Practice - Change Risk Calculator
Best Practice - Task Survey Management
Risk Assessments
Risk Conditions
Risk Thresholds
62
Input Value
Name
A name for the risk assessment, which will be displayed to the user.
The Assessment Questions related list determines what questions the user will answer.
Field
Input Value
Weight
Determines the weighting applied to each question. This will be multiplied by the score of the answer to calculate the weighted score.
Related List: Assessment Questions > Assessment Question Choices
Order
Determines where in the question the choices will be displayed. Ordered from lowest order to highest.
Value
Score
The Assessment Thresholds related list determines the risk that will be set depending on the calculated composite
score for any assessment that is taken. The composite score is the sum of all weighted scores for the assessment.
Take care to ensure that the thresholds are set correctly based on the questions and answer combinations.
Field
Input Value
Score Greater
Than
If the score totalled from all of the user's answers is greater than this number, the risk in the Risk field will be applied to the
change.
Risk
The Assessment Conditions related list determines which risk assessment is attached to each change. When the
system evaluates which assessment to attach, it uses the first matching one. When defining multiple questionnaires,
take care to ensure that the conditions result in the correct assessments being attached. Keep the conditions simple
and mutually exclusive to make this easier to understand and maintain.
If a default questionnaire is required, simply add a condition record with no conditions and set the order to a suitably
high number to ensure that other conditions will be evaluated first.
Field
Input Value
Active
Condition
A condition builder field to determine what changes will use this Risk Assessment.
If multiple conditions apply, the risk assessment with the lowest order will be used.
Table
The table on which the risk assessment will be run. Note: if this risk assessment is being used on the Change table, the table needs to
be Change [change_request].
Assessing Risk
Once risk assessments are defined, an ITIL user can assess risk.
1. On any submitted change form, click the Fill Out Risk Assessment related link:
2. The ITIL user is presented with the most appropriate risk assessment, based on the definition. Complete the risk
assessment.
3. When the risk assessment is complete, click the Execute Risk Calculation related link to calculate the risk based
on the assessment:
63
4. When the form reloads, information messages at the top describe the results of the calculation:
Note: If you have both Risk Assessment and Risk Calculation active, but only wish to use one of these methods, then simply remove
all conditions for the method you do not want to use.
64
65
66
67