Versions Compared

Key

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

The milestone checklist tracks the development tasks that need to be completed prior to moving the Epic or story into a new status

Tasks

Deliverables / Notifications

Dev Epic or Story

Project manager will create initial Epic or Story

FIP Wiki

Project manager will create FIP Wiki

Development Stories

  •  Subtasks/stories created for items in the Development Milestone Checklist

Github repo

  •  Create bug/feature branch

See: https://developers.fioprotocol.io/docs/developers/git

Requirements, Design, and Scoping

Meeting - Kickoff meeting

  •  Excluded
  •  Included
  •  Kickoff meeting held with Product Manager to review requirements

Complete FIP (if applicable)

  •  Excluded
  •  Included
  •  FIP reviewed and moved to Accepted status

Complete functional / technical design

  •  Excluded
  •  Included

Design Draft should include a first draft of all elements outlined in the Development Spec.

Scoping

  •  Excluded
  •  Included
  •  Create project stories for development for each of the remaining tasks that are included with the release
  •  Estimate stories

Each story should be unit of work that is deliverable in a 2 week sprint. An initial estimate should be included with every development story.

Design Review

Design review

  •  Excluded
  •  Included
  •  Functional spec approved by architecture champions and team

Finalize FIP

  •  Excluded
  •  Included
  •  FIP updated with any changes resulting from design review

Development

Project management

  •  Excluded
  •  Included
  •  Maintain status in Epic Summary
  • Project milestones

  • Time estimates for reaching project milestones

Development

  •  Excluded
  •  Included
  •  Create draft feature branch off of develop or other target branch (e.g., feature/fip6-lock-tokens)

See: https://developers.fioprotocol.io/docs/developers/git

RAM bumps for new actions

  •  Excluded
  •  Included
  •  Determine RAM allocation for new actions and set RAM bump accordingly. This informationshould be added to the FIP.

See: https://developers.fioprotocol.io/docs/developers/ram

Fees for new actions

  •  Excluded
  •  Included
  •  Estimate initial fees for all actions. In cases where the action requires additional RAM, the fees should be correlated with the RAM estimates. This informationshould be added to the FIP.

Update FIP (or development document)

  •  Excluded
  •  Included
  •  FIP / development spec updated to reflect the details of the implementation

ABI validation

  •  Excluded
  •  Included
  •  Validate json for any new ABIs or ABIs that have been updated
  •  If deploying new contract, make sure ABI copy command is in fio.devtools contracts/build.sh

Code review

  •  Excluded
  •  Included
  •  Once code is complete, request code review of PR from all core devs, release management, and QA

FIO does DAC-style code reviews wherein the following core team members are required to review all major PRs:

  • Core developers - Full review

  • Security - Full review. TBD on how this will be handled.

  • QA and Release Management- Summary review to acknowledge understanding that the feature is in development

If a developer approves a PR, it is assumed that they have taken the time to do a thorough review. Just checking the box is inadequate and puts the chain at risk. If a bug or structural issue escapes, we will be taking joint responsibility for not finding it during our reviews. If a developer wants to dig deeper and has questions for the main developer, they should initiate a discussion with the developer.

Unit Testing

Action and getter testing

  •  Excluded
  •  Included
  •  fio.test test branch created
  •  fio.test enhanced with initial action and getter tests
  •  Tests run cleanly

Performance testing

  •  Excluded
  •  Included
  •  First level performance testing results reviewed with architecture champions (can be performed on dev machine, try to uncover any obvious perf limits)

Release Plan

Msig deployment

  •  Excluded
  •  Included
  •  Create wiki page in Releases directory to track any msigs needed to deploy the feature

Example: [fio 3.3 fio.contracts 2.7] Release script

QA

Handoff to QA

  •  Excluded
  •  Included
  •  Review code and unit tests with QA and Release Management.

UAT

Create PR for Merge to develop

  •  Excluded
  •  Included
  •  Rebase feature branch and create PR for merge to develop (or feature branch) for UAT testing

Install on DEV Server

  •  Excluded
  •  Included
  •  Install release on DEV server

This is a developer task to ensure that their feature or fix is on a publicly accessible DEV server so it can be reviewed by Product Management. This should be done after system testing is complete.

Feature complete

  •  Excluded
  •  Included
  •  All bugs and outstanding items completed

Devnet

Devnet testing

  •  Excluded
  •  Included
  •  Work with release engineer to fully test any new contracts and actions.

Devnet testing is tracked in the Release Milestone Checklist

Testnet

Test planning

  •  Excluded
  •  Included
  •  Work with release team to ensure correct Testnet rollout (addaction, setfee, contract updates, etc).Create deployment rollout guide. This is used by release management during testnet and mainnet deployments

Includes:

  • New actions (addaction)

  • New fees (createfee)

  • List of contracts modified

See Release Milestone Checklist

Testnet rollout verification

  •  Excluded
  •  Included
  •  Perform the Testnet rollout verification for the feature and report findings (add results to Dev Spec)

Mainnet

Test planning

  •  Excluded
  •  Included
  •  Work with release team to ensure correct Mainnet rollout (addaction, setfee, contract updates, etc).

See Release Milestone Checklist

Mainnet rollout verification

  •  Excluded
  •  Included
  •  Perform the Mainnet rollout verification for the feature and report findings (add results to Dev Spec)

...