Tuesday, 1 January 2013

Change management: I'm asking you questions because I'm trying to help you get it right

If you were to say to me: "You have to make the following changes to your library management system," my response would be: "Perhaps. But not yet." This isn't me being precious or obstructive; this is me doing my job. There are times when the brown stuff is hitting the fan and you have to do something in a hurry but most of the time it isn't; and even when it is you need to go back and check your workings-out when the fuss has died down.

If you're working in an ITIL environment — and I am — the assumption has to be that you do what the customer asks, so long as it doesn't screw up the integrity of the system that you're managing. So I'd need to ask you a series of questions to make sure that it doesn't. It's important to point out that under ITIL it doesn't matter whether or not the requested change plays Hob with the business; so long as the system remains intact my job would be done. So, for instance, if you were to ask me to set the library loan period to two hours, with a £100 per hour overdue rate I'd be perfectly entitled to raise my eyebrows and ask: "Are you sure?" but the default position is that the change would be made. The customer is always right, within the confines of their rĂ´le and competencies. (I'm not being "neoliberal" here: "customer" in this context has a particular definition.)

That's the principle of the thing. In reality it's a bit more complicated because we want to avoid the dialogue: "It doesn't work." "It does work, it just doesn't do what you wanted it to do." This is a dismal and unproductive conversation which could do serious damage to the working relationship so we make the effort to avoid it. So I'll ask a few more questions:

"What do you want to do?"
It's astonishing how often this question causes a problem. If you don't know what you want to do, how will you know when you've done it? How will you know if the proposed change will address the issue to hand? And if it is the solution to a problem, is it the best solution? You'd be surprised how often the first applied solution to come along becomes accepted as an essential compnent of the process, regardless of the impact on the efficiency or effectiveness of the business. Just because you know how to pick a lock within two minutes just with the aid of a hair pin doesn't mean you'd necessarily want to throw your front door key away.

"Who does this affect and are they OK with it?"
Systems and services don't live in hermetically-sealed bubbles. At least have a think about who's involved and/or do an outline impact analysis on the back of a fag packet. And do make sure that anyone affected by the change knows about it and what it means to them. If the impacts are big and scary enough you may need to sketch out a communication strategy for them.

"What happens if it goes wrong?"
Give the risks a degree of respect. Don't assume nothing could go wrong or they'll come and bite you on the bum. Make sure you know what could happen if it goes wrong; what the impact would be; and that you have a Plan B, a safety net and/or the capacity to go back to where you started from.

"What do you mean by...?"
Make sure you're talking about the same thing with the same meaning. "Better," "Improved" and "Modernise" are words that should be deprecated in this conversation: what do they mean in the working context? For instance, a set of catalogue records may be more complete, with every tag full of data; or may exhibit a purer adherence to current cataloguing standards; or may be Dewey classified to fifteen decimals, but is it actually better? For whom? You may need to sketch out a quality description document for changes to key data or even a quality plan if you're talking about large-scale fundamental changes.

"How will you know if it's worked?"
Because we want to avoid that dark and dismal dialogue, right?


Monday, 31 December 2012

Lessons Learned

It being the end of year and it being a time for reflection and review and that I thought I'd put down a few thoughts on a process that's sadly neglected by many library projects: Lessons Learned.

In my experience, too often the lesson learned is; "We seem to have managed that in the end, so it's OK to fly by the seats of our pants next time, too." This is an opportunity missed: experience is not what happens to you, it's what you do with it. If what you do with it is nothing then the experience is lost. So it's important to build the Lessons Learned process into any project.

The purpose of a Lessons Learned Document is to capture the experience accrued by the project in a formal document for use on similar future projects, including:
  • Problems that occurred, how they were handled and how they may be avoided in the future.
  • What went well with the project and why, so that other project managers may capitalize on this experience.
It is not the purpose of a Lessons Learned Document to apportion praise or blame.

This document should be used to support the continuous service improvement processes within the organisation.


Just to put my money where my mouth is, these are the recommendations from the lessons learned process from our project migrating from Dynix to Spydus:
  1. A specification of operational functions is essential for the Statement of User Requirements. The more explicitly practical and measurable the more robust the selection process in procurement.
    • Actively encourage staff input in the specification process to get ideas for the specification and buy-in for the project.
    • Actively investigate other solutions and technologies so that you aren’t just doing a like-for-like replacement and limiting yourself to established business delivery models.

  2. Before a procurement process that you own begins you need the following:
    • What is the process? What are the critical paths?
    • Who are the stakeholders — customer/ project/ procurement/ legal/ partners/ whoever
    • Who is/are responsible for doing each step of the process?
    • What information/ documentation is required for each step?
    • When do you know each step has been completed?
    • Has this all been agreed by all the stakeholders?

  3. Agree a Project Initiation Document and work from it.
    • Make sure that you know who is doing what and in what order.
    • Make sure you know what isn’t to be done.

  4. Work to the project:
    • Make sure that you’ve agreed who is doing what and in what order.
    • Make sure everyone knows what isn’t to be done.
    • Have clear lines of communication.
    • Get together regularly to review progress and, where necessary, revise action plans.
    • Allow at least three weeks between Subject Expert Training and Train the Trainers to allow options to be explored, modelled and tested for use (particularly with new functionality) adequately.
    • Train the Trainers is an opportunity to test the commissioning to date. Allow at least a week between Train the Trainers and the first batch of Cascade Training to test the safety of any changes.
    • Have cut-off points for commissioning changes:
      • No changes to codes and data structures after data migration.
      • Severely limit the number of system parameter changes after Train the Trainers.
      • Admit no changes to any part of the system (except in emergency) on the day you go live.

    • Make sure that the technical infrastructure requirements are included in the Statement of User Requirements and agreed with the supplier before commencing the installation.
      &nbsp
    • The OPAC is an integral part of the system, not an add-on, so it needs to be treated as part of the whole.
      • The training for the management of the OPAC needs to be included in the Subject Expert programme.
      • Make sure that all the people having input to the commissioning of the OPAC understand its purpose and function.
        &nbsp
    • Spending time cleaning up the data using familiar tools in the system you know saves a considerable amount of time, effort and problems with both the data migration and the operation of the new LMS.
      &nbsp
    • Prepare for the MARC21 environment by making sure the existing catalogue data maps at least adequately and by making sure that there is sufficient MARC21 expertise within the organisation to verify that it does.
      &nbsp
    • It’s useful and important to see how a reference site uses a process.
      • It’s important to make sure that the ‘right’ experience of a site visit is realized: be clear about what the experience needs to be beforehand and proactively manage distractions.

    • Any library service that is not already used to MARC cataloguing should make sure well before the Subject Expert Training that:
      • There is sufficient expertise for the catalogue data mapping process.
      • Staff who will be using catalogue processes (including acquisition via EDI) need to understand at least the basics of the format.
    • Thursday, 4 October 2012

      Remnants from Dynix

      When we migrated from Dynix to Spydus I was keen that we didn't lose more management information than we needed. I ran copies of the canned reports and all the usual suspects but there were two things I particularly wanted to preserve:

      • I wanted to be able to give the stock manager an overview of the state of the collections at each library.
      • We had 21 years' worth of data in Dynix's Statistical Reports Manager and I wasn't keen to lose all that management information.

      So I wrote some Recall reports to strip out the data in text format. These are the Recall Vocs and the local dictionary items that I used.

           COLLECTIONS.REPORT
      0001 PA Saved at 15:15:22 23 SEP 2005 by steveh
      0002 CS
      0003 DISPLAY
      0004 DISPLAY
      0005 DISPLAY          The system is now sorting all the Holdings records
      0006 DISPLAY          A report will be sent to the screen
      0007 DISPLAY
      0008 DISPLAY          This will take some time
      0009 DISPLAY
      0010 DISPLAY          If you want a copy of this report in Word or Excel
      0011 DISPLAY          please ask the Systems Manager
      0012 DISPLAY
      0013 DISPLAY         working.....
      0014 DISPLAY
      0015 SORT HOLDINGS BY AGENCY2 BY COLLECTION BY L-ITEM.AGE BREAK-ON L-LIBNAME "TOTAL FOR 'V'" BREAK-ON T-COLL "TOTAL FOR 'V'" BREAK-ON L-ITEM.AGE "'V'" TOTAL COUNTER HEADING "LIBRARY CATALOGUE STOCK AS OF 'TL'" (CDIP
      
       
      Enter DICT NAME : L-ITEM.AGE
      1  FIELD NAME         1/ YEARS
                            2/ OLD
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        25
      5  CONVERSION         1/ MCT
      6  CORRELATIVE        1/ A; IF N(L-YEARS.OWNED2) < "5" THEN "LESS THAN FIVE YEARS OLD" ELSE IF N(L-YEARS.OWNED2) > "10" THEN "MORE THAN TEN YEARS OLD" ELSE IF N(L-YEARS.OWNED2) = "" THEN "MORE THAN TEN YEARS OLD" ELSE "5 TO 10 YEARS OLD"
      
      
      Enter DICT NAME : L-YEARS.OWNED2
      1  FIELD NAME         1/ YEARS OWNED
      2  FIELD NUMBER          0
      3  JUSTIFICATION         R
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/
      6  CORRELATIVE        1/ A;(D-N(DATE.ADDED))/"365"
      
       
      
           STAT.MGR.DUMP.REPORT
      0001 PA Saved at 16:29:48 30 APR 2012 by steveh
      0002 SELECT STAT.MGR WITH L-PERIOD="DAY"
      0003 SELECT STAT.MGR WITH L-KEY NOT "[.OV"
      0004 SELECT STAT.MGR WITH L-KEY NOT "[.PO.]"
      0005 SORT STAT.MGR BY L-DATE BY L-CODE.TRANSLATE BY L-LIBRARY L-DATE L-CODE.TRANSLATE L-LIBRARY L-TOTAL (CHIP
      
      
           STAT.MGR.MONTH.DUMP
      0001 PA Saved at 10:55:50 10 MAY 2012 by steveh
      0002 SETPTR ,500,5000,,,3
      0003 SELECT STAT.MGR WITH L-PERIOD="MONTH"
      0004 SELECT STAT.MGR WITH L-ELEMENT2 GT "3000"
      0005 SORT STAT.MGR BY L-PERIOD BY L-DATE BY L-CODE.TRANSLATE BY L-LIBRARY L-PERIOD L-DATE L-CODE.TRANSLATE L-LIBRARY L-TOTAL HEADING "Monthly issue statistics from Dynix as of 'TL'" (NIP
       
      
      Enter DICT NAME : L-PERIOD
      1  FIELD NAME         1/ PERIOD
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/
      6  CORRELATIVE        1/ A;IF N(L-ELEMENT1)="M" THEN "MONTH" ELSE IF N(L-ELEMENT1)="D" THEN "DAY" ELSE ""
      
      Enter DICT NAME : L-ELEMENT1
      1  FIELD NAME         1/ FIRST BIT
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/
      6  CORRELATIVE        1/ G.1
       
      Enter DICT NAME : L-KEY
      1  FIELD NAME         1/ KEY
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        80
      5  CONVERSION         1/
      6  CORRELATIVE        1/
       
      Enter DICT NAME : L-DATE
      1  FIELD NAME         1/ DATE
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/ D2
      6  CORRELATIVE        1/ G1.1
      
      Enter DICT NAME : L-CODE.TRANSLATE
      1  FIELD NAME         1/ TRANSLATED CODE
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        50
      5  CONVERSION         1/ MCT
      6  CORRELATIVE        1/ G3.2
                            2/ TCODES;X;;1
      
      Enter DICT NAME : L-LIBRARY
      1  FIELD NAME         1/ LIBRARY
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        35
      5  CONVERSION         1/
      6  CORRELATIVE        1/ A;"EX.";N(L-AGENCY);:
                            2/ TCODES;X;;1
      
      Enter DICT NAME : L-AGENCY
      1  FIELD NAME         1/ AGENCY
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        25
      5  CONVERSION         1/
      6  CORRELATIVE        1/ G2.1
      
      Enter DICT NAME : L-TOTAL
      1  FIELD NAME         1/ TOTAL
      2  FIELD NUMBER          0
      3  JUSTIFICATION         R
      4  DISPLAY LENGTH        6
      5  CONVERSION         1/
      6  CORRELATIVE        1/ F;2;S
       
      Enter DICT NAME : L-PERIOD
      1  FIELD NAME         1/ PERIOD
      2  FIELD NUMBER          0
      3  JUSTIFICATION         L
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/
      6  CORRELATIVE        1/ A;IF N(L-ELEMENT1)="M" THEN "MONTH" ELSE IF N(L-ELEMENT1)="D" THEN "DAY" ELSE ""
      
      Enter DICT NAME : L-ELEMENT2
      1  FIELD NAME         1/ SECOND BIT
      2  FIELD NUMBER          0
      3  JUSTIFICATION         R
      4  DISPLAY LENGTH        10
      5  CONVERSION         1/
      6  CORRELATIVE        1/ G1.1
       
      

      Friday, 27 July 2012

      Relief

      Well, jigger me: we did it. We went live with Spydus today with scarcely any incidents save senior Library Service managers emailing the Spydus consultant telling him that he should change some of the wording on the OPAC menus.

      Far too tired and relieved to find the energy to lob a brick at the offending party for breaking the lines of project communication and having an odd sense of priority.

      Friday, 8 June 2012

      New OPAC

      Good news: we've got the TEST versions of OPAC and the resource discovery module, working and they look quite nice.

      Bad news: we've had to postpone the training for the OPAC as we need to incorporate the change in the corporate branding that should be coming on stream this summer. Essentially, we'll be going live at the end of July with an OPAC pretty much out of the box. Perhaps the only "radical" novelty we'll be delivering at this stage is the range of subcatalogues we'll be presenting:
      • The "vanilla" catalogue"
      • Children's Library
      • Local Studies
      • The Co-operative Collection - very much an unsung resource, especially in this International Year of Co-operation
      • The Maskew Collection - a special collection of English literature and philosophy funded by the bequest of a local lady
      At the moment we're only doing this by imposing filters on the library catalogue, not doing anything in the way of additional information and canned searches. This is frustrating, but I guess unavoidable, but we'll just have to do as best as we can. I'm looking forward to getting the training as there's quite a lot of possibility lurking in these two customer interfaces, particularly Sorcer which has a lot of scope for creating personalised learning/reading environments.

      Friday, 18 May 2012

      Training days

      It's daft really: the hard slog of the past few months has felt like a phoney war, despite the fact that there's been a lot of work and a good number of real successes along the way.
      • The test data load from Dynix to Spydus has gone surprisingly well, with scarcely any glitches (I'm still waiting for the first shoe to drop, let alone the second).
      • The MARC mapping of the Dynix seems to be good enough to do the job of converting to MARC21 in Spydus. Hats off to Anne Whiteley who did the original mapping back in 1990, armed only with commonsense and a manual she'd borrowed as a Regional Loan. My contribution to the cause has been a rank lack of commonsense and whatever I can crib off the good folks on th'interweb.
      • We've got a good project plan and we're making the Library Service work to it. The good news is that nearly everyone involved is relieved to have some sort of structure to hang onto when things start getting giddy.
      Next week we start two weeks' worth of "subject expert" training, the hardest part of which is convincing some people that they really are the local experts in their field.

      Once that's done I've got a couple of weeks in which to do as much configuration as possible before we start training the trainers. If we can get as much of the configuration as possible done during the subject expert training we'll have a fighting chance of hitting our end of July deadline.

      We're hoping that two decisions will help us a lot. The first is that I won't be delivering the training myself, which is a blow personally (it's one of the things I seriously enjoy doing) but it's the only way I'll have the time to be able to work on the outstanding technical details, including the interfaces we're requiring with other systems such as smartsm, the Local Land & Property Gazeteer and the corporate finance systems. It'll also give me space and time to respond to any issues or ideas arising from the training sessions being delivered throughout June.

      Which brings me to the second decision: we've selected a group of trainers who'll act as champions and first line of support within the library servce. These are all Library Service staff, some managers but mostly front-line and all volunteers. In fact, twice as many people as we needed volunteered to be trainers, which is a bit gratifying. They'll have three pretty intensive days in which to get to grips with the new Circulation system and put together a package that can be delivered in a one-day training session for front-line staff. Which start the following week.

      Tight deadlines; some hard decisions to be made about what to leave out of the training packages; and impossible if you're not documenting what you're doing and communicating in minutes and hours, not days and weeks. I'm lucky: the Data Hub has a couple of Project Assistants and one of them will be working with me on this project. That should mean we can get some real-time communication between training sessions and myself so that we can address issues on the fly and record the changes as we go along. He's only been with us a week so he's walking in completely fresh with no preconceptions or baggage, poor devil!

      Sunday, 8 April 2012

      Never try to eat anything bigger than your head

      Well, we've committed to doing it: we chose Spydus as our new LMS just after Christmas, we're formally starting the project now and we've decided we want to go live by the end of July. It's a tall order and we'll have to have some pretty strict project management in play to deliver. I suspect there'll be a good few late nights' workings going on.

      Thursday, 8 December 2011

      Please don't tell me that at least Benito Mussolini made the libraries run on time

      Just a thought…

      If we ran public libraries the way that our privatised railways are run, the taxpayer would be spending more for to have to travel ten miles to their nearest library where they'd have to wait an hour for the opportunity to borrow a dog-eared old Harold Robbins paperback that somebody seemed to have used to wipe their bottom.

      I can't say this prospect thrills.

      Monday, 27 June 2011

      Creative barcodes



      I would dearly love for us to have barcodes like these or these in our library books; not just for aesthetic reasons, they help confirm the brand values of the organisation involved.



      Friday, 3 June 2011

      Aspirational acorns

      A friend and colleague was beating herself up the other day for having somehow failed one of her work experience people. The upshot of her argument was that although she could see the potential in this person she hadn't managed to persuade them it was there. Most of the other work experience people she'd had showed a positive change in self-esteem and self-confidence by the end of the programme but with this one girl she wasn't convinced she'd made a difference.

      This sounds horribly familiar — it's usually me moaning about potential wasted. Having listened to the argument, and having seen the work experience group on an almost daily basis while they were here, I'm sure that my friend is wrong: there are significant positive messages in this girl's experience with us:




      • Somebody took a chance and took her on. From my own experience of unemployment back in the 1980s I know how important this is.


      • Somebody was interested in who she was, not what she was.


      • Somebody was interested in finding out what she could do, not what she couldn't do.


      • And what she could do turned out to be a bit more than she thought she was capable of.
      It's easy to ask: "who died and made you God?" but in circumstances like this there is a duty of care and those of us who care want to see things flourish and develop. No, there's been no magic moment of transformation, and perhaps there never will be. But that girl has gone away knowing that someone somewhere has thought that she was worth something more than just what was between her legs and that that something was worth somebody's making a bit of an effort to find it. That knowledge may or may not survive future experience and it may be years or even decades before anything might come of it, but it's there. And that's important.

      We're not God, the best that we can do is plant acorns and hope to grow the occasional bit of forest.

      There are worse ambitions.