Bessy-1.0.0
Below is a rough plan to hit Eli Kinney-Lang roadmap for Bessy. Items are listed in roughly chronological order, although there will be parallelization. The Bessy-1.0.0 release is focused on stability and usability of existing features. There won’t be a focus on adding new features. Walk before you run kind of thing.
| Requirement | Status | Notes |
|---|---|---|
| - Understand deployment and use cases - Who uses it, what for? - How to support use cases |
done | Personas and Use Cases |
| - Establish development environment for Python / Unity - How to build, test, change, package, release - Change management process / tooling to support (ex: PR build) - Documentation specifically for development team |
done | Established is a better term, this will always evolve, but we have a way of working now. Unity is a bit weak, but we can address as the team works on using Bessy for various projects/studies. |
| - Establish deployment plan for Python / Unity - Developers work from GitHub repo - Developers publish to repositories - Technical users install packages from repositories (python and unity) - Non-technical users can follow instructions to set up Bessy for their use case |
done | Basic idea is shown here: Using Bessy Not going to focus on non-technical user installs, 95% of the time they will have their hands held by a technical user. |
| - Formal release - Acceptance testing - Publish packages |
done | Done for small values of done anyway. Unit tests / acceptance tests will be built up over time. |
| - Establish python / unity APIs - Identify the parts of Bessy that are “public” versus “private” (aka internal) - Technical user documentation for API (generated from code) |
done | Bessy side is documented - https://kirtonbcilab.github.io/APIdocs-for-bci-essentials-python/bci_essentials.html Unity side in documented - https://kirtonbcilab.github.io/APIdocs-for-bci-essentials-unity/html/index.html |
| - Establish tests for APIs - Start with a smoke test - Test that APIs do what we expect - Acceptance tests (may just be the API tests) - This will be a source of many improvement tasks |
stalled | We have an automated smoke test, which checks a big portion of Bessy Python. Unit tests on Bessy Unity side exist. Creating more tests is a big job. It might be better to add tests when the occasion arrises, ex: fixing bugs. That will help the team learn skills like TDD. |
| - Start code improvement - Static checks (linting) - Enforce static typing - Organization, ex: one class per file - Coding style - This will be a source of many refactoring tasks |
in progress | The dev environment checks are nearly in there, just waiting on static type checks. Additional cleanup should be done when needing to change the code. We don’t have a lot of idle resources that can be thrown into “clean up” tasks. |
| - Getting started documentation - Technical users have “getting started docs” to begin their projects (offline / online) |
in progress | https://github.com/kirtonBCIlab/bci-essentials-python https://github.com/kirtonBCIlab/bci-essentials-unity Specific examples are being worked on, but main docs are there now. |