Services and tools developed by the Digital Humanities Lab for CVCE.eu must cater to a variety of target audiences and their specific needs. More often than not, at the start of projects, these needs are not yet fully developed and are highly uncertain. So whilst we have a detailed overview of a product and a corresponding set of basic user requirements, it is not always possible to plan at the the inception of a project exactly what detailed form the end-product will take. The user needs and knowledge become clearer and more established during the iterative process of technological development, which can stimulate creativity, discussion and facilitate the emergence of further user requirements. Therefore, for future projects starting between 2014 and 2017 we are looking to adopt a pragmatic methodology that enable us to efficiently move from an idea to a stable product.
We aim to use an empirical approach for developing projects and their associated products, through the adoption of the Scrum framework. The Scrum framework is a methodology for developing and sustaining complex products. It is suited to circumstances where solutions are required for complex adaptive problems requiring creative approaches (source? Mountain goat?). It is based on the following realisims:
- You can’t plan your way out of uncertainty
- The point in a project when you know the most is when it is complete
With a focus on highly user-centred development process that places user needs (and their uncertainty) at its heart, scrum affords transparency of the development cycle to our internal stakeholders (researchers in European integration studies) and will ensure best value to our external users (scientific communities, teaching and lifelong learning communities, society at large). It will allow inspection of products regularly, starting at an early development stage. It also provides a framework to adapt products based on the users’ knowledge gained during the development process. Thus, it should help us deliver more robust, useful and usable solutions.
What is Scrum?
In essence Scrum is a methodology based on AGILE, where product requirements and solutions evolve as a consequence of collaborations between teams, product owners and their stakeholders. Scrum can be applied to many different types of projects but is commonly adopted by software development projects as it is highly suited for rapidly changing or emergent requirements, with the aim to create software delivers more value (Scrum.org) and can be summarised in the following high level, simple steps:
- A Product Owner creates a prioritised, ordered list of items (akin to a wish list) known as a product backlog
- Often the items are written as user stories
- Items at the top of the list are written with more detail
- The backlog is continuously evolving
- Then in a sprint planning meeting, a subset of the items on the product backlog are selected by the scrum team and placed into a sprint backlog.
- The sprint backlog forms the tasks and activities of the a sprint
- a 1 to 4 week period within which the items on the sprint backlog must be completed
- During the 1-4 week sprint period a 15 minute daily fixed scrum meeting
- Same time, same people, same place .
- The aim is to understand:
- What work was completed yesterday?
- What is planned for today,
- Are you facing any problems?
- The ScrumMaster helps resolve any impediments to progress during the sprint
- Following the completion of a Sprint, there should be a potentially releasable iteration of product that can be shown to the product owner and stakeholders during a sprint review
- If the sprint is two weeks long then it is suggested a sprint review meeting should last two hours.
- A sprint retrospective is held to review the sprint
- what went well?
- What could have been improved?
- What actions to take in the next sprint.
- Repeat process for the next set of items ordered at the top of the backlog
How will we implement Scrum methodology at CVCE?
The first step is to identify a few projects which would really benefit from a Scrum approach and begin from here, then we will use a snowball effect to then adopt it for other projects after the benefits and business value are clearly visible to all our stakeholders. I have been on the Scrum Product Owner training course (which I enjoyed immensely) and my college has participated in the ScrumMaster training course.
At the CVCE there will be three main departments involved developing projects and products using Scrum
- European Integration Studies (EIS) – comprising of social science and humanities researchers
- Digital Humanities Lab (DH Lab) – comprising of digital humanist researchers who are the interface between EIS and DevOps.
- Development & Operations (DevOps) – comprising of computer scientists and media technologists
The project that we have selected to be our pilot for the adoption of Scrum is one where we are working on evolving and improving the interface, our data model and data enrichment process for the CVCE document object repository. As part of this evolution we are integrating a metadata zone within the interface and data model to enable EIS to easily provide metadata in line with the international standards of Dublin Core, for all the objects they create. This will be combined with a citation generation service to provide internal users (CVCE historians) of the repository and readers accessing the repository via the website with automatically generated citations for all resources, conforming to ISO 690 numeric French standards. To complement this, there is a need to develop a metadata quality control process to ensure consistency of the authority lists that are created as part of our metadata policy. It is this project that we are implementing with Scrum.
A member of the DH Lab is the product owner ,EIS our stakeholders and various staff from DevOps and the DH Lab comprise the scrum team. The product backlog is emerging based on sets of user stories derived from interviews with users and observations of how they are currently working and the strategic objectives. We are working in 2 week sprints cycles and are currently half way through sprint 4.
To mange the scrum we are using JIRA, to both manage the backlog and organise and plan our sprints.
Thus far we are enjoying working in this way and our stakeholders appear happy. I will post further updates and details of our progress as they emerge.