Code4Lib Pre-Conference: Fail4lib

Being a smaller session, there was a lot of tangents and what not, so apologies if the notes seem a little disorganized.

Slides

How do you measure “value” or success of projects in library setting where ROI is not measure in the amount of money?

Some Flavours of Failure

  • technical failure
  • failure to effectively address a real user need
  • overinvestment
  • outreach/promotion failure
  • design/UX failure
  • project team communication failure
  • failure to start
  • launch failure
  • no usage
  • missed opportunities (risk-averse failure)

Most of these issues boil down to a break down of communications of some sort.

What does a Project Manager Do?

Sometimes the problem is not knowing what a project manager does. The person who comes up with the idea thinks they run the project; think that they know everything to make the decisions. Or, they become the one dictating all the requirements.

A lot of the issues are political. No way to move it over to having systems oversight.

Making the Distinction?

Project manager is in charge of day to day operations. Project lead is thinking about high level requirement, more strategically, and becomes liaison between systems and the rest of the library. (e.g. public services project, would have public services librarian) Decisions are made collaboratively.

Once it settles in, make an oversight team for maintenance purposes.

The Culture of Process

Product is the reflection of the process? But, want to see evidence of process. Without ‘evidence’ of the process, what about accountability and transparency? The evidence can also be a good reference so that you don’t have to explain.

Get people to meet to discuss what they’re going to do. Can cut down a lot in the amount of time spend doing things that aren’t needed, and waiting for dependencies.

Staff frequently also think they know what users want better than users.

Project FUBAR Lightning Talk

Slides

Major Projects

  • Islandora + digital repository initiative on campus
  • Sierra – ILS
  • EZProxy

Timeline

  • Islandora: lots of delays in development
  • ILS: had to go beta early

Option for Failure?

  • mission critical projects, must be salvaged
  • how to deal with other people’s projects failure – vendors didn’t deliver
  • plan for the worst before the worst happens

How to Successfully Survive a Mandated Project

  • practice good communication
  • know the political ramifications of your actions to yourself and the chain of command
  • work to manage expectations
  • be prepared to clean up any messes and make any changes
  • Souce: Ellern, Jill. “How to Successfully Survive a Mandated Project,” Computers in Libraries 31, no. 9 (Nov 2011): 16-20.

The Right Approach

Baby Porcupine

This is a reference to the Dilbert comic called “The Right Approach”, which a porcupine says that “we must stick them with quills – it’s the only way!”, because the ‘correct’ approach in any situation is the only approach you know.

While the project I worked on wasn’t quite like this, it was more the ‘the status quo’ is the best approach.

Project Failures

Slides

Seagull failure

  • “seagull manager flies in, makes a lot of noise, craps on everything then flies off again leaving a big mess behind” -urbandictionary

Examples – Fail Projects

Never went live

  • statistics dashboard for collections and services
  • web app to add photo information to specific photo collection

Fail by Bloat

  • Instruction workshop scheduler – supports weird business rules

Managing Risk

  • building diverse teams
  • expecting dead ends
  • having fall-back plans
  • learn to say ‘no’ (preventing project creep), list features and possibly impact and complexity
  • fault-tolerant schedules
  • establishing flexible goals at the start
  • communicate
  • making sure it fits in the strategic plan (helps with funding)
  • prototype/drafting to make sure it’s feasible
  • make product resilient, assuming someone will try to break it
  • launch checklist by VCU

It’s All About Communications

Need to communicate with the staff. Present and allow feedback. Need to give people an outlet to provide feedback and response to feedback. You don’t need to implement most of it.

Don’t assume that the person is ignorant, dumb, or just out to get you. You’re not always right, and sometimes ideas are tossed in just to make people think.

When a Project has Failed

Do a post-project review and go over the failure points. Post-mortem meetings can be very cathartic (even if it ends up being a rant).

Learn from your mistakes. You should always do this even if the project didn’t actually fail.

Cold

Now it’s back to braving the cold at the end of the pre-conference day.

kitty in snow

Redesigning the Digital Commons Page

Recently, our team has been assisting with a new initiative to make sure documents sent in to our institutional repository (IR) are accessible. I won’t go into much detail, but since this new initiative was being launched, it was proposed to have the digital commons (our IR) page redesigned for the launch.

Old Page

The old page was really just a lot of text, and too much of it. I’m also not sure how long it had been since anyone had revised it. The biggest problem was that it was difficult to find what you wanted, especially how or where to submit a document.

Old Digital Commons Page
Old Digital Commons Page

Mockups

So the first mockup was actually given to me by the group working on the IR project. While a vast improvement over the original page, I was not a fan of the quadrant look. I’m probably biased because it was overused at my last work place, but regardless, I thought I could do better.

Mockup #1
Mockup #1

One thing that didn’t make sense to me was why you would have a link to a search page instead of just building in a search on the page (same with the news). While a search box was thought of, I’m not sure how it would’ve worked into the square design. I was actually working on the Articles redesign around the same time, so I ended up using some of the ideas I had floating around in my head already.

Mockup #2
Mockup #2

The colours I used were based on the first mockup, which were in turn based on the IR site’s colours.

Redesigned Page

The redesigned page came out pretty much exactly as the mockup. However, the project members called me the day after to tell me that the green shows as a very ugly yellow if the screen or projector is not properly calibrated. So, I ended up changing the colours to our library’s colours.

Current New Digital Commons Page
Current New Digital Commons Page

Most of the text that was on the original page is now on the About page linked from this landing page. I think it’s a huge improvement, so hopefully it helps to encourage more of our users to submit things to our IR.

Implemeting an Issue Tracker (Redmine)

For more than half a year now, I’ve been trying to get an issue tracker fully implemented for our IT team within the library. I admit that I’m still working on it. Getting the system up and running was easy enough, but trying to work it into people’s workflow isn’t so easy.

Choosing the Issue Tracker

There are a lot of issue trackers out there, but we are a small team and I wanted the issue tracker running easily and quickly. It’s not something I wanted to spend a lot of time getting up and running, because we had a lot of other projects happening.

Other requirements included:

  • support multiple projects
  • non-members being able to report issues
  • support email issue management (either built-in or plugin)
  • low to no cost

preferable

  • support CAS or LDAP login (either built-in or plugin)
  • documentation area and/or wiki
  • code repository integration
  • open source

I asked around a little bit, and these were the recommendations I got:

  • Asana: 2
  • FogBugz: 1 Against: 1
  • Footprints: – Against: 1
  • Github: 2
  • JIRA: – Against: 2
  • Pivotal Tracker: – Against: 1
  • Redmine: 5
  • Request Tracker: 1 Against: 1
  • SupportPress (for WordPress): 1
  • Trac: 3 Against: 1

Trac and Redmine seemed to be the two forerunners. My problem with Trac was that it didn’t have clear project organization, and no one could confirm that the email issue management plugin worked.

Installation & Setup

Our system administrator took a couple of (not full) days to get it installed and going, and following the instructions were apparently fairly easy. Then it took me maybe half a day to set up all the projects and users with the settings I wanted. The e-mail creation also worked well out of the box. We just had to make sure we had the right settings for what we wanted.

Staff Issue Creation & Management

In order to make it so that staff can file issues without ever having to see Redmine, I created a form in our Intranet (webform module in Drupal). The form had most of the standard fields:

  • Name: automatically filled in with username
  • E-mail: also automatically filled in
  • Related to: options which were essentially the project names
  • Need: options equivalent to tracker e.g. Support, Bug Fix, etc.
  • Priority: options equivalent to priority
  • Summary: email subject line, which then turns into issue name
  • Description: issue details

Once it’s submitted, a copy is sent to our team’s email. Through a cron job (every 5 minutes or so), the email is picked up, and filed.

If the user already exists in the system, Redmine will use the email from the user account to match it to the user, they will automatically become the ‘reporter’ of the issue, and get a copy.

If the user does not exist in the system, Redmine will say that ‘Anonymous’ reported it. This will always happen the first time someone reports an issue as I did not add everyone on staff to the system. So, the first time this happens, I then add the user to the system, and add them as a watcher to the issue.

The one issue I ran into was that I forgot you have to set both the email plugin and each project to accept issues from anonymous users. Simple carelessness really.

Getting Staff to Change their Workflow

I think the hardest part with implementing any issue tracker is getting staff to use it. Within the team, it hasn’t been too difficult. We have a small team and the developers in particular have no problems using it. The only problem I sometimes have is making sure they close issues when they’re done with them.

But even within the team, sometimes it can be difficult to get people to report issues using Redmine. While our manager wanted us to start using it just for the website, it has worked well enough, so we’re strategizing how to get the rest of the staff using it now.

We’ve concluded that it kind of needs to be an all or nothing. So we’ve decided that all non-urgent issues should be done through the intranet form regardless of the project, and that should people email us, we’re going to be emailing them back to submit it through the form.

For any urgent issues and for immediate support, they can still call us. After all, trying to walk someone through editing something on our website or intranet is much easier by phone anyway.

Before we start enforcing it, we’ll be introducing this workflow to staff through various committee meetings in part to gather feedback.

So… we’ll see how it goes.