Skip to content

5.3 CodeMind's Assignment

Introduction

CodeMinds Ltd has gotten an order from its new client, WIMMA Capstone -project education platform. The client is expanding its operations for larger user base. The client is adapting and making the education platform more suited for remote work and studying online. The assignment for CodeMinds as a company is to develop a Forum-service further that WIMMA Capstone team can integrate service as a part of their website. The implementation of the Forum must be based on Open Source application Conduit-service). This is a non-negotiable requirement from WIMMA Capstone. The reason is the tight schedule of the project. The customer has a strong belief that this will speed up the development and thus they can focus on faster deployment.

Demo service of Conduit as evaluation target

CodeCerub Oy's team has familiarized themselves with the Conduit service in advance using freely available demo services. These can be used to support project definition. The demo service can be found in autumn 2024 by default on the following server at: https://demo.realworld.io/#/. There are also different implementations of the same Conduit service (in different languages ​​and frameworks) and these can also be found at https://codebase.show/projects/realworld

Remember that the Demo server may crash and data will always be lost in this connection!

Important stakeholders and goals

The client's representative is WIMMA Capstones's system architect Maarit Pitkäniemi hopes for the Forum to be ready to use by December 2024. This is about 4 months after the start of the project. This requires the Forum-product to be fully running and serving customers and stakeholders at the beginning of 15th of December 2024. After which CodeMinds Ltd will be providing support and maintenance to the product. Maintenance and support service are not among the goals of this project. Other people in CodeMinds deal with those parts.

The goal of the project is to customize and develop a enhanced version of the current Conduit service which better suits for the customer's needs. As the most important functions, the customer requires a seamless integration of the user interface with the WIMMA Capstone's webpage and seamless integration with the communication process.

Preliminary project schedules

  • Remember to set your start point according course info-day session. It will be the first day of your project - Eg. 2024 Time box #3 starts 9.2.2024 )
  • Duration of the project is max 3.5 months
  • The project uses sprints of one week (1 week = 1 sprint)
  • The preparation for the project can be started immediately, as the work can be billed afterwards
  • Exact start date (date of the first info day lecture of the course)
  • There will be five GATEs as check points for a project
  • Project's working hours are Monday-Friday 8:00-16:00

People associated with the assignment

The people have been given Labranet gitlab IDs (in parentheses). You can use these to assign Issues.

The management team: * Project Manager - You (your username in Gitlab) * WIMMA Capstone's technical architect, Paavo N (leadev1) * WIMMA Capstone's representative,student coach Veeti Hakala (customer1) * Product owner Marko "Narsuman" Rintamäki (Don't assign anything to him)

Projects phases

CodeMinds' Senior Project Manager Arnold Suksi gave you a list of common project phases/milestones which he has been using in previous projects. Arnold urged you to use these because they have worked pretty well in the past.

Project gate milestones (check points) and estimated durations

  • GATE0 - Preliminary planning ~ 1 week
  • GATE1 - Start and planning ~ 2 weeks
  • GATE2 - Implementation begins
  • GATE3 - Checks and repairs ~ 2 weeks
  • GATE4 - Delivery and project termination 1 week
  • GATE5 - In service production ~ 2 days

Background information

There was a discussion with the customer about the implementation of the service and a few important requirements emerged:

  • Accessibility is an important for the service and efforts are made to comply with the accessibility requirements set by the EU.
  • Requirements about system's performace as in ability to serve users
    • At the beginning there will be a few thousand users in Finland
    • WIMMA Capstone is planning to expand internationally in future. This would mean the number of users to grow to 100 000 in the span of 5 years.
    • The number of concurrent users were estimated
      • Normally 10 users at once
      • In active times 150 users
    • The service must be available 24/7
      • SLA would require service level of 99 %. This means 1% of time would be reserved for maintenance breaks.
  • With regard to information security, well-known good practices are required Enisa NIS directive. These sources also serve as sources for requirements specification.

For the performance of the service, the goal is to be able to serve a few thousand users at the Finnish level in the initial phase. In the future, it is necessary to prepare for the activation of international interaction and it is assumed that the user municipality will have about 100,000 people over a 5-year period. * There are believed to be about 10 concurrent users in a normal but 150 customers in an active situation. * The service must be available 24/7 and the SLA requires a 99% occupancy rate, ie 1% is up for maintenance. * On information security, the client requires the use of well-known good practices listed by National Cyber Security Centre. These also work as a source for requirement specification.

Additional information provided by the customer

The customer gave information about the kinds of stakeholders involved with WIMMA Capstone operations. The information can be used as an aid to defining the requirements for the software.

Stakeholder are same as they were with earlier active WIMMA Lab -project work environment, so you can use same stakeholder descriptions.

Check out the WIMMA Lab Black Book * Stakeholder information can be found in the WIMMA Lab Black Book

The hourly pricing for the assignment

Arnlod also dug out a pricing sheet from his armpit case. These are the hourly rates charged directly from the customer. Don't be surprised by the prices! (It is worth thinking about how the hourly rate for a job is structured: a person's salary and social costs, Fixed costs, Facilities, equipment, rents, etc.)

Prices do not include VAT 25,5% The latest prices for different tasks are as follows :

  • Architect / lead programmer 85 € / h
  • Programmer 80 € / h
  • Tester 75 € / h
  • Service designer 85 € / h
  • Project management 90 € / h
  • Graphical design 70 € / h
  • DevOps work 90 €/h
  • Other tasks 65 € / h

Miten paljon meillä on käytössä työaikaa?

Arnold kindly checked out in advance how much time was available for different people for a possible project. The results are based on how much different persons are loaded lately with other work tasks. It is normal for different people to work for different projects at the same time and it is important to find out how much time they have. You will find each of the hours available in the team description:

Progress of the project in stages

When are different experts needed? Below is a bit of an outline, i.e. a rough use of resources during the project in stages. (Based on lessons learned from previous projects). This can be applied as an aid to cost accounting.

  • (Until GATE0) Start-up phase: Project Manager
  • (Until GATE1) Definition Phase: CodeMinds Customer Service Representative, Architect / Chief Programmer, Service Designer, and Project Manager
  • (Until GATE2) Design + Implementation: involves a future graphic designer and one tester
  • (Until GATE3) Implementation + repair: except service designer and customer service representative
  • (Until GATE4) Implementation / testing Includes testers and programmers and customer service and project management
  • (Until GATE5) Service start-up phase Project Manager + Production Team

Preliminary Worklist / Backlog

[Arnold] and Mirva arranged a meeting with the client before Christmas and collected the most important goals that the project needs to have over the next month. Take the list and move everything by default to the project worklist, ie (Backlog)

Note that many of the tasks listed are usually logged in the form of User Stories! The list will be replenished if anything occurs! Note that different types of tasks are recorded according to Issue types!

General issues to do collected by Arnold:

NOTE The following events are pre-arranged and will be logged in the project's Backlog using the General Issue Template. Place the issuet on schedule!

Task Esimated time Responsibility Misc
Arrange Board team meetings Sprint 07 Board team Read about 2.7 Board team ja meeting practices
Arrange Project status info GATE1 Board team Read about 2.7 Board team ja meeting practices
Project planning meeting Sprint 04 Board team Read about 2.7 Board team ja meeting practices
Arrange Sauna-event for project team GATE5 Board team + whole developement team
Arrange Retro meeting Every second sprint Development team
Arrage stakeholder info meeting GATE3 Board team + stakeholders

Predefined User Storys and other issues

The following list includes User Stories, Bug reports, and Enhancement suggestions for the product itself that came up in customer discussions. These must be recorded in the project's Backlog! They are entered using the appropriate Issue Templates as they will receive the correct Label.

Issue type User Story/Enhancement/Bug Description Category
US10 As a service provider, I want to run the service on Docker technology because it streamlines production User Story
US11 As a developer, I want to be able to start the development environment with the docker-compose up command User Story
US12 As a forum user, I hope to be able to easily return to WIMMA Capstone because I want to review it again User Story
US13 As a service provider, I want to get feedback from end users that can be used to improve the product User Story
US14 As a service provider, I want to help the end user through a separate support portal without burdening the development team with extra questions User Story
US15 The service provider must find the privacy statement information page on our service, as required by the GDPR User Story
US16 I want to change the colors of the service to match the WIMMA Capstone site User Story
US17 As a tester, I want to use Docker containers because it makes it easier to set up a test environment User Story
US18 As a developer, I want to launch a development environment quickly using containers
US19 As a sponsor, I hope the site will look visually cohesive if the user goes to the forum User Story
US20 The user of the service hopes that the service is reliable and uses a secure HTTPS connection because I do not dare to use HTTP services nowadays User Story
US21 As a service developer, I want to get end-user feedback in Issue format in front of me because it is clearer for further processing User Story
US22 As a system administrator, I want to be able to take a backup of the production database from the command line if necessary User Story
US23 As a service provider, I want to use labranet 's gitlab register to distribute containers User Story
US24 As a service provider, I want the service to point out to the author of the article (in English) the appropriateness of the content of the text if it contains "curse words" and dirty language. User Story
ENHANCEMENT-4 The Cancel button should appear when writing an article Enhancement/Customer feeback
ENHANCEMENT-3 New password creation should be more stricter Enhancement/Customer feeback
BUG The large size of the article causes an error message Defect/Incident/Bug
ENHANCEMENT-5 Adding a tag to an article requires ENTER Enhancement/Customer feeback