Halfway through January, a good time to cast a more general eye over what we’re doing at the moment and perhaps shed some light on what it is we get up to in the daylight hours.
Each month we create a task list, broken down into roughly 4 areas: new repositories, major projects, small projects, and individual customer change requests. Not every area will be represented each month, and occasionally we’ll create a new category for something that doesn’t quite fit the bill.
New repositories will be a combination of new trial or production repositories. This month we’ve added the HSE pilot, and the Royal College of Nursing pilot should be ready in a couple of days.
Major and small projects cover anything that changes a feature or function that will be applied to the entire code base. Individual customer change requests are front-end, organisational, form, or text changes made for a specific repository. These changes can all be made using repository specific files that
don’t require changes to the shared code, and won’t impact other
repositories. For example: we get a request from anonymous customer A to add a new field to their submission form, change the word ‘community’ throughout to ‘directory’, remove a box from the homepage, and update their URL. These all fall into the individual customer change request list. Anonymous customer B later asks us to develop a solution to download content to an iPod. This will require changes to the code, and so, after analysis, some head-scratching, occasionally head-shaking, and prioritisation eventually becomes either a small or major project, depending on the work involved. Please don’t ask us about the iPod idea though.
Small projects usually take no more than a couple of weeks to complete, and tend to be confined to a single piece of functionality. Major projects are longer term changes, often with architectural implications and can take months to complete. Last year’s upgrade was a major project. Within that were many small projects, for example, adding the list of latest submissions to the homepage. I could complicate matters further by saying some major projects can be rather ephemeral, such as: make search better, but I won’t; as these find themselves being broken into a number of small projects, such as ‘search within a specified date range’, that are related, but won’t necessarily be worked on at the same time.
The process of arriving at the monthly task list involves a great deal of careful consideration, analysis, negotiation and a lot of wild gesticulating. We maintain a database of all customer requests, ideas and suggestions, which are a mixture of small change requests and project ideas. Each month we’ll endeavour to complete as many of the small change requests as possible. However, in the event of there being too many, we need to discuss the urgency with each customer and prioritise accordingly. Project ideas fall into a separate melting pot, also containing ideas of our own, and work being carried out within the DSpace community. Deciding which tasks get pulled out and worked on depends on various factors: the popularity of the request, urgency of the request, usefulness of the request to the widest customer base, complexity of the task, how the work fits in with the overall schedule, whether or not the work’s being looked at elsewhere, who’s available to work on it and possibly whether or not we’re in the mood that day.
This month, other than the new pilots already mentioned, we’re focusing on small change requests for Landspitali, Exeter, Wolverhampton and Medecins Sans Frontieres. The rest of our tasks are all small projects. I’ve spoken previously about the work we’re doing on search: ordering results, and restricting to date ranges. We’re also going to look into full text searching of foreign characters and restricting searches to items with full text. We’re currently testing the export to EndNote button, and have started working on how to batch import EndNote files and libraries. Thanks to those who have sent test data through for us to play with.
I hope that running each monthly task list up on the blog, will give a clearer idea of what we’re working on and what to expect. I’ll supplement this, from time to time, with updates on our progress over longer term goals.