Serio Blog

Wednesday, 13 Dec 2006

This is a follow-up to this post about Incident backlogs.

Firstly, I omitted something very important: contract/agency staff as a possible option (thank you to commentator Robert for pointing that out). Out of all the things I suggested, this is probably the one that has the greatest potential for reducing the backlog – provided you have, or can get, the additional budget you need.

In this post, I’m going to discuss some of the problems that might arise if, like Linda, you are actively attempting to reduce a large Incident backlog.

I’ll start with contract staff, great if you can get the right people – but if you recruit the wrong person it will make the job of the Helpdesk/Service Desk Manager harder. My advice to Linda would be: make sure the spread of technical skills is right (naturally), but look for someone with a positive attitude who can manage themselves without close supervision. Always check references and qualifications carefully (I have experienced a number of fake CVs in my time) and don’t be afraid to set a small technical test. It will be an opportunity to see how the person copes, but if doing this make sure your candidate knows before the interview what you plan to do.

Referring back to my original post, and Linda’s new role, there is potential problem with my suggestions in terms of quality. If we make the focus one of closing Incidents, then we run the risk of overdoing this, and Incidents that are not resolved (even though we think they are) are closed. Although this makes are statistics look better for a short while, it does the business we are trying to serve no good whatsoever.

Therefore we need to take steps to prevent this. Firstly, make sure you communicate to your staff the need for quality and explain the potential problem to them, and remind them from time to time about this as the backlog is reduced.

Secondly, consider introducing a two-stage completion process for Incidents if you don’t already have one. This is where an Incident that an engineer believes to be resolved is set to a Pending Complete stage, and then someone else contacts the customer to ensure that the Incident is actually resolved – and then and only then sets the Incident to Complete. This will increase your workload of course, but has the advantage of stopping premature closure issues much sooner.

Thirdly, monitor the number of Incidents re-opened after closure on a weekly basis.

Tuesday, 12 Dec 2006

Ever been assigned an Incident to resolve, only to find that you have to return to the customer to ask for details that should have been collected when the fault was logged?

Or have you ever looked through the history of an Incident and been baffled by monosyllabic comments describing what was done and how it was resolved.

Low quality descriptions are a bugbear of Helpdesks/Service Desks, wasting time and preventing lessons being learned.

Serio Description Templates can help you improve the quality of Incident and Action descriptions. A Description Template is just what it says, template text for Incident/Action descriptions that you can add to, and that can act as a checklist or script of prompts, so that relevant information isn't missed.

Description Templates in Incident/Change Logging

For example, suppose that you are logging a fault about an application called "Action Reports". To help resolve such faults, several standard pieces of information are important, and you would like to provide a template for the description of any such Incident.

Here's an example Description Template for such an Incident. Notice how it provides prompts, spaces where you can provide extra detail, and options from which you can delete those non-applicable.

"Version of Action Reports: [4.5/5]

Name of affected report:

Operating system: [Windows 2000 WS/Windows XP/Vista]

OS patch level:

Error message (if any):

Application Hung?: [Y/N]

What action was the user taking prior to error occurring:

Any other comments:"

You can set up a number of Description Templates for different types of Incidents. In fact, Description Templates are also very useful for Change Requests, where you often need descriptions to follow a standard pattern.

You can create new Description Templates using SerioAdmin – choose 'New Serio Explorer' from the 'File menu, expand 'Issue' and select 'Description Templates'.

When logging Incidents or Changes, you can select the Description Template that you want to use by clicking the Lookup (…) field to the right of the Description field on the Logging form.

Description Templates for Action Comments

You can also use Description Templates to provide a standard structure for Action Comments. This means that for each type of Action, such as 'Resolve' of 'Phone User', you can prompt your Helpdesk Agents to enter specific standard information. For example, a Description Template for 'Phone User' might look like this:

"Spoke to customer: [y/n]

Message Left: [y/n]

Name of person spoken to:

Details of discussion: "

When combined with Actions, Description Templates are a powerful way of providing standard text for emails. If you find you are writing the same email over and over again, then putting all that standard blurb in a Description Template may be the solution.

Of course, you could set up an eDoc for your standard eMail, but Description Templates have one major advantage – you can modify any of the text within a Description Template when you are sending the eMail. You can even combine Description Templates and eDocs to create eMails containing some standard and some standard-but-modifiable content.

To create a Description Template for a Action Comments, first create the Description Template in SerioAdmin, as described above for Incidents. Then to link the Description Template to the Action Type as follows:

  1. Select 'Issue Actions' > 'Actions' in SerioAdmin.
  2. Open the Action record you are interested, and switch to the 'Action Comments' tab page.
  3. Select the Description Template you created, and save (Ctrl + S).
  4. Try out the Action in SerioClient!

Friday, 08 Dec 2006

I blogged previously for someone taking up a Change Manager role in a small company, and this post is a continuation of that.

The Change Board

Change Managers interact with the Change Board – but don’t be put-off by the civil service sounding title. The Change Board is simply a forum that meets to discuss IT Change on a regular basis. If you are the Change Manager, you may chair these meetings, making sure that each Change presented is fit to be considered (as in having an impact assessment and so on) and then handling the outcome of the meeting afterwards.

Generally, you’ll present Changes for consideration, asking for approval, rejection, clarification or deferment.

The composition of the Change Board varies a lot in my experience. However there is usually someone from the actual user community present. As an example, if you provide a sales order processing system, your Change Board might have the person responsible for the sales function within your company as a member. Involvement like this helps bring a perspective on the value of certain Changes over others, or a user view on timing and implementation, that may otherwise be missing.

The actual running of the meeting varies between organisations. Some hold the meetings monthly, others weekly. Some publish the Changes in advance of the meeting, others simply introduce them when the meeting starts.

Advice for Change Manager: make sure you get the composition of the Change Board right. Make sure you are properly briefed before each meeting – you are sure to have a lot of questions to field. Make sure you record the outcome of the discussions accurately, and confirm your understanding afterwards.


In a smaller company, the Change Manager will become involved in the scheduling of Changes, and will be responsible for liasing with users of IT services that are subject to Change, particularly when downtime is involved. You may find that the Change Board provides you with a ‘window’ into which you can perform implementation tasks, but the actual timing is for you to sort out.

Advice for Change Manager: try to avoid an optimistic estimation of downtime. Be sure to communicate clearly with maintenance is taking place, even if it has been discussed at the Change Board.


You want to make sure that Changes are performed correctly, so one of the functions a new Change Manager performs will be one of review. In a nutshell, what can you learn from the Change just undertaken? Could we have performed it quicker, and with less risk? Did it deliver the benefits we had hoped for?

Advice for Change Manager: Review the completed Change against what you started with, making recommendations for improvement as required.

Owning the Change Process and the Changes

As a Change Manager, you’ll ‘own’ the Changes. You will look for Changes that are late, badly presented or thought out, intervening as and when required.

Advice for Change Manager: even if someone else is handling the Change, you still have some responsibility both for it and the overall smooth running of the Change process.

We've added a much improved search feature to this blog and to the site as a whole, as the old Wordpress search facility didn't cope with the amount of content we have now. You can access this new feature by clicking the 'Search this blog' link on the right.

Thursday, 07 Dec 2006

A customer has recently asked for ‘advice to give to a brand-new Change Manager, and what they are supposed to do’, and that is the subject of this post (possibly inspired by this post?). The organisation in question is quite small, with less than 10 IT staff, but does have a significant IT infrastructure to support. They are part-way through an ITSM programme at their company.

First of all, it is important to ask the question ‘why are we implementing Change Management?’ and if you can, prioritise the answers you give. Don’t recite the ITIL books as a holy text, if your company is experiencing problems or issues around IT change then use these problems as guides and checks for yourselves. For example, you might answer:

‘We implement changes and sometimes they work OK, other times they cause more problems than they solve’

‘We don’t estimate costs and time very well’

‘We seem to choose the worst possible time from the business’s point of view’

….and so on – I’m sure you get the idea. Keep these problems/issues and use them to validate any Change process you implement. After all, it should solve them.

Before giving an advice to our new Change Manager, let’s have a look at some aspects we would expect Change processes to include. I think the bear minimum would be:

  • Impact assessment
  • Reason for implementing the Change
  • Cost of Change, and it’s expected duration
  • Back out plan

This list is not exhaustive. You could also have test plan, acceptance criteria, risk assessment and others – but as a minimum, for a smaller company, this would be my list.

Impact Assessment

This is where the Change Manager writes down the potential impact of the Change. The sort of thing you are interested in is which services to users could be affected, and how long they might be affected for. You might include some assessment of risk into that impact assessment.

If you look at this more closely, you’ll find I’m saying ‘take a change that might be proposed on a particular computer system and assess the impact on the services we offer to users’ – and you need to complete this task with a degree of certainty.

The Change Manager needs to think: how do I do this? The best answer is to use the Configuration Management Data Base (CMDB) – an essential underpinning technology for Change Management. This post is not about the CMDB so if you want to find out more about this use the blog search facility on the right: there are many articles in this blog.

If you don’t have a CMDB then it’s going to be tough work – maybe you’ll be forced to ask some very clever person ‘who knows’ but I’d say that you cannot expect to have reliable Change if this is how you work because people make mistakes. In my experience before I joined Serio this is a very common state of affairs.

Advice for Change Manager: Don’t take on the role without a CMDB unless a CMDB is just around the corner, or you have some other reliable means of assessing impact.

Back-Out Plan

This is your escape route if things go wrong – ‘how to we restore the system if the unexpected happens’. Sometimes your technical staff may say ‘no back out plan is needed’ or ‘no back out plan is possible’.

Advice for Change Manager: Don’t be fobbed-off. Always ask for a realistic and costed back-out plan.

I’ll continue this post later and look at some of the tasks Change Managers typically do.

Suggested white paper: Introduction to ITIL


Monday, 04 Dec 2006

This post has been suggested by someone who I’ve known for a long time as a specialist engineer in IT Service Management (let’s call her Linda), who has recently taken a new role as a Service Delivery Manager in a new company (in other words, she has a new role and a new organisation to cope with). The first thing she noticed on day 1 was that although her company (I’ll call them WidgetCo) has just 600 users and 8 IT staff, there were over 600 outstanding Incidents currently open, some of which had been open since April.

WidgetCo don’t use ITIL or have any concept of IT service management, though no doubt that will change. My friend’s comments to me where: ‘what kind of things can I do to get the outstanding Incident count down to a more manageable level?’

Here are some of the things I’d do, in no particular order.

  1. Warn senior managers, directors and project sponsors about what you’ve found. Give them a quick summary of the problem, indicate what you are going to do and how long, and promise to report back at the end of this period. If you are running reports that show Service Level performance, warn them this and possibly other statistical measures may take a beating while you clear the backlog.
  2. Consider letting your customers or users know what you are doing, perticularly if in the short term there will be an adverse effect on quality of service.
  3. Give you new staff some quality guidelines (Linda has told me not every Incident is logged). This should include
  • Log every Incident
  • If you resolve an Incident, enter it on the system as resolved within 3 hours.
  • Initiate some basic quality measures, such as specifying a decent Incident description and resolution comment
  1. Find out if some of the Incidents you have are actually Requests for Change. You need to make a distinction between Incidents (where some fault to a user service has occurred) and situations where customers are requesting amendments to services (important though those requests might be).
  2. Assess the older Incidents (maybe from April through to August) one by one – you may need to have someone help you with this. Most ITSM tools such as Serio allow custom ‘status’ values to be attached to Incidents (in Serio, Agent Status A and B are examples of this). Create some status values to attach to your Incidents so that you start to get a grip on what the data means. It will also help you to remember which have been reviewed. The following status values my be useful:
  • Outstanding (means reviewed and is still required)
  • Change raised (means this Incident was actually a Change)
  • No longer required (in my experience, you may find some of the Incidents have either been fixed and the system not updated, or something has changed elsewhere and action is no longer required)
  • On hold (means the status is unclear until further review, naturally you wish to keep this down to a small number)
  1. Check your statistics to see who is actually resolving Incidents, in order to see if some staff members are under-utilised. Use this data with caution – those with lower resolutions shown might be dealing with more complex Incidents. Alternatively, they might be the ones who 3 hours per day on ebay.
  2. Stress to your staff the importance of resolving Incidents, and consider posting a ‘daily outstanding’ on the notice board or some other prominent position.
  3. Consider forming a special team to address the ‘Outstanding’ Incidents you’ve identified above. In Linda’s case, this would be unlikely to be a team of more than 2. I stress the word ‘consider’ here – you may choose to leave Incidents with engineers that are currently handling them.
  4. Incidents will be assigned to Teams and Agents. Check the assignment levels – a bar chart may be useful for this. If you see bottlenecks (for example, 300 Incidents assigned to one individual) take action by re-distributing as required.

Some of the suggestions here many lead to other problems. I’ll write about these in a follow-on post.

Friday, 01 Dec 2006

This is another post on the subject of creating your own reports, your can see the last in the series by clicking Writing Custom Reports Part 2.

The previous posts have looked at SQL, introducing some key clauses in the SELECT statement such as ORDER BY and GROUP by.

Now let us look at a problem that comes up very quickly when you are writing a report. I said in this post that databases such as Microsoft SQL Server and Oracle are made up of tables and views – in order words, the database is really a number of tables whose rows and columns contain the data we see on screen and on page.

The important phrase there is ‘number of tables’ meaning there is more than one. Suppose that you want data from one table and another table on the same report? Not one set of data after the other, but mixed together like you only had one table. Here’s what you do.

This is time for the Join. I will not capitalise the Join word, because it is not an actual SQL keyword, instead it really an expression. It also happens to be one of the most important things you have to grasp in SQL, and you will not accomplish much without understanding the Join concept.

The Task

Produce a status report that lists all Active Incidents, shows the reference number, date of logging, and the Team and Agent to whom they are assigned.

Looking at the documentation that comes with the Serio SDK, I can see that Active Incidents, and their date of logging, can be obtained from sv_issue_basics using this query.

select issue_no, issue_logging_date_time

from sv_issue_basics

where issue_status = 'a'

order by issue_no

However there is no assignment data! Again referring to the documentation I see that assignment information is stored in a helpful View called sv_issue_assignment. By Joining this as follows, we get what we need:

select sv_issue_basics.issue_no,




from sv_issue_basics, sv_issue_assignment

where sv_issue_basics.issue_status = 'a'

and sv_issue_basics.issue_id = sv_issue_assignment.issue_id

order by sv_issue_basics.issue_no

Notice that the statement has changed as follows

  • In the FROM clause, where there was one View named, there is now two. This is because we are taking data from two different Views.
  • The naming of things has changed, and we have to say what View a given column is in – for instance, sv_issue_basics.issue_no means the issue_no column in the sv_issue_basics View. It is good practice to do this if you are using two or more Views.
  • A new clause has been added: and sv_issue_basics.issue_id = sv_issue_assignment.issue_id. This is where we tell the database what data is common between the two tables, so that the database can make a ‘join’ – a new row. In this case both tables contain an issue_id, and we can use that for the join.

This statement satisfies the task we have in set ourselves.

I will continue this series of posts next week, hopefully with an open-source report writer at we'll see how we can use what we have learned.

Thursday, 30 Nov 2006

Over at the Verso blog there's a post called Service Desk or Help Desk - What's in a name? It may help to answer the question we are sometimes asked about this blog and the fact we oftesometimes use both terms, and other times just use one.

Wednesday, 29 Nov 2006

This topic was suggested by a colleague of mine here at Serio, who asked me to write about how Helpdesk or Service Desk managers can help to give their staff further challenges at work, and/or a sense of career progression. He put it more prosaically : ‘what can you do to stop staff feeling like they are stuck in a rut and leaving?’. His comment was triggered by a conversation with a long-standing customer who had lost one of their brightest and best.

As always, I’ll try and stay with the practical. Like a lot of good things, what I’m about to say may seem somewhat obvious but you’d be surprised at how often it is neglected by what are otherwise very capable managers.

Lots of things can lower employee morale, such as poor pay, permanently angry customers, but I’m going to stick to how you give staff new challenges in what might seem to be an environment with limited promotional opportunities.

It really doesn’t matter if have no ‘promotion’ positions available, because what you can do is to give your staff new functions to perform, and this is where ITIL becomes really useful. Let us take the case of a Helpdesk or Service Desk with 6 staff and a manager, where the manager is responsible for producing monthly reports, analysing service levels achieved and so on.

This is quite typical in my experience – we have a manager and then a group of people who are responsible for dealing with customers day to day.

In this situation, you can (as an example) create a new role of ‘Service Level Manager’, and ask one of the staff to extend their repertoire of skills to include this. In doing so, it is absolutely critical that you spell-out for the person concerned what they have to do and be both specific and practical. You might say:

  • Produce monthly reports on Service Levels achieved (giving a sample report), including a summary and conclusion
  • Produce recommendations for improvements where Service Levels fall below that expected or required (again giving some examples)
  • Use the ITSM tool to monitor ongoing Service Levels day-to-day (again being specific. If you were a Serio user you might say ‘Act on the Response Breach Warnings that are sent’)

In order to make this work, you have to hand-over all (or almost all) responsibility. What I mean by this is that if you are discussing new Service Levels with customers, your Service Level Manager might take the lead (which doesn’t mean that the Service Desk or IT Manager is not involved, just that someone else leads the discussions and leads the process of agreement). Also, the person concerned should have a visible part to play in implementing successfully their own recommendations, and be able to take some credit for service improvements that result.

In other words, there is some scope for initiative. If you just ask someone to compile reports that will not achieve what I am talking about here.

Other benefits come from this approach, the principal of which is a wider appreciation of, and involvement in, IT service management.

Make sure it is clear both to the person concerned, and the rest of the team, that the role is a reward for competence and hard work. This gives them incentives and makes it clear that it is possible to progress within your own company.

Please take a look at the two White Papers attached that may be of interest.

Monday, 27 Nov 2006

This post is next in the series on Writing your own Custom Reports.

The last post was all about introducing the SELECT statement, and showing how you can use it to access data.

There are a few points to draw from the previous post, and they are:

Understand your data. You can’t write any report yourself unless you have a clear idea of what data is available. The devil is all in the detail here, and if you want to create a report yourself then you have to grasp the detail.

For example, understanding that the sv_issue_basics View contains both Incident, Problem and Change data is an important detail. You find that out by reading the comments about the View, but you can also infer it by looking at the columns. Since one of the columns has is type_code, and this is I for Incident, p for Problem and c for Change it is easy to deduce this View has all three types of data, and that this column allows you to filter.

Build your query in stages. Just like I did in the earlier post, you can gradually develop your query in stages.

In this post, I’m going to refine the query further, and show you some of the other things we can do with a SELECT.

We finished with this SQL statement

select issue_no, issue_logging_date_time, issue_priority

from sv_issue_basics

where issue_logging_date_time >= ‘2006-10-01′

and issue_logging_date_time <= '2006-10-31'

and type_code = 'i'

order by issue_no

Note that the first part of the statement says what columns we want to see. There is a shorthand way of saying we want to see every column, using *, as in this example below

select *

from sv_issue_basics

where issue_logging_date_time >= ‘2006-10-01′

and issue_logging_date_time <= '2006-10-31'

and type_code = 'i'

order by issue_no

Grouping and Counting

If you try to write a report yourself, you will almost certainly want to both group by different data, and to count instances of particular groups. A lot of the reports in SerioReports do this. This post will show you how.

The Task

Produce a report for October that groups Incidents by Priority, and counts the number logged for each Priority.

What we have to do is introduce a new clause – the GROUP BY clause. This clause tells the database to ‘fold’ rows that are similar together – in this case, by Priority. Since we wish to have a count of Incidents, we can use the function specially provided in SQL for this, the COUNT function (these are called aggregate functions).

select issue_priority, count(*)

from sv_issue_basics

where issue_logging_date_time >= '2006-10-01'

and issue_logging_date_time <= '2006-10-31'

and type_code = 'i'

group by issue_priority

order by issue_priority

If you wish to GROUP results, here are a few simple rules to help you get it right. 

- If you include a column in the SELECT clause that is not an Aggregate function, you must include it in the GROUP clause. 

- Generally it is a good idea to include GROUPed columns in the ORDER clause. Using these rules, I can extend the query to group by Priority and Problem Area, as follows.

SQL query 2


select issue_priority, problem_area, count(*)

from sv_issue_basics

where issue_logging_date_time >= '2006-10-01'

and issue_logging_date_time <= '2006-10-31'

and type_code = 'i'

group by issue_priority, problem_area

order by issue_priority, problem_area





Figure 1 - Query being run