MNE-CPP's Agile Development Cycle
The MNE-CPP project is maintained by an agile management approach based on the SCRUM concept. Throughout the MNE-CPP project we have three participating groups:
- Developer team: This group includes all developers currently working on a MNE-CPP related project. You can find a list of all active developers here.
- Product owner: The product owners can be seen as the senior supervisors of the project. In contrast to the developers the product owners are not directly contributing code to the project. They are in charge of mentoring the project with their long background of industrial and scientific expertise. Furthermore, they are responsible for providing the basic financial backbone of the project.
- SCRUM master: The scrum master is organizing all project management related tasks throughout the MNE-CPP project. He takes care of organizing and moderating all project meetings. Also, he is in charge of communicating results, problems and all other issues between the developers and product owners. This communication takes place weekly in form of a short E-Mail, including a task table and status of all tasks. A more detailed overview of all tasks is send on a monthly basis. Furthermore, the SCRUM master is responsible for creating and maintaining a productive work environment for all particiapting members of the project. If developers or product owners are facing problems or any issues the SCRUM master is the person to contact.
A transparent and team oriented workflow is a key concept of the MNE-CPP project. Meetings are crucial for the succes of the project, since they provide insight about every currently running subprojects. This way redundant tasks are avoided and synergy effectes can be used. Plus it is a great way to build a productive and healthy team oriented atmosphere. Therefore, we are endorsing the following types of meetings, which all developers should attend to nevertheless of their current task progress:
- Monthly iteration meetings: We define a time window of one month as a so called sprint. During a sprint every developer has a fixed number of tasks. The results of the iteration meeting are summarized by the SCRUM master in form of an E-Mail, which is send to the product owners and developers afterwards.You can find template slides for your presentation including sprint review and planning here. All presentation files are to be uploaded to the Confluence page (see section "Document sharing" below). An iteration meeting takes about 1-1.5h. Please ask the SCRUM master for the date of the next monthly iteration meeting. An iteration meeting is divided into the following two parts :
- Sprint Review: During an iteration meeting the current sprint ends and all results/progress are reported individually by every developer.
- Sprint review: After all developers presented their progress, we plan the upcoming sprint. Meaning, that each developer proposes new tasks for herself/himself and subsequently discusses them with the group.
- Weekly meetings: This kind of meeting is for a short question and answer session for the developers on a weekly basis. It targets at communicating short term progress and eliminating task-blockers. Weekly meetings take about 20-30 min. There is no need to prepare presentation slides. Please ask the SCRUM master for the date of the next weekly meeting.
JIRA is a well known issue tracking tool by Atlassian, which let's you post bug reports, improvement tasks, wishes for new features and much more. It gives you a way to directly participate in the development of MNE-CPP. Please go to MNE-CPP's JIRA website and sign up for an account if you wish to help to improve MNE-CPP. Please note that you need to contact one of the MNE-CPP developers found here in order to get access to JIRA.
Next to JIRA we also use Atlassian's Confluence to share documents, meeting notes and other project related files. You can find our confluence page here.