2 Groups and Roles in ESMF Development

For more detail on the groups below, including their Terms of Reference, see the ESMF Project Plan[#!bib:ESMFprojectplan!#]. This document is available via the Management link on the ESMF website navigation bar.

2.1 Core Team

ESMF software implementation is led by a distributed Core Team which is based in the Technology Development Division (TDD) of the National Center for Atmospheric Research (NCAR). The Core Team relies on close interaction with customers, and the work of many contributors. Core Team activities are open to all active ESMF developers.

All Core Team members are responsible for helping to develop effective project processes and for following processes that are in place.

2.1.1 Core Team Roles

Developers are the Core Team members that design, implement, document, and test ESMF software. They are expected to interact with customers throughout the entire development process in order to understand customer requirements. Developer priorities are set by the Change Review Board (CRB) but developers are expected to understand customer requirements and needs and to manage their own time.

The Integrator is the lead tester. He or she is responsible for running regression tests, managing project computing accounts, preparing for releases, generating project metrics, and overseeing request and bug tracking.

The Core Team Manager is responsible for overseeing the overall development, and for coordinating the activities of multiple developers so that project schedules and priorities are achieved. Responsibilities include:

Code Advocates are Core Team members who have been assigned to interface with owners of a particular code e.g. CCSM, GEOS-5. Advocates are expected to contact the code owners and keep track of what and how they are doing. They should know the following things about their assigned code:

Code Advocates should do the following for their code:

Advocates are NOT responsible for:

Handlers are developers assigned to fix a particular problem reported on one of the trackers (see  [*] for list). They are expected to be sufficiently familiar with the issue and the code involved so as to not unnecessarily pester the customer with requests for information (e.g. the information is contained in previous tickets from the same customer). See section [*] for a complete list of Handlers activities in the support process.

Support Lead is a Core Team member who has been assigned the responsibility for monitoring customer relations and the quality of the customer support process. Specific duties include:

2.2 Joint Specification Team (JST)

The Core Team, along with contributors, customers, technical managers, and other stakeholders in development, are collectively referred to as the ESMF Joint Specification Team, or JST. JST membership is open to members of the science, computing, and related communities.

2.3 Change Review Board (CRB)

ESMF development priorities and schedules are set by a Change Review Board (CRB) that consists of individuals associated with major ESMF initiatives and applications. Members of the CRB are chosen by the ESMF Executive Management.

2.4 Quality Assurance Responsibilities

Collective public reviews and the intelligence and attentiveness of project staff are the two primary mechanisms for software quality assurance.

Requirements, design, code, and project documents such as plans are subject to public review. The purpose of the reviews is to look for models of good documentation, as well as inconsistencies, errors, inefficiencies, and areas for improvement. Reviews also increase coordination and awareness within the ESMF project.

The Integrator ensures that support requests and bugs are reported, tracked, and resolved, and that automated test and backup scripts are operating correctly.

The Core Team Manager works with team to ensure that documentation is sufficient, tracks consistency between documentation and source code before releases, and monitors conformance to coding and documentation standards. The Core Team Manager is also responsible for ensuring the quality and accuracy of the ESMF source code distribution overall, by leading the development, implementation and documentation of development, test, and release procedures.