/
[FIP-42] Development Milestone Checklist

[FIP-42] Development Milestone Checklist

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

 

 

Tasks

Deliverables / Notifications

Links

 

 

 

Github repo

 

Create bug/feature branch

See: FIO Protocol Developer Hub

 

Dev Epic or Story

 

Project manager will create initial Epic or Story

https://fioprotocol.atlassian.net/browse/BD-3730

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
Development Spec Design draft complete and saved to Development Documents (Active)

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: FIO Protocol Developer Hub

 

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.

https://fioprotocol.atlassian.net/browse/BD-3829

Update FIP (or development document)

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

https://fioprotocol.atlassian.net/browse/BD-4276

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

https://fioprotocol.atlassian.net/browse/BD-4157

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.

https://fioprotocol.atlassian.net/browse/BD-4156

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

This feature was handed to QA for testing. No initial tests created.

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

Done: https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/553451527

QA

 

 

 

Handoff to QA

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

https://fioprotocol.atlassian.net/browse/BD-3731

UAT

 

 

 

Merge to develop and install on DEV

Excluded
Included
Rebase feature branch and merge to develop or feature branch for UAT testing
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.

This should be a release or PM task.

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

https://fioprotocol.atlassian.net/browse/BD-4277

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)

 

 

Related content