NMC DSP developers planning
Planning document metabolomics
The approach taken here is of building a working protoype in short development cycles. Intermediate prototypes will be shown and evaluated together with the PI's in biweekly sessions. Requirement analysis, modeling, implementation, testing and evaluation will be done as much as possible in parallel. In weekly sessions with the programmers it will be determined which activities shall have the highest priorities for the week to come. All activities are targeted towards the realization of the prioritized requirements, as listed below.
Planning and protoype
A first functional prototype will be ready to be demonstrated at August 31. This will be followed by a two week evaluation of users and stakeholders. After this evaluation the next set of requirements will be identified. A next prototype is expected before December 1st, followed by a two week evaluation period.
The requirements for the coming prototype are listed below according to the MuSCoW analysis method. MuSCoW is a prioritization technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement - also known as MuSCoW prioritization or MuSCoW analysis.
The capital letters in MuSCoW stand for:
* M - MUST have this. * S - SHOULD have this if at all possible. * C - COULD have this if it does not affect anything else. * W - WON'T have this time but WOULD like in the future.
A list of priorities will be made for each prototype after an evaluation of the preceding one. For the first prototype the requirements are prioritized below:
Musts: Possibility to store and retrieve metabolomics study data (nutritional and plants). Storing, retrieving raw data and related metadata Execute several of the selected example queries Shoulds: Execute all or almost all of selected example queries Provide a user interface for bulk data import Provide an interface for querying and projects overview Capture some information on plant related studies Capture some information about time relevant to experimental studies Coulds: Select and execute an external tool which operates on raw data. Store the output of an external tool in the database Possibility to edit and extend existing database information Data can be exported to different formats A limited form of authentication is possible Won'ts: No full fledged security system will be implemented.
Apart from the protoype a number of other deliverables will be presented. These will be presented together with the prototype. Below follows a list of deliverables headed by the phase of the development process.
Requirements analysis Documented overview of input formats and types for
- Plant studies
- Nutricial studies
- Other studies
Documentation of user scenarios and limited use cases
Modeling Datamodels of general structures with extensions for several types of studies.
Evaluation Documentation of scoped use case and scenario (with data!) for a prototype.
The bulk of the work will be done by the WP’s: Jeroen Wesbeek Michael van Vliet Tjeerd Abma Prasad Gajula
Advice and support is provided by Floris Sluiter, Machiel Jansen (SARA).
The PI’s will be attending biweekly programmer’s meetings and evaluate existing prototypes. Activities aimed at the realization of the MuSCoW requirements will be assigned to the people involved in weekly sessions based on a risk driven approach. Risk logs will be published weekly on wiki.nbic.nl and activities will be prioritized based on these logs.
Interviews with two researchers in the WKZ have resulted in valuable information. A skeleton application design has already been set up in Grails.
A more detailed planning for the coming weeks:
Prasad: Model plant related information Jeroen: Model time in experiment design Tjeerd/Michael: Setup main datamodel in first prototype
Grails is chosen as the framework for prototyping. A document which compares Grails with Molgenis is being written by the WP's.
Michael and Tjeerd will work together on the "generic/core" model/interface implementation. This is from Project/Study->Experiment->Samplegroup->Sample. Prasad will investigate further on the plant module, look on existing protocols and find common/repeating fields used in protocols. Jeroen and Michael will focus on generalizing and protoyping the BioSource table/module.
Jeroen and Michael present first version of generic meta-information model. Michael and Tjeerd present the generic study information part of the datamodel/interface. Prasad will show his results of investigating the plant-related protocols/information stored.
Jeroen will focus on the timeline specific part. Prasad in Germany to talk with the people from Metware.
Show SARA (Machiel/Floris) the prototype progression and implementation of the modular datamodel. Also have a brainstorm about the more general/tag(list) based datamodel suggested by Jeroen/Michael.
Monday had a discussion about the current datamodel which is a more generic datamodel. This model was discussed in week 31 with Machiel/Floris and has resulted in a flexible metadata part in the datamodel based on templates. The rest of the datamodel contains the generic study/experiment/sample/source/species/strain information. The definitions page has been updated. Prasad is working on XCMS/R and Grails integration. Jeroen on timeline and Michael and Tjeerd are working on the implementation of the interface of the generic part and the metadata part.
On Monday have a discussion with SARA about the generic part (Tjeerd) and metadata part (Michael) which was implemented in week 32. Progress of integration of Biocep-R for XCMS in Grails will be a topic (Prasad). Furthermore a Wiki page should be made where some (censored?) example studies are put on, based on terms on the NMC DSP definitions page. Also should be made clear when the functional requirements will be discussed. We should setup a list of questions for the PI's.
Showed overal progress of the interface to Gooitzen. Margriet, Jildau and Frans walked through the functional specifications document initiated by Jeroen and Jildau, feedback was given to the developers. Definitions used in the current datamodel were agreed. The functional specifications document will be further extended by the PI's. Michael worked on the metatemplate part (using Grails services) and Tjeerd built a simple Wizard prototype for the "general part".
Prasad showed XCMS and Grails integration now working. Tjeerd worked on Matlab integration, still having issues getting the Matlab Compiler Runtime running under Ubuntu distribution. Tjeerd will further extend the wizard interface and Michael will further develop the metatemplate part. Jeroen was on holiday last week and will further develop on the timeline interface.
Tjeerd is finalizing the Wizard interface this week and will integrate it partially with Michaels metadata template part. Tjeerd didn't get the Matlab Compiler Runtime environment running, seems to be a bug with the installer in combination with Ubuntu 9.04, official Mathworks support contacted and they suggested to download an already extracted version from their site (private access). All developers will create screenshots of the user interface parts they have built. Prasad will merge all slides into one presentation. A plan has been made on what to present. Machiel will concentrate on the features going to be implemented.
Everyone prepared his slides and Prasad put all slides together. We went through the slides and prepared for the presentation on Tuesday. Tuesday we presented the current prototype (0.2) to the NMC-DSP particpiants. Based on discussions it was decided that all PI's will evaluate the application locally and make a list of features which are currently missing and/or a list of notes what should be changed/improved. These lists will be compared and the most important points will be discussed whether they should be integrated/solved/added/removed in the next prototype. All changes will be put in the central NMC DSP functional requirements document. The developers will rely solely on this document on what should be built for the next prototype. Tjeerd got the MCR (Matlab Compiler Runtime) environment running and can run Matlab executable files which were compiled on the Grid.
Jeroen, Prasad, Michael and Tjeerd are this week evaluating the prototype (0.2) with their PI's. Tjeerd is going to prepare slides for the NBIC presentation on Friday. A discussion has been held about the webservices and tools. The idea is to create a kind of webservice controller (workflow manager) which can start jobs, kill jobs and get the status of jobs. Every webservice we build should conform to a kind of convention on how to accept data and how to return the result and where to store this (URI). This idea will be worked out further. Prasad and Tjeerd will work together on converting the current R (XCMS) and Matlab (TNO-deco) into a Grails webservice. Jeroen helped in making a newer version of the functional requirements documentation.
Machiel came in Monday morning to discuss on how to continue the prototype development. On Tuesdays Machiel talked to the PI's about the prototype evaluation. In week 40 Machiel will come to NIBI to update us on the meeting he had in week 39 with the PI's. There has also been made an initial drawing on how the webservices framework/manager could work from within Grails. Tjeerd is working further on the wizard and is implementing filter functionality. Michael is working/learning on webservices in Grails. Prasad is also concentrating on making webservices in Grails.