Versions Compared

Key

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

Overview

There are several areas of focus for QA. The following lists those areas including the targeted, actual, and gap resources. Risks to the FIO Protocol are noted.

...

** Estimated cost of outsourcing the registration site is approximately 1.5 FTE (~ $5-$10K depending on location). This includes project management, development, and QA. Does not include adding new profiles or working with integrating entities.

QA Models

FIO Resources

External Resources

Pros

Cons

Centralized

  • 1 x QA Manager

    • Test harness architecture

    • Oversee test development

...

  • 1.5 FTE

    • Based on current chain, FIP, and projects

    • fio.test new and backlog automated tests

...

Proof’d tests

...

  • Expertise - Enables development of expertise

  • Flexibility - Allows for distribution of QA resources across smaller multiple projects

  • Scalability - Does not scale with larger projects

Community/Bounty

  • 1 x QA Manager

    • Test harness architecture

    • Oversee test development

    • Release testing

  • Create bounties for:

    • fio.test new and backlog automated tests

  • 0.5 FTE

...

    • Release testing

    • Develop/Maintain Proof’d

...

  • 1 x FTE

    • fio.test new and backlog automated tests

  • Expertise - Retains upper level experienced QA

  • Community - Leverages the community for tasks that require less expertise

  • Scalability - Does not scale with larger projects

Outsourced

  • 1 x QA Manager

    • Test harness architecture

    • Oversee test development with outsource group

    • Release testing

...

  • 2 x FTE

    • fio.test new and backlog automated tests

    • Develop/Maintain Proof’d test scripts

  • Scalability - Scales well for larger projects

  • Overhead - Requires overhead of managing external projects

Discussion

Several factors can be considered when analyzing the models above:

Metric

Current

Analysis

Budget

FIO currently operates as a startup, has a limited budget, and is not in a high growth mode.

Outsourcing full projects is generally more expensive than retaining in house because of the additional overhead built into the costs.

Recommendation: Centralized or Community/Bounty

Project Scope

With the exception of Dashboard, FIO does not have many multi-month multi-FTE projects. If you combined projects like staking and wrapping, you could possibly count as large projects, albeit with limited duration needed for QA (4-6 weeks)

Outsourcing is better suited to larger projects with longer durations because of the overhead that will need to be taken on to train QA engineers on the FIO Protocol. It would be difficult to convince a group to take on a 0.5 FTE 2 month project. Generally you want to target at least 2-4 FTE to fully outsource.

Recommendation: Centralized or Community/Bounty

FIO Structure

FIO currently operates as a centralized organization but would like to move to more of a DAO model where the community is heavily engaged with development.

If the goal is to engage with a wider range of developers across the ecosystem, the outsourcing model may make more sense. Building an internal team can create an insider/outsider view of FIO development and discourage external development resources from engaging with FIO

Recommendation: Community/Bounty or Outsourced

Eric recommendation

Given the current state of FIO (limited budget and a focus on smaller projects) I think it makes sense to continue to build the internal team but drive towards outsourcing the tasks that require less expertise via bounty or pure outsourced programs. A cost analysis would have to be done to determine which of these models makes more financial sense and which makes more “community” sense. There is a tradeoff. Once FIO hits a medium to high growth curve it would make sense to revisit this model and begin to outsource the larger projects. I would also recommend we step into outsourcing by encouraging AlephOne to take on a larger project management and QA role in the development of the dashboard.