Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

Task

Deliverables

Notes

Github repo

Project wiki

Dev Epic

Requirements, Design, and Scoping

Meeting - Kickoff meeting

  • Kickoff meeting held with Product Manager to review requirements

Complete FIP (if applicable)

  • FIP reviewed and moved to Accepted status

Complete functional / technical design

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

Scoping

  • Create project stories
  • 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 story.

Design Review

Design review

  • Functional spec approved by architecture champions and team

Finalize FIP

  • FIP updated with any changes resulting from design review

Development

Project management

  • Maintain a public report that clearly shows:
  • Project milestones

  • Time estimates for reaching project milestones

RAM bumps for new actions

  • 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

  • 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.

Development branches

  • Project specific development branches created for:
    • fioprotocol/fio
    • fioprotocol/fio.contract
    • fioprotocol/fio.devtools
    • fioprotocol/fio.test
    • fioprotocol/fiosdk_typescript

Follow Git branching and naming practices at: https://developers.fioprotocol.io/docs/developers/git

Update FIP (or development document)

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

ABI validation

  • 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

  • Code reviewed with dev team

Unit Testing

Action and getter testing

  • fio.test enhanced with initial action and getter tests
  • Tests run cleanly

Performance testing

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

System testing

  • Tests passed to QA for system testing

UAT

Merge to develop and install on DEV

  • Rebase feature branch and merge to develop for UAT testing
  • Install release on DEV server

Feature complete

  • All bugs and outstanding items completed
  • Work with QA to confirm JS tests run cleanly against DEV server

Product signoff

  • Signoff from Product Management

Release Plan

Rollout planning

  • Create rollout/release plan for this effort (added actions, removed actions, table migrations, order dependent detailed instructions on how to roll out these changes successfully. include all necessary MSIGs)
  • Detailed instructions on how to verify that the rollout was performed successfully
  • Review the rollout plan and verification with architecture and QA/Integration teams

Devnet

Devnet testing

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

Devnet testing is tracked in the Release Milestone Checklist

Testnet

Test planning

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

See Release Milestone Checklist

Testnet rollout verification

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

Mainnet

Test planning

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

See Release Milestone Checklist

Mainnet rollout verification

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

  • No labels