Goal
- Make development of VIVO minor releases time-based
- Organize regular sprints to speed up process of VIVO development
Approach
- Make development of VIVO minor releases time-based
- Two minor releases per year, the first one in April, the second one in October
- If some blocking issue/bug is detected which ruins normal work of VIVO, a patch might be released (it is not time-based, it is “detected blocking issue”-based).
- Organize regular sprints to speed up process of VIVO development
- Topic-based
- There should be a topic for the sprint which defines wider goal of the sprint
- Wider goals or objectives could be converted to milestones and have a project board for themselves. An issue can be on multiple project boards to add to sprints and still be on a wider goal project board.
- However, some bugs out of the selected topic for a sprint might be fixed.
- Moreover, some new features out of the topic might be implemented as well.
- We also need to be very conscientious of each new feature and how much technical debt it is adding due to existing designs.
- 4 sprints per year
- February
- May,
- August,
- November
- 3 weeks in length
- Main topic of the sprint and list of issues should be defined before beginning of sprint
- The first week - assignment, discussion, deeper analysing issues, organizing of work and finding good patterns, implementation
- The second week - Implementation
- The third week - testing, validation, reviewing, code change/correction (as a response to review), merging pull requests
- Daily meetings - short, what you did yesterday, planning for today, blocking issues
- Regular developers IG can be organized - Tuesday
- Preparation for a sprint
- We have around 2 months between sprints
- Noticed there might be a preparation for a minor release between two sprints!!!
- Vacation or New Year period
- Selection of the topic for the next sprint is the first task
- We can’t plan topics for all sprints for the next year, because if one topic is not completed at the end of a sprint, it should be probably a topic for the next sprint
- However, we can order a list of topics, and simplify the process of selecting the topic for the next sprint (if the previous sprint completed a topic, for the next sprint we are selecting the next one in the list, otherwise the next sprint will have the same topic).
- Selection of issues already reported at GitHub issues and defining new issues
- Consolidation of issues
- Duplication
- Overlapping
- Clarification of issue description
- Detecting dependencies between issues
- Blocking issue for some other issues’ implementation
- Making a preliminary plan
- Who is planning to participate
- Assignment (self-assignment)
- There is a risk - the last minute cancelation of participation in a sprint, but we have a first week in which we can reschedule a plan
- Infrastructure
- Wiki page for sprint
- GitHub project boards (https://github.com/orgs/vivo-project/projects), milestones, branches
- Zoom meetings invitations
VIVO release schedule
- 2022
- April
- VIVO 1.13
- October
- 2023
- June 2024
VIVO sprint schedule
2022
- February
- Dynamic API based on an ontology
- February 21st - March 11th
- May
- Dynamic API based on ontology
- + Front-end reengineering
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=39:41
- https://docs.google.com/document/d/1z51mkqlAopQ2rLkitHiQVwRojijnPM9pB8tQelW-lSA/edit?usp=sharing (the first phase section)
- + GUI custom form builder
- August
- I18n
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=18:23
- Language-aware autocompletion
- Internationalized browse sorting:
- Moving properties labels to rdfs
- + Data Ingest
- November
2023
- February
- Decoupling VIVO ontology and VIVO platform
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=43:43
- Separate VIVO ontology into own repository
- + Semantic web features and bugs
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=64:72
- SKOS ontology
- External graph base
- Decoupling triple store from the VIVO platform
- May
- Authorization/roles
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=73:81
- Private profiles
- ORCID authentication
- August
- VIVO cross site linking and searching
- November
- Integration with repositories
- https://github.com/vivo-project/VIVO/issues/3021
- https://github.com/vivo-project/VIVO/issues/3340
- DSpace - https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=55:55
- it should be implemented within a paid project (at least proof of concept)
- Fedora - https://github.com/vivo-project/VIVO/issues/3022
- + Exporting data in different formats
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=53:53
- OpenAIRE, CERIF2VIVO mapping
- What is potential/interest???
- Might be implemented as a result of CERIF2VIVO mapping
Appendix
- Additional topics/issues which should be taken into account within 2022-2023 plan or implement after that
- Simple theming
- colours of the organization, logo, title, about page, etc.)
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=8:8
- Improving technical documentation
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=4:5
- https://docs.google.com/document/d/1JmdIHYcaYCDCYSQyevKjAVdgH4aZ8JXr3Ls9eIjlrS8/edit
- Testing
- each sprint should have testing,
- development of new tests
- https://github.com/vivo-project/VIVO/issues/3355
- https://github.com/vivo-project/VIVO/issues/3356
- https://github.com/vivo-project/VIVO/issues/3357
- VIVO-in-a-box
- https://docs.google.com/spreadsheets/d/103P9P4v6yUBSb5BnVaK40NoGx1fIYyL8uaHKUubZWbE/edit#gid=0&range=56:59
- Basic goals of VIVO project should be reach through implementation of 2022-2023 plan
- Expert Finder