Logo

WEHI Research Computing Platform

Public page for the WEHI Research Computing Platform (RCP)

View this profile on Github

Software maturity model

This software maturity model illustrates one way in which you can build a software or system solution without making the three common mistakes in managing complex new projects, while gaining the weight of the community behind you:

  1. Identify problem space by listening, documenting, confirming our understanding and advocating for the researcher. Share this widely as possible. Minimise the efforts needed by stakeholders to engage in the project.
  2. Test conceptual architecture to theoretically solve multiple stakeholder challenges. Share this as widely as possible, so different stakeholders can identify potential problems and edge cases. Minimise the efforts needed by stakeholders to engage in the project.
  3. Draw up wireframes to illustrate what this potential solution might look like. Share this widely. Minimise the efforts needed by stakeholders to engage in the project.
  4. Do a proof-of-concept, like a working wire-frame, using tiny data. A proof-of-concept does not have to be technically sound, it can be like a “smoke and mirrors” situation where you are trying to build enthusiasm for the project from stakeholders, with minimal coding effort. This has been called Throwaway Prototyping by some. Minimise the efforts needed by non-technical and technical stakeholders to engage in the project.
  5. If no resources, do a prototype, which is a more robust proof-of-concept, using bigger data. This can also be used to review potential existing solutions. This could be resourced via a student internship project.
  6. Do a pilot that is appropriately resourced, which is like pre-production, using real data, in a real situation, with a small number of collaborators, based on the evidence in the previous steps. This is where the stakeholders can put more efforts in as they should be strongly behind the project by now.
  7. Roll out to production with appropriate service level agreements, documentation, and training for system admins and users
  8. Maintain and add impovements as needed.