M7 Master Valit  

Team

  • Darwin Becker
  • Hedi Talmoudi
  • Michael Hurst
  • Pauline Röhr
  • Yasine Deghaies
  • Nilofar Ahmadi
  • Henry Ordelt
  • Finja Scheltens

Supervision

David Koschnick

Requirements Analysis

The requirements analysis phase of the project was critical in ensuring the successful delivery of a solution that met the needs of both professors and students. To achieve this goal, a comprehensive approach was taken to gather and evaluate all relevant requirements.

The process started with a brainstorming session where all potential requirements were documented. This information was then reviewed and prioritized, focusing on the most important features for both target groups. To validate our assumptions and gain a deeper understanding of the current evaluation methods and communication practices used by professors, in-depth interviews were conducted with a representative sample of the professorial. The insights gathered from these interviews were invaluable in refining our requirements, incorporating both confirmed and newly identified feature ideas. This thorough approach to requirements and analysis allowed us to develop a solution that was tailored to the specific needs of both professors and students, ensuring the application would be effective and well-received by all stakeholders.

Concept

The research phase was a crucial step for us in order to understand the needs and requirements of both lecturers and students. Based on the collected features and use cases, we did a feature breakdown and classified the requirements into must-haves, should-haves, and nice-to-haves. This helped us prioritize and focus on the essential features for the minimum viable product (MVP) of Valit.

We attempted to identify any potential challenges and sources of errors that the features might pose, so we could come up with solutions beforehand. For example: the live feature can be a powerful tool, but we had to keep in mind that it shouldn’t distract the students as well as the lecturer during the lecture. In addition to that, we had to determine the grouping of the features and create a logical navigation and page structure for Valit.

A crucial part of the concept was to construct questionnaires for both the regular and the semester evaluation. Analyzing the current semester evaluation questions of the HTW, using the feedback of our interviews and considering common evaluation guidelines helped us to create two questionnaires: a short one for regular and a longer one for the semester evaluation.

Excerpt of Concept in Miro
Excerpt of Concept in Miro

Design

In the final stages of the concept phase, we started to gather inspiration for the design of Valit. At the same time, we developed a style guide that included fonts, colors and components to be used. Our goal from the beginning was to create an app that was visually appealing, clean, purposeful, but fun to use at the same time. It was also important that it served both user groups in the best way.

During the development of the wireframes we created the mobile first view for students and the desktop optimized professor view. Based on these, we then developed the final design by iteratively creating and revising screens.

In the end we were extremely satisfied with the result and found that it would provide both target groups a helpful and also modern and user-friendly tool to improve teaching in an interactive environment.

Implementation

Our implementation phase started with deciding whether to use React JS or Vue JS for our frontend application. Some of the team members already worked with Vue JS and since both frameworks are very similar, we decided to go with Vue.jS. All of us have basic knowledge of web development, which made the implementation much easier. The decision for Spring Boot was straightforward: one of our team members already had positive experiences with Spring Boot, that’s why we quickly decided to use that tool to develop our spring-based backend.

We worked in weekly sprints where we talked about the current state of the application. During these meetings, we talked about possible problems that could arise during the implementation and tried to solve these problems together. Each group member was assigned one or more tasks to complete within the next sprint. We used Gitlab to track our tasks and assigned each task to the appropriate person.

At the beginning of the project we mostly met up at the university, but as the project progressed we decided to work more and more remotely and held our meetings online on Discord.

Kanban board on GitLab
Kanban board on Gitlab