Software Development Process and Infrastructure

Status Report: October 2011 - April 2012

Ethan Davis, et. al

Strategic Focus Areas

Software Development Process and Infrastructure supports the following Unidata funding proposal focus areas:

  1. Broadening participation and expanding community services
  2. Advancing data services
  3. Developing and deploying useful tools
  4. Enhancing user support services
  5. Providing leadership in cyberinfrastructure

Activities Since the Last Status Report

Infrastructure

  • Git/GitHub: Source code repositories for a number of software products have moved to publicly visible GitHub repositories: CDM/TDS, IDV, and LDM, VisAD (experimental branch).
  • Maven: Build and dependency management of a number of projects have switched to Maven: CDM/TDS, VisAD (experimental branch), and IDV (branch).
  • Jenkins-CI: Support for automatic builds and tests (continuous integration) for a number of projects has moved to Jenkins: CDM/TDS, netCDF-C (planned)
  • JIRA/Redmine: Issue tracking is done using JIRA (netCDF-C and CDM/TDS) and Redmine (IDV).
  • Build Platforms: Several build platforms have been decommissioned: IRIX, OSF, HP-UX. Looking for an AIX replacement system.

Note: A number of contributions from outside developers have been received, facilitated by the use of git, github, and maven.

Process

  • Experimenting with various practices from Agile methodologies (e.g., Scrum, Kanban, XP).
  • High-level, cross-project discussion and planning has resulted in a list of possible cross-project efforts.

Planned Activities

  • Continue experimenting with various practices from Agile methodologies.
  • Develop understanding of Git Best Practices and document for Unidata community.
  • Look at moving more Java software projects under Maven to simplify cross-project builds (e.g., IDV dependency on CDM).