Skip to content

Project plan

1. Assignment

1.1 background and starting points

Team Overflow was tasked at WimmaLab 2023 to update the Skill Collector made at FutureFactory in spring 2023. There are plans to improve the usability of the Skill Collector and make it a "clean" version so that it can be branded according to the purpose / company. Overflow's task this year is also to learn how to make a product from a DevSecOps perspective.

Skill Collector is used to collect information from companies and pass it on to educational institutions. The information collected concerns the skills that companies need now and in the future from future employees. Educational institutions can choose new courses or modify the content of the courses according to the companies' answers. Overflow's task is to change the operation of the Skill Collector made in FutureFactory to be more user-oriented, such as connecting Power BI and Power Automate to the service.

The maintenance of Skill Collector is not part of Overflow's tasks in a way, but it is taken into account when developing the product.

1.2 Goals and tasks

Our goal is to make Skill Collector an easy-to-maintain application that is easy to use for data collection. Both the end user and the admin user should be able to use the Skill Collector smoothly and quickly in order to maintain the smoothness of the work.

1.3 Limitations and interfaces

The project uses the Skill Collector base created in Future Factory (for better or for worse).

A team consisting of students of different levels can also face challenges when working on a project. A lot of time is also spent on studying, which takes some time away from advancing the project.

1.5 terms and definitions

  • Daily scrum = A daily meeting is a time-limited meeting of up to 15 minutes in which the development team synchronizes their work and creates a plan for the next 24 hours.

  • Project = Skill Collector

  • Scrum = A scrum is a project management framework commonly used in agile software development.

  • Sprint = A sprint work period can be comprised of up to one month or less in the project. In the case of this project, sprints are one week (5 business days).

  • Sprint planning = A planning meeting to plan the work to be done during a sprint. This plan is created in collaboration with the entire scrum team.

  • Retro = Sprint Retrospective. The Scrum team will review the work done during the sprint and plan the next sprint.

  • Stage = A specific point in time divided into several sprints.

  • Service = Skill Collector

  • Team = Team Overflow who is implementin this project.

2. Project organization

2.1 Organization

Structure of Project Organization in MindMap form

uml diagram

2.2 Responsibilities and decision-making process

Project Group

Name Responsibility Company
Iina Pirinen Team Leader Overflow
Thien Nguyen Developer Overflow
Iftakhar Husan Developer Overflow
Niko Karvinen Sys admin Overflow
Valeriia Grebneva Data engineer Overflow
Alena Galysheva Test engineer Overflow
Thu "Lucy" Nguyen UI/UX Designer Overflow
Karri Security consultant Mysticons
Aarne Security consultant Mysticons

Support Group

Name Responsibility Company
Marko "NarsuMan" Rintamäki Support Wimma Lab
Veeti Hakala Student coach Wimma Lab
Paavo Nelimarkka Support Wimma Lab

Responsibilities of Developers

  • Design, develop, and maintain software applications, features, and modules.
  • Collaborate with the team to define project requirements and specifications.
  • Write clean, efficient, and high-quality code.
  • Conduct unit testing to identify and fix bugs.
  • Participate in code reviews to ensure adherence to coding standards.
  • Stay updated with the latest industry trends, technologies, and best practices.
  • Provide technical guidance and support to other team members as needed.
  • Communicate project status, challenges, and progress to the team.

Responsibilities of Testers

  • Develop test plans, test cases, and test scripts based on project requirements.
  • Conduct functional, regression, and performance testing of software applications.
  • Identify, report, and track software defects and issues.
  • Collaborate with developers to resolve bugs and ensure the quality of the software.
  • Participate in test automation efforts to improve efficiency and effectiveness.
  • Stay updated with testing methodologies, tools, and industry standards.
  • Communicate testing status, challenges, and progress to the team leader.

Responsibilities of Team Leader

  • Provide overall leadership, guidance, and support to the team.
  • Define project goals, objectives, and milestones.
  • Allocate resources, assign tasks, and monitor progress.
  • Facilitate effective communication and collaboration within the team.
  • Ensure adherence to project timelines and quality standards.
  • Coordinate with stakeholders, clients, and other teams as required.
  • Mentor and develop team members' skills and knowledge.
  • Make decisions in collaboration with the team, considering their input and expertise.

Decision-Making Process

In the team Overflow, decisions are made through a collaborative process, involving team members and the team leader. The following steps outline the decision-making process:

  1. Problem Identification: When a problem or decision needs to be addressed, it is identified and communicated to the team.
  2. Information Gathering: Relevant information related to the problem or decision is collected and shared among the team members.
  3. Analysis and Evaluation: The team members analyze and evaluate the information, considering the impact, risks, and benefits of each available option.
  4. Discussion and Collaboration: The team engages in open and constructive discussions to share their insights, perspectives, and suggestions regarding the decision.
  5. Consensus Building: The team strives to reach a consensus or agreement on the best course of action. If a consensus cannot be reached, the team leader makes the final decision, considering the team's input.
  6. Implementation and Review: Once a decision is made, the team implements the chosen solution and monitors its effectiveness. Feedback is gathered, and adjustments are made as necessary.

2.3 Project Steps and Financial Objectives

The current status contains the project schedule and the roadmap goes through the project steps in more detail.

2.4 Quality verification

Product testing and quality assurance are discussed in more detail in Test Management.

  1. Requirement Analysis: Understand and document the project requirements, including functional and non-functional aspects, to establish a baseline for quality verification.
  2. Test Planning: Create a comprehensive test plan that outlines the testing objectives, scope, resources, timelines, and test deliverables. Identify the different types of tests to be conducted.
  3. Test Design: Develop test scenarios, test cases, and test scripts based on the requirements. Determine the data and inputs required for each test case.
  4. Test Execution: Execute the test cases according to the test plan. This involves running the tests, inputting the data, and comparing the actual results with the expected results.
  5. Defect Reporting: Bugs or issues that appeared during testing are recorded in GitLab with the Bug label. The bug must be comprehensively described so that the developer understands what kind of bug it is.
  6. Regression Testing: Perform regression testing to ensure that the fixes for reported defects do not introduce new issues and that the existing functionality continues to work as expected.
  7. Test Reporting: Generate test reports summarizing the testing activities, including the test coverage, test results, defects found, and overall quality assessment. Communicate the reports to relevant stakeholders.
  8. Test Closure: Evaluate the test completion criteria defined in the test plan to determine if the quality goals have been met. Obtain the necessary sign-offs and approvals to close the testing phase.
  9. Continuous Improvement: Analyze the testing process, identify areas for improvement, and incorporate lessons learned into future projects. Implement measures to enhance the overall quality verification process.

2.5 Communication and tracking of project progress

The progress of the project is updated in the Current status. You can also follow the progress of the project in GitLab Roadmap

2.6 The end of the project

The project will be handed over to the customer for full use by 28.07.2023. You can read more about ending of the project in Project end report.

3. Project's temporal Gates

3.1 Partitioning and Phase

Project development, start of testing, start of bug fixes, review of service with the customer and creation of a contract. The project begins 15.5.2023.

Stage Description Date
Step-0 Starting the project, forming a team, creating a plan 15.05.2023-26.05.2023
Step-1 Project development, testing plan, investigating the service, review of service with customer and creation of contract 29.05.2023-09.06.2023
Step-2 Continuation of development, start of testing, bug fixes, service review with customer 12.06.2023-30.06.2023
Step-3 Final grinding, general test operation, acceptance test for production service 03.07.2023-21.07.2023
Step-4 Project handover 24.07.2023-28.07.2023

uml diagram

Links to stages in GitLab

4. Quality assurance

The project is implemented using the method of agile software development (Scrum). At the beginning of each sprint, a planning meeting is held for the team to map out the work to be done during the week and to agree on any mid-term reviews. The team also uses Microsoft Teams to communicate with other members of the team and, if necessary, agree on daily scrums to be held during the week. At the end of each sprint, retro meetings will also be held to review the results of the work done during the week and to chart the direction of the next sprint. Each new and old feature is reviewed, tested and, after being approved by the team, presented to the customer for trial use, after which the customer approves. The customer's test runs are designed for stages 1, 2 and 3.

More detailed information on service testing and results can be found in the Test Management.

4.1 Approval of intermediate and results

The service is tested by testers and approved by the team at meetings. The times for stages 1, 2 and 3 have been agreed for the review and trial use of the customer's service. After this, the service will be approved by the customer.

4.2 Manage changes

Performance reviews are held at each Sprint and changes are agreed upon at the beginning or mid-term of the sprints as necessary.

4.3 Documentation

The project is documented in this file. Its various steps are displayed in GitLab.

4.5 Reviewing Policy

The product inspection with the customer is organized in stages 1 and 2. The trial use of the production service is organized in stage 3, as is the approval testing with the customer.

4.6 Complementary plans for the project plan

4.7 Plans for review and updating

The project plan will be reviewed and updated at the end of each sprint.

4.8 Project Termination Criteria

Project plans typically also include project termination criteria. However, these are not used in student projects because the projects use a certain number of hours to produce the result. The result is delivered as is at the end of the course. However, the project team will make a further development plan from which a possible new project will continue.

5. Communication and tracking of project progression (communication plan)

5.1 Communication Plan

During the project, Discord will be the main communication tool for the team. Whatsapp will be used as a supplmenetary communication platform for issues not strictly related to technical aspects of the project.

6. The end of the project

6.1 Delivery of the end product, introduction

6.2 Official termination of the project

According to the agreement, the project will end no later than 28 July, 2022, when the service has been handed over to the customer.

6.3 Termination

A final meeting with the client and the team will be held in stage 4 to hand over the service. A more specific date will be arranged when it is known when the service is ready to be delivered.

At the end of this project, event Kaunailta is held. All WimmaLab 2023 teams participate there and discuss the implementation of the projects.

6.4 Project Final Report

The final report can be found here.