This document describes the design history and architecture of MACAW, an application which curates the collection of NSHD variables that are advertised through the SWIFT software suite. The project was initially envisioned as a single web-based application that would support activities for letting data curators manage NSHD variables and for letting scientists construct research proposals based on those variables. The project has since evolved into two sub-projects through the following phases:
- Phase I: one application that does everything
- Phase II: two separate applications that interact through a shared database schema
- Phase III: two separate applications which use separate schemas but interact through APIs
Expectations from upper management of a rapid delivery of software encouraged the development team to split the division of labour. It was necessary to evolve the project into two separate sub-projects in order to accommodate the difficult circumstances for pooling the efforts of two geographically separated developers who had different schedules, and were working on two separate applications which shared a common domain of business concepts but had different tasks that shaped design efforts.
Both applications are almost done but we now face a number of issues:
- integrating the two applications together
- determining whether development should evolve through a software development approach which favours a documented, up-front design or one that favours a less-documented agile development approach.
- determining whether we should try to consolidate code for both sub-projects in-house or continue to foster the current split in development
These issues are discussed in a separate document entitled “Integrating SWIFT and Macaw”. The scope of this document only covers design issues which shaped the development of Macaw. The rest of the document appears in two sections. A thorough discussion of the present design and architecture of Macaw is followed by a separate section that describes the history of important design decisions that were taken in the project.
Author: Kevin Garwood
(c)2010 Lifelong Health and Ageing Unit of the Medical Research Council.