Access Keys:
Skip to content (Access Key - 0)

Objective 2.2 Efficio Development Plan

GCP Development Plan, 2012


This document presents an initial development plan for software development services provided by Efficio, LLC for the Generation Challenge Program. It outlines the approach and scope of our efforts to develop a modern workbench with all supporting middleware, to include prototyping portions of the workbench/configurable workflow system at iPlant. It is intended to be a living document that is revisited throughout the year with adjustments and refinements made collaboratively based on the results of developed increments.


We will plan and perform all development in increments of approximately one month duration. Each increment will produce a demonstrable artifact which may take the form of deployable software, prototypes, user interface wire frames and/or middleware specifications. After each demonstration we will work collaboratively with GCP to adjust plans for any future increments as necessary. Near term increments (i.e. 2-3 months out) will be planned in the most detail with additional, specific information on features stored in ScrumDo or a similar tool. Far term increments are planned at the high-level to allow for redirection.
Development of a user-based workflow/workbench with high usability will drive the feature list for all increments.


Our development scope includes four primary areas: Workbench, Middleware, Germplasm Query Tool and Study Browser. Features for the Workbench drive requirements for the other three. External developer feature requests can also drive requirements for the Middleware. This document captures high-level scope definition and is not intended to be a replacement for any SOW.


This tool will provide the user with the ability to step through three basic workflows: MARS, MAS and MABC. Some functionality will be performed by integrated external tools (e.g. Nursery Book). Later versions will allow administrative users to tailor workflows for their programs. This task also encompasses the usability/UI development activities.


We will develop a middleware that includes functionality to support the Workbench, Germplasm Query Tool and Study Browser. With GCP approval we will also include functionality requested by external development teams.
We will develop each Middleware function in four parts:

  1. A REST specification, with versioning, that defines the "contract" for the function.
  2. A Java reference implementation (front-end) for each function. The reference implementation may be in two parts: one accessing the back-end directly and one accessing via web services.
  3. A back-end implementation of each function with database access.
  4. (Optional) Web-services implementation for each function

We will use a REST specification to define functions to allow for deployment as web services, although not all functions will be developed this way. Versioning the specification, and by extension the reference implementation, mitigates the risk of a changing database schema.

Germplasm Query Tool

Scope TBD, pending agreement on SOW. Features will be in support of workflows for the workbench.

Study Browser Tool

Scope TBD, pending agreement on SOW. Features will be in support of workflows for the workbench.

iPlant integration

We will work with GCP to select a list of features for prototype/trial deployment in each of the three iPlant environments: Discovery Environment, Atmosphere and Virtual Hosting.

Schedule of Increments

Planned Increments

Increments are listed by demonstration delivery date. Current dates assume we continue our bi-weekly Wednesday meetings and can be adjusted to suit new meeting schedules.

Jan 11 – Database schema, Middleware to support "Get Parents"


  • None


  • Initial features to support querying for Germplasm (detailed list enumerated in separate document)

Germplasm Query Tool

  • None

Study Browser

  • None


  • None


  • Database schema changes recommendations

February 8 – Initial Germplasm Query/Get Parents Prototype

  • Middleware
    • Remaining functions to retrieve Germplasm (not to include list functions, full list of functions available in a separate document)
  • Workbench
    • MARS workflow prototype, step 1
      • Get Parents (using germplasm/new middleware)
      • Initial Usability studies
        • Wireframes/Sample screens
        • Possible implementation of wireframes relevant to MARS
  • Study Browser
    • None
  • Germplasm Query Tool
    • As part of the MARS workflow in this increment
  • iPlant
    • None

March 7 – First integration of workbench with external tools

  • Middleware
    • Functions to write initial population development data to the database. This is the data necessary to launch the nursery book and/or fieldbook after doing a "Get Parents" step in MARS.
  • Workbench
    • Use MARS workflow to save population development and launch the nursery book from inside the workbench.
    • Continuing Usability studies
  • Study Browser
    • Initial wireframes
  • Germplasm Query Tool
    • As part of MARS workflow
  • iPlant
    • Discussion in Jan/Feb – do we want to integrate with iPlant in Q1 or Q2 or later?

April 4

  • Middleware
    • Functions to support study browsing
  • Workbench
    • Use MARS workflow to launch Fieldbook for phenotyping.
    • Wireframes and usability for MAS and MABC
  • Study Browser
    • Prototype screens
  • Germplasm Query Tool
    • None
  • iPlant
    • TBD

May 2

Goals for this increment would be marker selecting and genotyping. There is a dependency on GCP finalizing the schema for storing this type of data.

May 30

Last increment prior to June demo. Could be shortened to May 15th. Goals for this increment will be entirely based on previous increments and any final work to prepare for the demo.

June 13

MARS QT and Recombiners
iPlant increment in parallel to the June demo.

July 4

This increment will be focused on feedback from the June demo.

August 1

Finalizing middleware necessary for three main workflows
Begin iPlant integration

August 29

Finalizing all screens and integration with external tools.

September 26

This increment will be an annual retrospective to discuss accomplishments of first year of development and goals for year 2. Initial focus on increments prior to December deployment of new Workbench.

Risks and Dependencies

We see the stability of the database as a major risk to successful development of the Middleware. As mentioned in the scope section, we will mitigate this risk using versioning of all Middleware and developing against the ICIS schema.
The second major risk is the availability of the external tools necessary to complete all steps in a workflow. We plan to keep our schedule flexible and modular to maximize the amount of functionality we can complete, even if certain tools are not available.

Resources and Staffing

As in the SOW.
Tech Lead, Senior Software Engineer, 3 software developers (approx. 1.5 backend and 1.5 front end FTE), PM (50%) and QA (50%)

Adaptavist Theme Builder (3.3.3-conf210) Powered by Atlassian Confluence 2.10.3, the Enterprise Wiki.
Free theme builder license