The development of OpenAtlas depends on many factors and is very fluid. Here you find explanations of keywords and concepts used in planning.
A feature is an isolated task. It can be a new functionality (e.g. an upload function for a logo), added functionality to an existing feature (e.g. adding new export formats) or a fix for a bug (e.g. repairing a button that isn't working as expected). Ideally, it should not take more than a week to implement one feature. If it is expected that a feature takes much longer, we try to break it up into smaller tasks. Features are either planned in meetings or requested by users.
The version naming scheme is sequence-based and reflects the significance: major.minor.fix e.g. 3.11.1
The first number is raised rarely and symbolizes major changes, e.g. after the whole application was rewritten in a new language (from PHP to Python) the first number was raised from 2 to 3.
The second number is the one that is raised most often. It includes a collection of features, typically around two to four, and should be doable in about a month. When a minor version is finished and uploaded to the productive systems it is also a good time to check how the development goes along and to make adaptations to the planning if needed.
The third number is for fixing errors. Since we think that errors should be resolved as fast as possible we often don't want to wait a month for the next minor release, especially on productive system were people are working on their projects. These are quite infrequent depending on reported errors and their gravity.
There are many feature requests (ideas for new functionallity). Usually we plan ahead about three minor versions (around ten features, doable in about a quarter of a year) and call it the Roadmap. The roadmap has to be flexible because of new projects or changed requirements of existing ones. E.g. new requirements are often beneficial for multiple projects and so the priorities can shift to reflect this.Many factors come into play when deciding which features are put onto the roadmap. One major factor are the requirements of projects who are financing OpenAtlas. But there are other factors as well like
- Availability of developers suited for specific tasks
- Some features can have other features as prequesits
- Reported bugs are getting always the highest priority
The wishlist is a special version in the roadmap. It is a collection of ideas and suggestions which we would like to implement in the future, often containing information and thoughts. In a new version we not only include critical features, but also try to implement features from the wishlist. The wishlist is, like all documentation, open for the public so other projects or involved members can browse through it and identify features, which are imperative for their needs.
If and when a feature is taken from the wishlist and included in a new version depends on several factors like funding, the usefulness for the projects’ majority, if features need prerequisites to be fulfilled, etc. It also can happen, that features which are already planned for the next versions are moved back to the wishlist, e.g. if it turns out to be much more time consuming than expected or if the project requesting that feature decides to change their own priorities.