Priority 1: Launch a Minimum Viable Product (MVP)

We want to give potential users confidence that they can appropriately apply readyforwhatsnext to their decision problems by bringing all our existing development release and unreleased software to production release status.

Why?

All our software, regardless of status is supplied without any warranty. However, our views about whether an item of software is potentially appropriate for others to use in undertaking real world analyses can be inferred from its release status. If it is not a production release, we probably believe that it needs more development and testing and better documentation before it can be used for any purpose other than the specific studies in which we have already applied it. Partly for this reason, it is unlikely that any item of our software will be widely adopted until it is available as a production release. We also cannot meaningfully track uptake of our software until it becomes available in a dedicated production release CRAN. We also need a critical mass of model modules available as production releases so that they can be combined to model moderately complex systems.

What?

Bringing an initial set of development version and pipeline libraries to production release, will constitute the launch ofa readyforwhatsnext Minimum Viable Product (MVP). The MVP will comprise an initial skeleton of production ready modules for modelling people, places, platforms and programs.

The most important types of help we need with achieving this goal are funding, code contributions, community support and advice.

How?

The main tasks to be completed to bring all of our existing code libraries to production releases is as follows:

  1. (For unreleased software) Address all issues preventing public release of code repositories (e.g. fixing errors preventing core functions working, removing all traces of potentially confidential artefacts from all versions/branches of repository, etc.).

  2. (For code libraries are implemented using only the functional programming paradigm) Author and test new modules.

  3. Write / update unit tests (tests of individual functions / modules for multiple potential uses / inputs that will be automatically run every time a new version of a library is pushed to the main branch of its development release repository).

  4. Enhance the documentation that is automatically authored by algorithms from the ready4 framework we use to author readyforwhatsnext. This will involve some or all of:

  • minor modifications of function names / arguments / code;

  • updating the taxonomies datasets used in the documentation writing algorithm; and/or

  • updating the documentation authoring algorithms (within the ready4fun and ready4class packages).

  1. Adding human authored documentation for the modules contained in each library.

  2. (For some libraries) Adding a user-interface.

When?

Our production releases will be submitted to the Comprehensive R Archive Network (CRAN). CRAN does not allow for submitted R packages to depend on development version R packages, so the dependency network of our code-libraries shapes the sequence in which we bring them to production releases.

How quickly we can launch production releases of all our code depends on how much and what type of help we get. Working within our current resources we expect the first of the 23 libraries listed to be released during late 2024 and the last during late 2026. With your help this release schedule can be sped up.

Last modified January 25, 2024: first pass (1bd8c44)