/
[FIP-nn] Development - Milestone Checklist

[FIP-nn] 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

 

 

 

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

 

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.

 

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

 

 

Related content