[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 |
---|---|---|---|
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 |
|
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
|
|
Development | Excluded Included | Create draft feature branch off of develop or other target branch (e.g., feature/fip6-lock-tokens) |
|
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. |
|
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:
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 |
|
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:
| 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) |
|