Musings on the first Chalice Scrum

For a while i’ve been hearing enthusiastic noises about how Scrum development practise can focus productivity and improve morale; and been agitating within EDINA to try it out. So Chalice became the guinea-pig first project for a “Rapid Application Development” team; we did three weeks between September 20th and October 7th. In the rest of this post I’ll talk about what happened, what seemed to work, and what seemed soggy.

What happened?

  • We worked as a team 4 days a week, Monday-Thursday, with Fridays either to pick up pieces or to do support and maintenance work for other projects.
  • Each morning we met at 9:45 for 15 minutes to review what had happened the day before, what would happen the next day
  • Each item of work-in-progress went on a post-it note in our meeting room
  • The team was of 4+1 people – four software developers, with a database engineer consulting and sanity checking
  • We had three deliverables –
        a data store and data loading tools
        a RESTful API to query the data
        a user interface to visualise the data as a graph and map

In essence, this was it. We slacked on the full Scrum methodology in several ways:

  • No estimates.

Why no estimates? The positive reason: this sprint was mostly about code re-use and concept re-design; we weren’t building much from scratch. The data model design, and API to query bounding boxes in time and space, were plundered and evolved from Unlock. The code for visualising queries (and the basis for annotating results) was lifted from Addressing History. So we were working with mostly known quantities.

  • No product owner

This was mostly an oversight; going into the process without much preparation time. I put myself in the “Scrum master” role by instinct, whereas other project managers might be more comfortable playing “product owner”. With hindsight, it would have been great to have a team member from a different institution (the user-facing folk at CeRch) or our JISC project officer, visit for a day and play product owner.

What seemed to work?

The “time-boxed” meeting (every morning for 15 minutes at 9:45) seemed to work very well. It helped keep the team focused and communicating. I was surprised that team members actually wanted to talk for longer, and broke up into smaller groups to discuss specific issues.

The team got to share knowledge on fundamentals, that should be re-useful across many other projects and services – for example, the optimum use of Hibernate to move objects around in Java decoupled from the original XML sources and the database implementation.

Emphasis on code re-use meant we could put together a lot of stuff in a compressed amount of time.

Where did things go soggy?

From this point we get into some collective soul-searching, in the hope that it’s helpful to others for future planning.

The start and end were both a bit halting – so out of 12 days available, for only 7 or 8 of those were we actually “on”. The start went a bit awkwardly because:

      We didn’t have the full team available ’til day 3 – holidays scheduled before the Scrum was planned
      It wasn’t clear to other project managers that the team were exclusively working on something else; so a couple of team members were yanked off to do support work before we could clearly establish our rules (e.g. “you’ll get yours later”).

We could address the first problem through more upfront public planning. If the Scrum approach seems to work out and EDINA sticks with it for other projects and services, then a schedule of intense development periods can be published with a horizon of up to 6 months – team members know which times to avoid – and we can be careful about not clashing with school holidays.

We could address the second problem by broadcasting more, internally to the organisation, about what’s being worked on and why. Other project managers will hopefully feel happier with arrangements once they’ve had a chance to work with the team. It is a sudden adjustment in development practise, where the norm has been one or two people full-time for a longish stretch on one service or project.

The end went a bit awkwardly because:

    I didn’t pin down a definite end date – I wasn’t sure if we’d need two or three weeks to get enough-done, and my own dates for the third week were uncertain
    Non-movable requirements for other project work came up right at the end, partly as a by-product of this

The first problem meant we didn’t really build to a crescendo, but rather turned up at the beginning of week 3, looked at how much of the post-it-note map we still had to cover. Then we lost a team member, and the last couple of days turned into a fest of testing and documentation. This was great in the sense that one cannot underestimate the importance of tests and documentation. This was less great in that the momentum somewhat trickled away.

On the basis of this, I imagine that we should:

  • Schedule up-front more, making sure that everyone involved has several months advance notice of upcoming sprints
  • Possibly leave more time than the one review week between sprints on different projects
  • Wait until everyone, or almost everyone, is available, rather than make a halting start with 2 or 3 people

We were operating in a bit of a vacuum as to end-user requirements, and we also had somewhat shifting data (changing in format and quality during the sprint). This was another scheduling fail for me – in an ideal world we would have waited another month, seen some in-depth use case interviews from CeRch and had a larger and more stable collection of data from LTG. But when the chance to kick off the Scrum process within the larger EDINA team came up so quickly, I just couldn’t postpone it.

We plan a follow-up sprint, with the intense development time between November 15th and 25th. The focuses here will be

  • adding annotation / correction to the user interface and API (the seeds already existing in the current codebase)
  • adding the ability to drop in custom map layers

Everything we built at EDINA during the sprint is in Chalice’s subversion repository on Sourceforge – which I’m rather happy with.

Visualisation of some early results

Claire showed us some early results from the work of the Language Technology Group, text mining volumes of the English Place Name Survey to extract geographic names and relations between them.

LTG visualisation of some Chalice data

LTG visualisation of some Chalice data

What you see here (or in the full-size visualisations – start with files *display.html) is the set of names extracted from an entry in EPNS (one town name, and associated names of related or contained places). Note there is just a display, the data structures are not published here at the moment, we’ll talk next week about that.

The names are then looked up in the geonames place-name gazetteer, to get a set of likely locations; then the best-match locations are guessed at based on the relations of places in the document.

Looking at one sample, for Ellesmere – five names are found in geonames, five are not. Of the five that are found, only two are certainly located, e.g. we can tell that the place in EPNS and place in geonames are the same, and establish a link.

What will help improve the quantity of samenesses that we can establish, is filtering searches to be limited by counties – either detailed boundaries or bounding boxes that will definitely contain the county. Contemporary data is now there for free re-use through Unlock Places, which is a place to start.

Note – the later volumes of EPNS do provide OS National Grid coordinates for town names; the earlier ones do not; we’re still not sure when this starts, and will have to check in with EPNS when we all meet there on September 3rd.

How does this fit expectations? We know from past investigations with mixed sets of user-contributed historic place-name data that geonames does well, but not typically above 50% of things located. Combining geonames with OS Open Data sources should help a bit.

The main thing i’m looking to find out now is what proportion of the set of all names will be left floating without a georeference, and how many hops or links we’ll have to traverse to connect floating place-names with something that does have a georeference. How important it will be to convey uncertainty about measurements; and what the cost/benefit will be of making interfaces allowing one to annotate and to correct the locations of place-names against different historic map data sources.

Clearly the further back we go the squashier the data will be; some of the most interesting use cases that CeRch have been talking to people about, involve Anglo-Saxon place references. No maps – not a bad thing – but potentially many hops to a “certain” reference. Thinking about how we can re-use, or turn into RDF namespaces, some of the Pleiades Ancient World GIS work on attestation/confidence of place-names and locations.

Posters and presentations

Happy to have had CHALICE accepted as a poster presentation for the e-Science All Hands Meeting in Cardiff this September. It will be good to have a glossy poster. Pleased to have been accepted at all, as the abstract was rather scrappy and last-minute. I had a chance to revise it, and have archived the PDF abstract.

I’m also doing a talk on CHALICE, related work and future dreams, at the FOSS4G 2010 conference in Barcelona a few days earlier. Going to be a good September, hopes.

Visiting the English Place Name Survey

I was in Nottingham for OSGIS at the Centre for Geospatial Sciences on Tuesday; skipped out between lunch and coffee break to visit the English Place Name Survey in the same leafy campus.

A card file at EPNS

A card file at EPNS

Met with Paul Cavill, who dropped me right in to the heart of the operation – stacks of index cards in shoe boxes. Each major name has a set of annotation cards, describing different related names and their associations and sources – which range from Victorian maps to Anglo-Saxon chronicles.

The editing process takes the card sets and turns them right into print-ready manuscript. The manuscript then has very consistent layout conventions – capitalisation, indentation. This is going to make our work of structure mining a lot easier.

Another bonus I wasn’t expecting was the presence of OSGB grid references for all the major names. The task of making links becomes a snap – I was imagining a lot of iterative guesswork based on clustering and closeness to names in other sources. (There are four Waltons in the UK in geonames, dozens in the EPNS).

On this basis I reckon the entity recognition will be a breeze, LTG will hardly have to stretch their muscles, which means we can ask them to work on grammars and machine learning recognisers for parts of other related archives within the scope of CHALICE.

Pic_0622_026And we would have freedom in the EDINA team’s time to do more – specifically to look at using the National Map Library of Scotland’s map rectifier tools to correlate the gazetteer with detailed line-drawn maps  also created by the late H. D. G. Foxall. Digitisations of these maps live in the Shropshire Records Office. We must talk with them about their plans (the Records Office holds copyright in the scans).

The eye-opener for me was the index of sources, or rather the bibliography. Each placename variant is marked with a few letters identifying the source of the name. So the index itself provides a key to old maps and gazetteers and archival records. To use Ant Beck’s phrase the EPNS looks like a “decoupled synthesis” of placename knowledge in all these sources. If we extract its structure, we are recoupling the synthesis and the sources, and now know where to look next to go text mining and digitising.

Pic_0622_024So we have the Shropshire Hundreds as a great place to start, as this is where the EPNS are working on now and the volumes are “born digital”. Back at CDDA, Paul Ell has some of the very earliest volumes digitised, and if we find a sample from the middle, we can produce grammar rules that we can be pretty confident will extract the right structure from the whole set, when the time comes to digitise and publish the entire 80+ volume, and growing, set.

But now i’m fascinated by the use of the EPNS derived data as a concordance to so many associated archives documenting historic social patterns. Towards the end of our chat Paul Cavill was speculating about reconstructing Anglo-Saxon England by means of text mining and georeferencing archives – we could provide a reference map to help archaeologists understand what they are finding, or even help them focus on where to look for interesting archaeology.

Paul had been visited by the time-travelling Mormons digitising everything a couple of weeks previously, and will hopefully offer an introduction – i would really, really like to meet them.

CHALICE: Our Budget

This is the last of the seven blog posts we were asked to complete as participants in a #jiscexpo project. I like the process. This is a generalised version of our project budget. More than half goes to the preparation and annotation of digitised text from scans, both manually and using named entity recognition tools.

The other half is for software development and user engagement; hoping to work together closely here. Of course we hope to over-deliver. Also have a small amount allocated to have people travel to a workshop. There’s another, independently supported JISC workshop planned to happen at EPNS on September 3rd.

Institution Apr10– Mar11
EDINA National Datacentre, University of Edinburgh (project management, design, software development) £21129
Language Technology Group, School of Informatics, University of Edinburgh (text mining archival work, named entity recognition toolkit development) £19198
Centre for Data Digitisation and Analysis, Queens College Belfast (preparation of corrected digitised texts for use in archival text mining – the EPNS in a set schedule of volumes) £15362
Centre for e-Research, Kings College London (backup project management, user needs and use case gathering, interviews, dissemination) £12365
Amount Requested from JISC £68054

CHALICE: Team Formation and Community Engagement

Institutional and Collective Benefits describes who, at an institutional level, is engaged with the CHALICE project. We have three work packages split across four institutions – the Centre for Data Digitisation and Analysis at Queens University Belfast; the Language Technology Group at the School of Informatics, and the EDINA National Datacentre, both at the University of Edinburgh; and the Centre for e-Research at Kings College, London.

The Chalice team page contains more detailed biographical data about the researchers, developers, technicians and project managers involved in putting the project together.

The community engagement aspect of CHALICE will focus on gathering requirements from the academic community on how a linked data gazetteer would be most useful in to historical research projects concerned with different time periods. Semi-structured interviews will be conducted with relevant projects, and the researchers involved will be invited to critically review existing gazetteer services, such as geonames, with a view to identifying how they would could get the most out of such a service. This will apply the same principles, based loosely on the  methodology employed by the TEXTvre project. The project will also seek to engage with providers of services and resources. CHALICE will be able to enhance such resources, but also link them together: in particular the project will collaborate with services funded by JISC to gather evidence as to how these services could make use of the gazetteer .  A rapid analysis of the information gathered will be prepared, and a report published within six months of the project’s start date.

When a first iteration of the system is available, we will revisit these projects, and  develop brief case studies that illustrate practical instances of how the resource can be used.

The evidence base thus produced will substantially inform design of the user interface and the scoping and implementation of its functionalities.

Gathering this information will be the responsibility of project staff at CeRch.

We would love to be more specific about exactly which archive projects will yield to CHALICE at this point; but a lot will depend both on the spatial focus of the gazetteer, and the investigation and outreach during the course of the project. So we have a half dozen candidates in mind right now, but the detailed conversations and investigations will have to wait some months… see the next post on the project plan describing when and how things will happen.

CHALICE: The Plan of Work

DRAFT

GANTT-like chart showing the interconnection between different work packages and participants in CHALICE – not a very high-quality scan, sorry. When there are shifts and revisions in the workplan, Jo will rub out the pencil markings and scan the chart in again, but clearer this time.

As far as software development goes we aspire to do a Scrum though given the resources available it will be more of a Scrum-but. Depending how many people we can get to Scrum, we may have to compress the development schedule in the centre – spike one week, deliver the next pretty much – then have an extended maintenance and integration period with just one engineer involved.

The preparation of structured versions of digitised text with markup of extracted entities will be more of a long slog, but perhaps I can ask CDDA and LTG to write something about their methodologies.

The use case gathering and user engagement parts of the project will develop on the form already used in the TextVRE project.


CHALICE: Open Licensing

Software

We commit to making source code produced as part of CHALICE available under a free software license – specifically, the GNU Affero General Public License Version 3. This is the license that was suggested to the Unlock service during consultation with OSS Watch, the open source advisory service for UK research.

GPL is a ShareAlike kind of license, implying that if someone adapts and extends the CHALICE code for use in a project or service, they should make their enhancements available to others. The Affero flavour of GPLv3 invokes the ShareAlike clause if the software is used over a network.

Data

We plan to use the Open Database License from Open Data Commons to publish the data structures extracted from EPNS – and other sources where we have the freedom to do this. ODbL is a ShareAlike license for data – the OpenStreetmap project is moving to use this license, which is especially relevant to geographic factual data.

As far as we know this will be the first time ODbL has been used for a research project of this kind – if there are other examples, would love to hear about them. We’ll seek advice from JISC Legal and from the Edinburgh Research and Innovation office legal service, as to the applicability of ODbL to research data, just to be sure.

CHALICE: Risk Analysis and Success Plan

This post should attempt to forecast both the risks or hurdles that might arise as the project progresses as well as how the project will manage sucess if its outputs become extremely popular?

Risk Analysis

Risk

Probability

(1-5)

Severity

(1-5)

Score

(P x S)

Action to Prevent/Manage Risk

Staffing

2

3

6

Secure by contract lock-in. Ensuring knowledge is continually disseminated amongst those involved. Rapid project life-cycle reduces likelihood of ill effects due to staff departure
Community buy-in

2

3

6

Engagement with community via existing digital humanities network and geospatial semantic web communities; consultation with researchers on quality of work; dissemination through geographic information retrieval community workshops.
Technical

2

3

4

Testing quality of extracted names against historic census data applied by UKDA. Evaluating other techniques to find and resolve names.
Software

2

2

6

Continue consultation with JISC OSSWatch. Building on experiences and outputs from the GeoDigRef project and maintenance taken into account as support work on the Unlock service.

CHALICE: Institutional and Collective Benefits

DRAFT – needs CeRch+CDDA detail plus specific end user engagements though we can go on on the latter topic in later posts.

At this point we should talk a bit more about who is involved in CHALICE and what we’re hoping to gain from it.

The project is led by the EDINA National Datacentre at the University of Edinburgh. EDINA is almost entirely supported by JISC, and runs the flagship Digimap service which provides UK HE/FE access to national mapping data for the UK.

EDINA also maintains the Unlock service, which provides search across different placename gazetteers, and extraction of placenames from text using different gazetteers to “ground” references to place at definite locations. Unlock started life as the GeoCrossWalk project, and it was our involvement in the “Embedding GeoCrossWalk” project that sparked this interest in using text mining techniques to generate placename authority files from historic texts.

The Language Technology Group at the School of Informatics in Edinburgh were partners in this, and have moved on with us to CHALICE. They created the Edinburgh Geoparser that sits behind the Unlock Text web service. Their text mining magic extends much deeper than we’ve really made use of yet, as far as being able to extract events and relations from text, as well as references to people and concepts.

CHALICE should be a fun challenge in an as yet under-explored research area of historic text mining – tuning grammar rules to do markup that can then be used to train machine learning recognisers, and comparing the results. Through their work with CDDA we hope to gain insight into the best balance between manual annotation and manually-corrected automatic annotation, in terms of cost of work, cost savings for others’ future work, and benefits of the different approaches to named entity recognition.

CeRch

CDDA