-
Notifications
You must be signed in to change notification settings - Fork 82
Group Organization
In order to improve the efficiency, transparency and communication of the team will follow the principles of scrum adjusted to our dynamics and needs. See the slides by @rrahn for a quick introduction to scrum itself.
Moreover, since the SeqAn library is not our only project, we divide the team into sub-groups, depending on how much time they will spend on maintaining the library versus using the library (see next section). This will help to reduce the management overhead by limiting major design discussions to the core developers.
-
π―ββοΈ The core developers
Our core developers are in charge of maintaining the entire code base. This involves getting or keeping an overview on the repository structure, the code style, design patterns and the possible feature space. All core developers will be part in upcoming design decisions, thereby limiting major discussion to few people. The resulting projects and issues will be distributed by a pull-system in this group: Depending on what is to be done until the next sprint (sprint meetings), the core developers will choose high priority issues and assign those to themselves. Large projects will be worked out in smaller groups and, finally, single task issues should be created that can optionally be passed on (pushed) to group 2.
-
π―ββοΈ The application developers ( )
Application developers are those team member that will, in the time of their PhD, most likely develop an application or algorithm on top of the existing code base but are limited in their time spend on actively developing the library. As an active part of the SeqAn team, they will receive issues following the push-system: Depending on what is to be done until the next sprint (sprint meetings), OR what features they might immediately need as part of their projects, issues are assigned (pushed) to them by the core developers.
-
π―ββοΈ The external developers
External developers are users of the library that are interested in testing or contributing to our code base. They will be invited to regular feedback meetings to inform them about the progress of the library, encourage them to test new feature or ask what ideas or wishes they may have regarding other features.
These meetings will take place with all team members of the SeqAn developer team (groups 1 & 2).
Each member is then obliged to pitch talk their last week by answering the following three questions (~2min p.P)
- What did I achieve last week? (regarding SeqAn issues/features/todos of course)
- What problems did I encounter? Only briefly! Describe problems or to-be-discussed issues. There will be no discussion or problem solving in the meeting itself but it may serve as a starting point to meet up after in smaller groups.
- What do I want to achieve in the next week? (in relation to the monthly sprint goals)
Everyone please prepare those questions beforehand so the meeting will run smoothly. If you cannot attend please give notice and send the short answers to all fo the three questions to the current "scrum master" so he/she can present on your behalf.
Only the core developers (group 1) will take part in these meetings. Points of discussion will be outstanding decisions on design, structure or feature space, as well as project management of the content of the sprints and future developments of the library. If parts were worked out in smaller groups, the meeting will be also the place to present the changes/decisions such that every core-developer has an overview of every module in the library.
The results of this meeting will be noted down and made available to others.
- DEV Meeting 1 - alignment module, alphabet refactoring, file I/O
- DEV Meeting 2 - commits + projects, range library, views, concepts, constness
- DEV Meeting 3 - code-coverage in PRs, concept renaming, compiler macros
- Core Meeting notes -continuous notes
πΊ Every month, at the end of a sprint, we are holding a sprint report meeting. It will evaluate the achievements and the progress of the preceding sprint and give an overview about the new features. We warmly invite every external developer that is interested in the current status of SeqAn3!