Skip to content

Project plan

Document Project Plan
Author: Reima Parviainen
Version: 1.0
Date: 7.6.2023

1. Assignment

1.1 Background and Starting Points

This project aims to develop an open-source service called "Tukko - Traffic Visualizer" for our client, Combitech Oy. The service will utilize public traffic APIs, specifically the Digitraffic API, to gather real-time traffic data. The goal is to provide a user-friendly platform that visualizes this data on a map, allowing users to select different vehicle types and timescales for data analysis.

Currently, there is a need for an efficient and intuitive system that enables users to explore and analyze traffic data effectively. The Traffic Visualizer project will address this need by creating a comprehensive platform that displays various data visualizations on a map interface. The project will also consider the client's existing approach and systems to ensure seamless integration and enhance their current capabilities.

By developing the Traffic Visualizer service, we aim to provide valuable insights and enhance the understanding of traffic patterns and trends. This project will contribute to the advancement of transportation analytics and support informed decision-making in the field.

The following sections of this project plan will provide a detailed overview of the project scope, objectives, deliverables, timeline, and resource allocation.

1.2 Goals and Tasks

This document outlines the goals, tasks, phases, resources, and organizational structure of the Traffic Visualizer project. Each step and phase will be described separately, providing a comprehensive overview of the project's content and development process.

The main goal of the project is to develop an open-source service, Traffic Visualizer, that utilizes public traffic APIs, specifically the Digitraffic API, to gather real-time traffic data. The service will provide a user-friendly platform with interactive data visualizations on a map interface. The project aims to achieve the following objectives:

  1. Develop a web-based application that integrates with the Digitraffic API to retrieve real-time traffic data.
  2. Design and implement a map interface that allows users to visualize the traffic data.
  3. Provide options for users to filter and select specific vehicle types and timescales for data analysis.
  4. Create interactive data visualizations, such as heatmaps, charts, and graphs, to enhance the understanding of traffic patterns.
  5. Ensure the service is scalable, efficient, and responsive to handle large volumes of traffic data.
  6. Implement an open-source approach, allowing for community contributions, collaboration, and future enhancements.

The project will be divided into several phases, including:

  1. Requirements Gathering and Analysis: Define the specific requirements and functionalities of the Traffic Visualizer service, considering user needs and technical constraints.
  2. System Design and Architecture: Design the overall system architecture, database structure, and user interface components for the Traffic Visualizer service.
  3. API Integration and Data Retrieval: Develop the integration with the Digitraffic API and establish mechanisms to retrieve and store real-time traffic data.
  4. Map Visualization and User Interface Development: Create a visually appealing and interactive map interface that allows users to explore and analyze traffic data.
  5. Data Filtering and Analysis: Implement filters and options for users to select specific vehicle types and timescales for data analysis, and generate relevant visualizations.
  6. Scalability and Performance Optimization: Ensure the service can handle large volumes of traffic data efficiently and optimize its performance for a smooth user experience.
  7. Testing and Quality Assurance: Conduct comprehensive testing to identify and resolve any issues or bugs, ensuring the service functions reliably.
  8. Documentation and Deployment: Prepare detailed documentation and deploy the Traffic Visualizer service, making it accessible to users.

Throughout the project, the main stakeholders and actors involved include the project team members from IoTitude, the client Combitech Oy, the IT Institute of Jyväskylä University of Applied Sciences, and the user community. The project will embrace an open-source approach, encouraging collaboration and contributions from the community to further enhance the service.

1.3 Limitations and Interfaces

In this section, we will define the limitations and interfaces of the Traffic Visualizer project. This includes specifying any external components or factors that may restrict or impact the implementation of the project. Additionally, we will identify any specific task cases that are not within the scope of this project but may be associated with the overall mission.

Limitations:

  1. Data Availability: The Traffic Visualizer project relies on the availability and accessibility of public traffic APIs, particularly the Digitraffic API. The project is limited by the data provided by these APIs and any constraints or limitations imposed by the API providers.
  2. Technological Constraints: The project must adhere to technological constraints, such as the compatibility of web-based technologies, programming languages, and frameworks used for development.
  3. Time Constraints: The project is subject to time constraints, as it is intended to be completed within a specified timeframe. This may require prioritization of tasks and features to ensure timely delivery.
  4. Resource Limitations: The availability of resources, including hardware, software, and human resources, may impose limitations on the project's scope and implementation.

Interfaces:

  1. Digitraffic API: The Traffic Visualizer project will interface with the Digitraffic API to retrieve real-time traffic data. The project team will need to understand and integrate with the API endpoints, data structures, and authentication mechanisms provided by Digitraffic.
  2. Map Visualization Libraries: The project will utilize map visualization libraries or APIs to display the traffic data on an interactive map interface. Integration with these libraries will be necessary to render the visualizations effectively.
  3. User Interface: The Traffic Visualizer service will have a user interface through which users can interact with the data visualizations. The team will design and develop a user-friendly interface that allows users to select vehicle types, timescales, and other filters for data analysis.
  4. Open-Source Community: The project will have interfaces with the open-source community, encouraging collaboration, feedback, and contributions from the community to enhance the service. Communication channels, version control systems, and collaboration platforms will facilitate this interaction.

It is important to note that certain tasks, such as the construction of the operating environment or training, may not be within the scope of this project. The project will focus on the development of the Traffic Visualizer service itself, rather than the broader operational aspects.

Additionally, any language used in the software interface will need to be considered, ensuring it meets the requirements and preferences of the target user community.

Please let me know if there are any specific external limitations or interfaces that need to be included in this section.

1.4 Rights and IPR

The rights and intellectual property rights (IPR) related to the project are governed by the project agreement. Unless specifically addressed in a separate agreement, the rights associated with the project will be in accordance with the terms specified in the project plan.

1.5 terms and definitions

This section presents the definitions, terms, and abbreviations used in the project plan to ensure clear communication and avoid misunderstandings. It is important for the Client (Combitech Oy), the organization (WIMMA Lab), and the team (IoTitude) to have a common understanding of these terms.

Strengths: - The project has a strong team (IoTitude) with expertise in developing open-source solutions and working with public traffic APIs. - WIMMA Lab, as an organization, has previous experience in open-source projects and can provide guidance and support throughout the project. - Combitech Oy, the client, brings domain knowledge and requirements to ensure the project aligns with their needs. - The project has a comprehensive list of features and requirements, indicating a clear understanding of user needs and expectations.

Weaknesses: - If the project plan lacks a detailed timeline and milestones, it will make it challenging to track progress and ensure timely delivery.

Opportunities: - The integration of GDPR statements (FEA002) and emphasis on security (e.g., Sensitive Data Check) can attract users concerned about data privacy and protection. - The project can leverage the expertise of the Tester/QA Tribe (US009) to ensure high-quality software and efficient testing processes. - The inclusion of a customer feedback system (FEA011) provides an opportunity to gather valuable insights and improve the service based on user input.

Threats: - Meeting the performance optimization requirement (CUSTOMER-REQ-0005) may pose technical challenges and require careful optimization techniques. - Integrating and maintaining various external APIs (e.g., Digitraffic, MongoDB) may introduce dependencies and potential compatibility issues. - If there is a lack of a risk management plan (US002) could leave the project vulnerable to unforeseen issues and delays.

2. Project organization

2.1 Organization

Structure of Project Organization in MindMap form

project organization mindmap

2.2 Responsibilities and decision-making process

gt

Project Group

Name Description Company/Community Task Responsibilities LinkedIn
Reima Parviainen Team Leader IoTitude Lead the project and handle test planning LinkedIn
Justus Hänninen Junior Developer IoTitude Backend, TypeScript, SKILL DB API LinkedIn
Hai Nguyen Junior Developer IoTitude GitLab Pipeline LinkedIn
Ilia Chichkanov Junior Developer IoTitude Backend, SKILL DB API LinkedIn
Olli Kainu Junior Developer IoTitude Frontend LinkedIn
Otto Nordling Junior Developer / Tester IoTitude Testing LinkedIn
Alan Ousi Junior Developer / Tester IoTitude Testing LinkedIn

The project group consists of team members from IoTitude who will be responsible for various tasks related to the development and testing of the project. Reima Parviainen serves as the team leader, overseeing the project and handling test planning.

Board Members

The management team, responsible for decision-making and project guidance, includes:

Name Responsibility Company/Community
Board Member 1 Decision-making, project guidance WIMMA Lab
Board Member 2 Decision-making, project guidance Combitech Oy
Board Member 3 Decision-making IoTitude

Support Group

The support group, comprising other stakeholders involved in the project, such as the customer (Combitech Oy) and external consultants, will provide guidance and assistance to the project group. Their specific roles and responsibilities will be outlined accordingly.

2.3.Project Steps and Financial Objectives

The project will adhere to a predefined schedule and resource plan, ensuring that tasks are executed within the allocated timeframes and with the available resources. Continuous monitoring and evaluation will be carried out to track progress, identify any deviations, and make necessary adjustments to meet the project objectives efficiently.

2.4 Quality Verification

To ensure the quality of the project deliverables, a comprehensive quality verification process will be implemented. The responsibilities and contributions of various teams and stakeholders are as follows:

  1. Methods: The project will follow established development methodologies, such as agile or DevOps, to ensure efficient and high-quality software development. Mysticons team, specializing in operations and security auditing, will contribute their expertise in ensuring the robustness and security of the project infrastructure.

  2. Standards: The project will adhere to industry-recognized standards and best practices relevant to software development, security, and user experience. Pengwin Media, with their expertise in marketing and UI design, will provide guidance to ensure compliance with modern design standards and enhance the overall user experience.

  3. Approval Procedures: A well-defined approval process will be established to validate and approve project deliverables. This includes thorough reviews and sign-offs from relevant stakeholders, such as the project team, clients, and external consultants.

  4. Change Management: Effective change management procedures will be in place to handle any modifications or enhancements to the project scope. This involves assessing the impact of changes on quality, conducting risk assessments, and obtaining necessary approvals before implementing changes.

  5. Documentation: Comprehensive documentation will be maintained throughout the project, covering requirements, design specifications, test plans, and user manuals. Testribe, specializing in testing and QA, will ensure that the documentation accurately reflects the project's functionality and is kept up to date.

  6. Reviews: Regular reviews will be conducted to assess the progress and quality of the project. These reviews will involve the participation of relevant teams, including Mysticons for security auditing, Pengwin Media for UI and marketing aspects, and Testribe for testing and quality assurance. Feedback from these reviews will be used to identify areas for improvement and ensure adherence to quality standards.

  7. Risk Management: A comprehensive risk management plan will be developed and maintained throughout the project. This plan will identify potential risks and outline mitigation strategies. All teams, including Mysticons, Pengwin Media, and Testribe, will contribute to risk identification, assessment, and mitigation efforts to ensure the project's overall quality and security.

  8. Other Complementary Plans: In addition to the quality verification measures mentioned above, the project will also have complementary plans such as a communication plan, training plan, and maintenance plan. These plans will ensure effective communication, proper training for project stakeholders, and ongoing maintenance and support to sustain the project's quality standards.

By leveraging the expertise of the Mysticons team for operations and security auditing, the contributions of Pengwin Media for marketing and UI, and the testing and quality assurance efforts of Testribe, the project will undergo rigorous quality verification to deliver a high-quality and reliable solution.

2.5.Communication and tracking of project progress

For communication and tracking project progress:

  1. Communication: Discord will be used as the primary communication platform for team members and affiliates.
  2. Documentation: GitLab OPF repository will be used for reporting, documentation, and version control in its own repository.
  3. Workspaces: Dedicated workspaces on Discord will be created for different project aspects.
  4. Reporting: Regular progress reports will be submitted through Discord.
  5. Information Storage: Relevant project information will be shared and stored in the GitLab repository.
  6. Project Folder: A dedicated project folder will be created in the GitLab repository for organizing project artifacts.

2.6.The end of the project

At the end of the project, WIMMA Lab will undertake the following activities:

  1. Delivery: The final product will be delivered to the client or relevant stakeholders as per the project requirements.
  2. Filing: All project-related documentation and records will be appropriately filed and archived for future reference.
  3. Final Report: A comprehensive project report will be prepared, summarizing the project's objectives, deliverables, achievements, challenges, and lessons learned.

These activities mark the conclusion of the project and ensure the successful handover and closure of the project by WIMMA Lab.

3. Project's temporal Gates

3.1 Partitioning and Phase

Roadmap

4. Quality assurance

To ensure quality assurance in the project, the following guidelines should be followed:

  1. Working Methods: Define the project's working methods, including the development process, coding standards, and testing procedures. Document these methods and ensure that all team members adhere to them.

  2. Instruments: Identify and select appropriate tools and software for project management, version control, issue tracking, and documentation. Utilize GitLab and Open Project Framework as the test documentation platform for organizing and managing test cases, test plans, and test results.

  3. Instructions and Standards: Establish clear instructions and standards for development, testing, and documentation. Define coding conventions, testing methodologies, and documentation guidelines to ensure consistency and quality throughout the project.

  4. Compliance with Client and Industry Requirements: Identify any specific requirements or standards set by the client or industry regulations. Ensure that the project team complies with these requirements and incorporates them into the quality assurance processes.

  5. Testing by TESTribe: Collaborate with TESTribe, the dedicated testing and QA team, to conduct comprehensive testing of the developed software. Define the testing scope, test coverage, and test execution strategies in collaboration with TESTribe.

  6. Information and Version Management: Implement an information and version management system to track and store project documents, including the project plan, test documentation, and other key documents. Clearly communicate the location of the latest versions to all project stakeholders.

  7. Monitoring and Reporting: Establish a system for monitoring project progress and reporting on quality metrics. Regularly review and analyze the project's performance against set goals and metrics, leveraging the inputs and insights from TESTribe's testing efforts.

  8. Appointing Subject Matter Experts: Identify critical devices or software components in the project and designate subject matter experts who have deep knowledge and expertise in those areas. These experts, including the members of TESTribe, can provide guidance and support to ensure the quality of those components.

  9. Documentation: Emphasize the importance of documenting all project activities, decisions, and changes. Utilize GitLab and Open Project Framework as the central platform for documenting test cases, test plans, and test results, ensuring comprehensive and up-to-date test documentation.

By following these guidelines, the project team, in collaboration with TESTribe, can ensure effective quality assurance practices throughout the project lifecycle, promoting the delivery of a high-quality product.

4.1 Approval of intermediate and results

The chain of approval for intermediate results in the project is as follows:

  1. Development Team: The development team is responsible for producing intermediate results, such as software components or features.

  2. Testing Team (TESTribe): The testing team verifies the quality and functionality of the intermediate results through various testing methodologies. They ensure that the results meet the required standards and specifications.

  3. Team Leader: The team leader oversees the progress of the project and evaluates the intermediate results. They review the work done by the development and testing teams and ensure it aligns with the project goals and requirements.

  4. Product Owner (WIMMA Lab Rep): The product owner represents WIMMA Lab and acts as the primary stakeholder for the project. They review and approve the intermediate results to ensure they meet the expectations and align with the project objectives.

  5. Combitech Oy (Rep): The representative from Combitech Oy, being the client, reviews and approves the intermediate results from their perspective. They ensure that the deliverables align with their requirements and expectations.

The approval chain ensures that there is a systematic review and validation process in place, involving multiple stakeholders at different stages of the project, to ensure the quality and accuracy of the intermediate results before moving forward.

4.2 Manage changes

The change management procedure involves identifying proposed changes, assessing their impact, making decisions, planning and implementing the changes, communicating them to stakeholders, and monitoring their implementation.

4.3 Documentation

Documentation in the project includes the use of GitLab and Open Project Framework for test documentation, GitLab for maintaining the OPF project page, and a GitLab repository for version control and related purposes.

4.4 Risk management

4.5 Complementary plans for the project plan

5. Communication and Project Progress Tracking

5.1 Communication Plan

The Communication Plan is designed to establish effective communication methods and channels for the Traffic Visualizer project. It ensures the smooth flow of information and influences the achievement of the project's quality objectives. The plan can be included as a subpage in the project plan or referred to separately.

The Communication Plan includes:

  1. Workspaces and Communication Tools: Define the platforms and tools to be used for communication and collaboration within the project team and with stakeholders. This may include Discord for team communication, GitLab for reporting and documentation, and other relevant tools.

  2. Feedback Policy: Outline the procedure for giving and receiving feedback, including guidelines for providing constructive feedback, addressing concerns, and implementing improvements.

  3. Reporting and Information: Specify the frequency and format of project progress reports, as well as the distribution channels for sharing important project updates and information with stakeholders. This may involve regular status meetings, email updates, or other communication methods.

It is recommended to refer to the detailed Communication Plan document, which can be found in Communication Plan.

6. The End of the Project

6.1 Delivery of the End Product and Introduction

The final product of the project should be documented and introduced to the customer, including any necessary installation or commissioning services. If training is required for the customer, a training plan should be developed. Additionally, an installation plan and deployment plan can be included if needed.

6.2 Official Termination of the Project

The project's official termination should be defined based on specific criteria, such as the project contract expiration, completion of deliverables, customer acceptance, or the end of the warranty period. The agreed-upon termination conditions should be clearly communicated and adhered to.

6.3 Termination

To mark the closure of the project, a joint closure seminar or event can be organized. This provides an opportunity for project participants to gather and reflect on the project's achievements. In Finland, it is common to arrange a sauna event as a celebratory and team-building activity.

6.4 Project Final Report

The project's final report will be prepared during the last management team meeting. This report summarizes the project's objectives, outcomes, challenges, lessons learned, and recommendations for future projects. It serves as a valuable source of information and insights for stakeholders and contributes to organizational knowledge and improvement.