Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each release is authorized by a representative from Ocean Networks Canda (ONC) System Adminstration team, the ONC Software Engineering Development team, ONC Data team, and the Director of User Engagement.

...

What validation procedures are completed prior to release?

 The Software Engineering Development team at ONC employs a comprehensive process to authorize, execute, verify and communicate software releases within an Agile Scrum methodology. We utilize many tools to ensure quality and provenance: Atlassian JIRATM and ConfluenceTM for planning tracking, documentation, etc., SVN and GIT for software versioning, Alfresco for corporate documentation, and more.

...

  • Code standards are enforced with build plug-ins (checkstyle, find bugs, j-lint, and more) and code reviews are performed by Software Engineering Development team members.
  • Comprehensive, continuous automated testing is carried as part of the build process (unit tests) and as a automated integration tests with an internal automation system.
  • All tickets assigned to the release must be reviewed, including having suitable automated tests and those tests pass.
  • A Release Meeting is held to confirm the features to be included in the release, discuss risks and review any unresolved “critical” or “blocker” level tickets (these issues are defined as those preventing accurate delivery or acquisition of data.) The meeting includes all of the Scrum Masters, Product Owners/Sponsors, some senior or lead developers, automation test engineers, interested parties and, most importantly, the approving representatives mentioned above.
  • Regularly scheduled software releases occur on a monthly basis. An exception is made for “minor releases” which could occur at any time during the development cycle to address “blocker” or “critical” level issues only.
  • Changes for each release are documented in Release Notes in two formats: internally, using JIRA’s fix version feature, which is affixed to the Release Meeting minutes, and a publically accessible page with plain language feature-orientated Release Notes.
  • Relevant designated stakeholder representatives for each group are notified of an impending release date. If the release will cause any system outages, scheduling conflicts are checked.
  • A banner message is posted on all Oceans 3.0 webpages notifying active users of an impending software update.
  • The release is performed, minimizing downtime (usually ~ 5 minutes).
  • Verification of success deployment is performed.
  • A message indicating the finished release is sent to the stakeholder representatives.
  • Each sprint holds retrospective and planning meetings and kicks off a new sprint.
  • The development and QA environments’ databases are updated by replication from production, automated test suites are run and results checked with the new data.
  • Test-driven, team-orientated agile development begins for the month, with daily scrum meetings, plus design, review and brainstorming break out meetings as needed. 

...

ONC maintains up-to-date licenses for major software systems employed by the Software Engineering Development team.