Initial Agreements

We agreed to divide tasks evenly when they came up, and if someone had certain strengths or knowledge on the topic they would voice this. Thus the topics that some people are more comfortable with will be done by them.

Weekly progress

In the following sections the weekly tasks done are shown in small tables on a team member by member basis, with a quick overview of total time spent that week.

Week 1 (13-02-2023 | 19-02-2023)

Remco

Task Time spent (hours)
Attend lectures 4
Look for team members and setup contact etc. 3
Contemplate for team planning 2
Total Time 9

Giorgos

Task Time spent (hours)
Attend lectures 4
Team Setup and Planning 3
System Setup, Picking and Planning 2
Total Time 9

Dan Dan

Task Time spent (hours)
Attend lectures 4
Look for team members and setup contact etc. 3
Contemplate for team planning 2
Total Time 9

Vyshnavi

Task Time spent (hours)
Attend Lectures 4
Form a team and communicate with them 3
Team planning and picking a system 2
Total Time 9

Week 2 (20-02-2023 | 26-02-2023)

Remco

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Create Latex document for team plan and write introductory pieces for all sections 4
Fill out own things for the team plan and goals 2
Create the planning and the approach to the system 2
Total Time 12.5

Giorgos

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Improve Team Plan & Objectives latex template for better presentation 1
Contribution to Team Plan & Objectives writing 3
Document review, correction of errors, submission to Brightspace 2
Literature on Software Architecture 1.5
Total Time 12

Dan Dan

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Fill out own things for the team plan and goals 3
Team plan research & other sections 2.5
Read materials 1
Total Time 11

Vyshnavi

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Fill in the Team Plan Template 3
Read Related Textbooks on Software Architecture 3.5
Total Time 11

Week 3 (27-02-2023 | 05-03-2023)

Remco

Task Time spent (hours)
Attend lectures 2
Meetings 2
Set up the issue board 1
Set up CI/CD 3
Set up blog paired with CI/CD to show progress 4
Created main blog post on system design, added first vertical as well as stakeholder analysis 1.5
Made schematic of microservices vertical 1
Created stakeholder analysis 2
Total Time 16.5

Giorgos

Task Time spent (hours)
Attend lectures 2
Meetings 2
Review of Stakeholder Analysis: Fixing spelling and syntax 1.5
Review of Quality Attributes: Pautasso & Course material 3
Research on extra Literature about Non-Functional Requirements 2
Implementation of Non-Functional Requirements 3.5
Read materials 1
Total Time 15

Dan Dan

Task Time spent (hours)
Attend lectures 2
Meetings 2
adding issues 0.5
Check stakeholder analysis 0.5
System design 6.5
Read materials 2
Total Time 13.5

Vyshnavi

Task Time spent (hours)
Attend lectures 2
Meetings 2
Review stakeholder analysis 0.5
User Stories and Use-Case Diagarmas 3
Analysis of Functional Requirements 4.5
Read materials 2
Total Time 14

Week 4 (06-03-2023 | 12-03-2023)

Remco

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Meetings 1.5
Create issues that were not created by other team members to keep track of progress 1
Created explanation README for team members how to commit to blog and use citations 2
Fixed citations that are used in the blog post and added the plugins 2
Fix small issue with blog build CI 0.5
Created explanation of event bus architecture created by Dan Dan as well as pros and cons 2
Fixing some writing and doing general clean up of the repository 2
Gave the blog hosted on azure an actual domain, instead of the temporary one 1
Created the accountability appendix and filled it out myself 1.5
Total Time 18

Giorgos

Task Time spent (hours)
Attend lectures 4
Meeting with TA 0.5
Meetings 2
N-tier architecture design 3
Added Bibliography 1
Research on suitable (live) database for the system 2
Comparison of 4 alternatives and Design decision 2
Essay review: spelling and syntax mismatches fixing 2
Introduction writing 0.5
Accountability appendix 0.5
Total Time 17.5

Dan Dan

Task Time spent (hours)
Attend lectures 3
Meeting with TA 0.5
Meetings 1
Microservices vertical summary 1.5
Event bus design 4
PoC spring setup 2
Added some writings for the blog for different designs 4
Accountability appendix fill in 1
Total Time 17

Vyshnavi

Task Time spent (hours)
Attend lectures 4
Meetings 2
Research on Alternative for System Design 2
Space-Based Architecture design 5
C4 Model 2
Added all alternatives to Blog 0.5
Accountability appendix fill in 0.5
Total Time 16

Week 5 (13-03-2023 | 19-03-2023)

— Midterm hand-in at 13-03-2023

Remco

Task Time spent (hours)
Attend lectures 4
Do peer review 8
Work on hand-in of midterm and fix some pipelines 3
Added pipelines for Java code 3
Total Time 18

Giorgos

Task Time spent (hours)
Attend lectures 4
Fill in peer review 10
Total Time 14

Dan Dan

Task Time spent (hours)
Attend lectures 4
Peer-review 9
Total Time 13

Vyshnavi

Task Time spent (hours)
Peer-Review 10
Attend lectures 4
Total Time 14

Week 6 (20-03-2023 | 26-03-2023)

Remco

Task Time spent (hours)
Attend lectures 4
Meeting (TA) 0.5
Read up on Docker DNS 1
Investigate loadbalancing proxies 3
Figure out again how plain NGINX is setup 2
Total Time 10.5

Giorgos

Task Time spent (hours)
Attend lectures 4
Meeting with TA (23 Mar) 0.5
Develop live data generator for PoC 5
Study feedback from Peer and start changes to essay 4
Total Time 13.5

Dan Dan

Task Time spent (hours)
Attend lectures 4
Read and process Peer feedback 3
Proof of concept basis 5
Total Time 12

Vyshnavi

Task Time spent (hours)
Attend lectures 4
POC implementation 4
Read and process Peer feedback 5
Feedback changes in Blog 2
Total Time 15

Week 7 (27-03-2023 | 02-04-2023)

Remco

Task Time spent (hours)
Attend lectures 2
Added Jacoco test report to pipeline 1
Figured out some basic pipelines for infra and a basic docker compose 2
Made a basic pipeline to deploy java docker files (non functional yet) 3
Fixed checkstyle issues 0.5
More research on how TCP load balancers and containers work 5
Total Time 13.5

Giorgos

Task Time spent (hours)
Attend lectures (final lecture 28th) 2
Development of live data generator for PoC 7
Debugging, testing of live test data generator for PoC 4
Total Time 13

Dan Dan

Task Time spent (hours)
Attend lectures 2
Proof of concept implementation 12
Total Time 14

Vyshnavi

Task Time spent (hours)
Attend lectures 2
Meetings 3
Proof of concept implementation 11
Total Time 16

Week 8 (03-04-2023 | 09-04-2023)

— Presentation day at 06-04-2023

Remco

Task Time spent (hours)
Work on fixing actual docker build pipelines 5
Fix more docker files and try to get docker compose working 4
Fix all endpoints and clean up docker compose, working demo now and create the recording 2
Presentation Day 4
Practice presentation speech and find room 1.5
Meeting (TA) 1
Total Time 17.5

Giorgos

Task Time spent (hours)
Create pyramid diagram for presentation 2
Create setup and template for presentation slides 1
Create, modify and finalize presentation slides - submit PPT 8
Attend and present in Presentation Day 4
Meeting with team to practice presentation speech 1
Meeting with TA (7 Apr) 1
Total Time 16

Dan Dan

Task Time spent (hours)
Add information to presentation 3
Proof of concept implementation + pipeline passing 11
Presentation day 4
Meeting with team 1
Total Time 19

Vyshnavi

Task Time spent (hours)
Meetings and Discussions 3
Proof of concept implementation 5
Presentation Day 4
Presentation Slides 3
Total Time 15

Week 9 (10-04-2023 | 11-04-2023)

— Final hand-in at 11-04-2023

Remco

Task Time spent (hours)
Work on updating readme to inform how to run the demo 1
Work on creating an appendix on the devops 2
Create explainer on demo and experiments with the video included 2
Go through entire file to blog to check for spelling errors and fix grammar issues 3
Fill out the accountability section 1.5
Total Time 9.5

Giorgos

Task Time spent (hours)
Merge all sections into one blog page 4
Grammar corrections, spelling and syntax 2
Add missing references 1
Add collapsible for sections to blog page 1
Add hrefs to sections and pyramid 1
Refine blog to meet word limit 2
Prepare pdf document for Peer and BS 1
Total Time 12

Dan Dan

Task Time spent (hours)
Refine blog + rewrite sections 6
Reread blog for checking 3
Total Time 9

Vyshnavi

Task Time spent (hours)
Refine Blog 7
Added Pyramid Structure 4
Meetings 2
Total Time 13

Reflection on the process

Remco

I think the beginning of the project we were a bit directionless, in most circumstances this would not have worked out well, however after the midterm we gained a clear achievable goal. After this the general teamwork was a lot better and less individualized compared to before. It was nice to see that I could bring all the different projects together in a single demo and really showed the power of a common API.

But not everything was great, I think we lacked in communication and planning meetings was very difficult. This can also be partially attributed to the very different schedules of everyone. But I feel that we could have done even better if we had had more meetings. Another thing is that we loosely defined our goals and didn’t always use neat issues and separated merge request in small sections. Next time that would have ensured that the process would have been more formal and fewer mistakes would have been made.

Giorgos

Even though the project was unclear in the beginning and team duties were overlapping, however we managed to deliver a good quality project and present it successfully during the presentation day. In my opinion, the most important attribute of this team is that every member remained consistent to the project’s goal and collaborated sufficiently with the other team members, despite the lack of communication and overhead (multiple communication channels e.g. WhatsApp, MS Teams, Zoom, Mattermost, Gitlab). Thus, I believe all members demonstrated a team spirit and professional attitude, during the joint effort for a common goal. For further improvement, I would use more the Gitlab issue board to split tasks and select a single one communication channel.

Dan Dan

In the begin of the project we did do alot of the setup work and research but the goal was not entirely clear. This improved quite alot with the midterm and subsequent peer feedback where we were able to set a more clear goal. Especially with the making of the PoC the teamwork improved as we needed to build on each other work instead of before where most parts were done individualized. I believe everybody did contribute effectively and despite sometimes some unclarity we all worked consistently towards the project’s goal. Furthermore I do think i was able to meet my own learning goals mostly. For example we revised the plan for the PoC as it became more clear what the goal and function of it should be.

I believe we could have improved in our communication and meetings. As we did not meet every week, sometimes what work someone was doing would be a bit unclear to the others. Also the formalities such as issues were a bit lacking. We did have some nice issues before the midterm but with the start of the PoC work the issues were to general and few. This also plays into the part of lacking communication and thus sometimes unclarity of the progress.

Vyshnavi

When we started with the project, it was really unclear about how to proceed and what to make out of proof of concept. But weekly meetings with the TA and our team helped us greatly to achieve the end goal. Further, the midterm feeback from peer review also helped us set a definte goal for the final submission. With this project, I was able to learn the best practices in Software Architecture and also how these practices can be applied to a system to improve its overall design and performance. The project involved working with GitLab and required effective communication and collaboration among team members. Despite the successful completion of the project, there were some areas where we could have done better.

One challenge we faced was scheduling meetings. Due to our different schedules, it was often challenging to find a time that worked for everyone. This meant that we sometimes went for weeks without meeting as a team, which slowed down our progress. Overall, I believe that we did a good job as a team and were able to deliver an impressive blog and proof of concept.