Final report
Tampere University: TIEA4 & TIETS19
Students:
- Joni Tuominen: 438598
- Kia Lieke: 421946
- Marianne Sirén: 439555
- Antti Pessa: 431566
- Leevi Tukiainen: 425051
- Markus Hovila: 432169
- Teemu Vuorinen: 428479
Version history
Version | Date | Author | Description |
---|---|---|---|
0.1 | 5.5.2020 | Kia Lieke | First draft |
0.2 | 6.5.2020 | Marianne Sirén | Updates |
0.3 | 6.5.2020 | Kia Lieke | Updates |
0.4 | 11.5.2020 | Kia Lieke | Added updates made by Joni (7.5. and 10.5.) |
0.5 | 12.5.2020 | Marianne Sirén | Updates |
0.6 | 14.5.2020 | Marianne Sirén | Update working hours |
1. Introduction
1.1 Purpose of the report
The purpose of this document is to describe the final product made during the course. The aim was to create a peer reviewing system to an already existing TIM-system that university of Jyväskylä uses. Originally, the purpose was to also create a chart drawing system to the TIM-system as well, but the customer had implemented it already between our meetings so that was dropped off from our to do –list. A huge problem of the project was the lack of clearly structured definitions and requirements of what is wanted to be done. In these kinds of projects, where participants have hardly any experience, it is important that the customer provides good instructions and clear definitions instead of just a giddy outline of what could be nice.
The process started with examining a few different peer reviewing systems, which turned out to be quite useless after all. After that, we started to somehow design the peer reviewing system that we needed to develop. The requirements seemed to change on a weekly basis, so in the end we decided to just create an algorithm that does the grouping of the students. Besides the algorithm, we created some filters to the system, so that students can only see the needed assignments to do the reviewing part.
A huge part of our time was spent in trying to understand what the customer wants and then trying to design and plan what we should develop. We designed the algorithm from scratch. The team performed great during this project, taking the complexity of the code and the changes of requirements into account.
The team learned that to succeed in these kinds of variable projects, a somehow working MVP should become the main focus of development. If the focus is mainly on the changes of requirements, there is a possibility that the implementation might not have that much time left when the requirements are finally figured out.
1.2 Definitions, abbreviations and acronyms
TIM, the interactive material Trello for tasks and tickets Slack for communication
2. Project organisation
2.1 Group
Project managers:
- Joni Tuominen: technical manager (coding, planning etc)
- Kia Lieke: design, testing and management (+ grouping algorithm design)
- Marianne Sirén: design, testing and management
Project group:
- Antti Pessa: coding and participating in planning
- Leevi Tukiainen: coding and participating in planning
- Markus Hovila: coding and participating in planning
- Teemu Vuorinen: coding and participating in planning
2.2 Customer
Vesa Lappalainen, University of Jyväskylä, lecturer, vesal@jyu.fi
2.3 Other stakeholders
End-users will be students and professors from University of Jyväskylä or other organizations using TIM system. Tampere University and the ÄlyOppi project.
3. Project implementation
3.1 Communication
Meetings with the customer were held weekly via zoom. Coding workshops with the customer were held when needed. Meetings and workshop with the team were held at least once a week and also when needed. Tools for communication were Slack, Zoom, emails and sometimes WhatsApp. Visual Studio Code’s live share plugin was used for coding workshops.
3.2 Planned vs. implemented sprints
3.3 Tools and technologies
Tools set by the customer are:
- Windows 10,
- Docker Toolbox,
- Docker Desktop,
- PyCharm Professional,
- SmartGit,
- ConEmu,
- Putty,
- GitLab
3.4 Deliverables and outcomes
Main deliverable of the project is peer review feature written Python. Feature is delivered by merging feature to TIM project’s Gitlab repository from forked repository.
Peer review feature is delivered in working state, meaning that peer reviewing can be done by users. Although, the review flow works, it requires further development to improve usability. Users may require additional help to use peer review feature in state of the deliverable version.
Other important deliverables are planning related material, such as user interface prototypes and wireframes, testing plan, flow chart of the peer review feature and MacOS instruction for TIM installation. Planning related material is delivered as TIM documents.
All deliverables are delivered by the end of the project.
List of deliverables:
- Peer review code
- UI prototypes and wireframes
- Testing plan and testing report
- Flow chart
- MacOS instruction for TIM installation
3.5 Changes
The original plan was to first implement a chart drawing system to TIM using a draw.io plugin. Plans and all kinds of solving were made, but the plugin implementing was done between our weekly meetings, so the chart drawing system was left out.
The peer reviewing system had all kinds of changes during the whole project, but there wasn’t anything that severe that it should’ve been listed here as a change. In summary, definitions and requirements changed all the time and almost everything got sorted out just before the last week of the project.
3.6 Third party components, licenses and IPRs
Project outcomes are published under same licenses that TIM has. Source code will use MIT license and other deliverables will use Creative Commons Attribution 4.0 International license. Peer review project does not use any other third-party components than what TIM uses. MIT license gives extensive rights to the source code, including modifying and distributing, if original copyright and license notice is included.
Tämä live share plugin on mielenkiintoinen, kertokaa lisää käyttökokemuksistanne.
—Kohdasta 3.4, katsotaan vielä vertaisarvioinnin prosessikaaviosta mitkä vaiheet toimivat nyt, ja mitä pitää jatkokehittää.
—Oliko vielä testausraportti tuotoksissa?
—4. Working hours
Table 4.1. Realized working hours in person-hours by person and task.
Marianne | Kia | Joni | Antti | Markus | Teemu | Leevi | Total | |
---|---|---|---|---|---|---|---|---|
Planning, design and management | 118 | 104 | 85,5 | 66,5 | 62 | 49 | 48,5 | 533,5 |
Coding and testing | 12,5 | 13,5 | 33,5 | 33 | 38,5 | 31 | 20,5 | 182,5 |
Studying | 5 | 10 | 9,5 | 8 | 4 | 0 | 9,5 | 46 |
Documenting | 0 | 7 | 5 | 1 | 0 | 2 | 0 | 15 |
Other | 16,5 | 20 | 27,5 | 12 | 18,5 | 35 | 28,5 | 158 |
Total | 152 | 154,5 | 161 | 120,5 | 123 | 117 | 107 | 935 |
Table 4.2. Realized working hours (weekly totals / project).
Weekly total | |
---|---|
Week 3 | 32,5 |
Week 4 | 46,5 |
Week 5 | 50 |
Week 6 | 47 |
Week 7 | 30 |
Week 8 | 31,5 |
Week 9 | 52,5 |
Week 10 | 30 |
Week 11 | 33 |
Week 12 | 47 |
Week 13 | 40,5 |
Week 14 | 95,5 |
Week 15 | 80,5 |
Week 16 | 88,5 |
Week 17 | 49,5 |
Week 18 | 75 |
Week 19 | 48 |
Week 20 | 58 |
Total | 935 |
5. Quality assurance
5.1 General description of testing
We created a comprehensive testing plan and used exploratory testing to ensure everything works as expected. We tested all the time while developing the new features and we had prototypes where we were able to check the expected flow. Testing was done by the project developers and by the whole project team. With testing we used test students that existed already in the system.
5.2 Bug reporting
Different kind of problems with user flow, features that needed further development and bugs were reported to Jyväskylä personnel.
5.3 Conclusions on product's quality
We made a complete design and working prototype of the peer-review feature. We also spent time thinking the future development areas, like challenging the received peer review.
Code-wise there are some small improvements that s hould still be added to peer-review feature to make it fully suitable. Those improvements can be easily done following our prototype behaviour. After those are done, there should be a complete testing of the whole peer-review feature. We made really comprehensive testing plan and following that plan the quality of the whole feature will be ensured.
The features that we made ready for peer-review are tested well following the testing plan. We used components that already existed in TIM system so peer-review feature doesn't follow some of the basic heuristics of usability. Load testing should be added before releasing the feature.
6. Risks and problems
6.1 Foreseen risks
Risks from 1 to 5 where 5 is the most critical and 1 is the least critical.
- Unclear definitions and requirements, 5
- Changes on requirements, 4
- Complexity of the coding environment, 5
- Case of illness etc changes on the team, 3
- The lack of time, 5
- The lack of knowledge, 4
6.2 Risks not foreseen
Risks that were not foreseen and a short explanation why that risk has an impact.
- Corona virus – When the university shut its doors, all meetings and workshops became virtual. Even when using screen sharing and other technologies, solving issues remotely from the team is slower than when solving the issues face-to-face.
- Changes on requirements – This was a risk that was foreseen, but the number of changes was huge and that could’ve not been foreseen.
- Not gaining mutual understanding – It seemed hard to gain mutual understanding with the customer. In a project as this one, the main goal should be developing an MVP, instead of trying to create a system that has every little detail that could’ve ever been wished for. The development has to start somewhere and starting from an MVP is the way to do it.
7. Not implemented in this project
7.1 Not implemented product backlog items
Backlog contains programming and documenting tasks for the project. Most of them are implemented/done and these are in closed state. Total count of implemented items is 24. 5 items will not be implemented, 4 of them are related to plugin to improve usability and 1 is related to Velp filtering. Items with high priority have been implemented, mostly tasks that were required to implement functional peer review flow.
7.2 Rejected ideas
One of the biggest ideas we rejected was to use PLUS-system’s peer review feature in TIM too. PLUS-system is developed in different way than TIM so TIM and PLUS’s peer review wouldn’t have worked together easily.
Creating a timestamp managing into the peer reviewing system. Meaning that the peer reviewing period would’ve started when the deadline of the assignments is reached.
Creating a chart drawing system into TIM using draw.io as a plugin. This was rejected since it was developed by the customer between our weekly meetings.
7.3 Further development
One big feature to develop later is challenging the received peer review. That’s important feature at least of peer review affects to grade.
Teachers could have some sort of dashboard where they could see statistics, for example if someone didn’t receive any peer reviews.
TIM plugin could be implemented to make it easier to enable peer review for the document.
8. Lessons learnt
We as a team should have been stricter with the client and ensure that the client understands that we have very limited time with this project. We listened way too much all the different possible use cases they will need in the future while we should have from the very starting point pick one use case (the most important one) and focus on that the whole time. It’s not possible do develop a peer review system which works in every possible situation and in all different kinds of courses during this course. Those different use cases should be done in further development and we should have focused on producing a good starting point, an MVP for peer review feature.
Our biggest success was the algorithm we designed for grouping the peer review students. The algorithm works in different group sizes and with different number of students.
We are also very glad we managed to produce smooth and nice user flow with protypes and sketches, they are helpful with further development of the feature.
9. Comments about the course
It was quite a surprise that the client did not have anything more specific thoughts about the new feature than that they needed a peer review feature. We hoped that we as a team would have been prepared more to handle this kind of starting point before starting the project. We spent a huge time trying to figure out what the client needs and wants and what is the possible MVP that we can produce. We also spent a lot time getting to know other peer review systems which ended up being a total waste of time. We wish that there would have been more support from school personnel during this project. Project was way too wide and complex to be developed entirely during this course. It’s obviously not the same to start from the point where a client has no idea what they want or get ready made sketches of the new feature as some other project groups got. School should discuss more with client and ensure that the project is somehow doable during this short spring period time.
10. Statistics
Name of the project: TIM
Size of the group: 3 managers, 4 developers
Name of the customer: Jyväskylän Yliopisto
Bar chart of weekly working hours: Bar chart of realized working hours:
Appendix A: List of all software tools (UI design, development, communication, etc.) used in the project.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.