From Prototype to Production – Changes to the ObTiMA development to make it ready for clinical scenarios
When the development of ObTiMA was launched early within the ACGT project, it was first intended to become a showcase application for the various innovative technologies created within that project. The main focus at that time was to highlight the novel possibilities for designing and managing the various parts of clinical trials based on ontological concepts and descriptions. But very soon it became obvious that ObTiMA has a much greater potential than just being a research prototype. And therefore the decision was taken to develop the system further into the direction of fulfilling the strict software requirements found in clinical settings. But to create such a production-ready application the previous research-focused development process had to be shifted towards a commercial software development methodology. Also different criteria gained focus that are of lesser importance in research but essential in everyday use, such as usability (since in clinical environments, easy-and-quick-to-use software is of utmost importance). In the following we describe some of the measures taken over the last year in light of the just said:
As first step, the previous development process and the responsibilities of each participant were analyzed. For this, the original goals for ObTiMA (as described in the DOW and the deliverables) were “dissected” and put in relation to the current state of the system: Which goals were reached already, which ones should be realized, and which ones should be cut towards the goal of a stable system. The continued development should not attempt to include all imaginable, “cool” functionalities but rather concentrate on strengthening the major, critical functionalities retaining a sensible and realistic timeframe. In this context, a continuous communication between all developers was started to include regular face-to-face meetings and conference calls to discuss such planning together and in turn improve the team News on the latest products or services in our area of interest networking. The planning is also fostered by a new centralized Wiki software (Atlassian Confluence) where all project documentation now takes places (and thus no more searching in old e-mails for some specification PDF).
One larger issue previously was the lacking of common guidelines on the different levels of the system development. Hence each developer was using his own coding-style together with his own preferred programming packages (such as for XML processing). To change this we refactored the existing code to use only common packages and teach the developers how to apply a coherent code style with e.g. intelligible file or method names and simplified code structure. This was combined with the introduction of a multi-level testing framework: For this framework, first, a contiguous set of sensible system data was developed that allows creating test cases with always reproducible results. This data, in turn, is applied by an automated testing environment that checks both the correct working of the underlying code as well as of the user interface. If those tests reveal any bugs in ObTiMA then those can be directly reported within the new bug-tracking software (Atlassian JIRA) which allows tracing the state of all reported bugs (as well as feature requests).
Holger Stenzhor,
USAAR