Skip to content

Commit

Permalink
Add organisation and reflection as appendix (#32)
Browse files Browse the repository at this point in the history
* Add organisation and reflection as appendix

* Add team list

* Capitalise surname
  • Loading branch information
jzzheng22 authored Jan 17, 2022
1 parent 05b806f commit a2a3b08
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 2 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
129 changes: 127 additions & 2 deletions 015_appendix/015_appendix.tex
Original file line number Diff line number Diff line change
@@ -1,3 +1,128 @@
\chapter{Appendix}\label{supplementary_material}
\chapter{Project Management}\label{sec:proj-mgmt}

Appendix Section. Org chart could go here. Potentialy could include implementation details.
\section{Organisation}
In order to allow for more focused work, the cohort was split into seven teams for this project:
\begin{itemize}
\item Team 1 was responsible for designing the infrastructure, MVP, and frontend and visualisation tools, with a group size of 9.
\item Teams 2 to 7 were responsible for designing agent strategies, with group sizes of either 6 or 7.
\end{itemize}
Alongside this, some individual members took on additional organisation and planning roles for the cohort.

Each team had a team lead (except for Team 1, which due to its large size and remit, had two team leads):
\begin{enumerate}
\item Team 1: Jaafar Rammal and Cyrus Goodarzi
\item Team 2: Tom Eaton
\item Team 3: Sara Fernandez
\item Team 4: Hussain Kurabadwala
\item Team 5: Jason Zheng
\item Team 6: Matthew Scott
\item Team 7: Moin Bukhari
\end{enumerate}
Team leads were responsible for representing the views of their team and communicating information between their team and the wider cohort.

Regular meetings were held between Professor Pitt and the SOMAS cohort to facilitate cohort-wide discussion and feedback.

Any member was free to discuss system features and implement these such as health, message passing, and treaties.

Go was chosen as the programming language with GitHub used for version control.

Communication was done primarily using the communication platform Slack, with some teams choosing to use their own methods of communication such as Discord, Microsoft Teams, and WhatsApp.

\section{Reflection}
No one in the cohort had any experience in writing Go prior to this project; every person who contributed to the codebase learned the language from scratch at the beginning of the project.

Many individuals were also not comfortable with using Git for version control; they have gained a lot more experience in using Git throughout this project.

Our fundamental organisation structure of having agent teams and a separate infrastructure team seemed to work well overall after the MVP was released, with the infrastructure team available to discuss and implement requests for functionality.

There should have been one person who was not assigned to any team designated as the overall project manager. The project management was primarily done by two people who were also team leads and who heavily contributed to discussion and implementation of key features; this meant that they were stretched very thinly across the project and had a workload significantly higher than most other members.

The system design architecture should have been one of the first decisions that we made as a cohort; instead this was done after deciding on programming language and splitting into teams. This turned out to be a mistake as the simulation architecture then became the sole responsibility of the infrastructure team. This is a high-stakes responsibility and as such should have had more involvement from the wider cohort.

There was no enforced requirement for teams to document features and functionality; this made conveying changes to the cohort difficult and would have made writing the report easier.

Furthermore, information about incoming features could have been communicated better; the primary way this was done for this project was by asking people to look at pull requests. This could have instead been done using a document summarising the changes and new APIs.

This report should have been written continuously as the project progressed rather than in the final week.

The role of a team lead should have been more explicitly defined: team leads did not have the same understanding of the role as the project managers did. This contributed to the unbalanced workload among the cohort. Moreover, the introduction of the role of team lead led to a loss of accountability among many members of the cohort who were not team leads and therefore many people did not keep up with updates in the codebase and Slack. This was not an expected outcome, but had the responsibilities of team leads and individual members been more explicitly defined, this could have been prevented. An example of a responsibility which should have been more explicitly defined is that team leads should have stayed updated with changes from the infrastructure team, and communicated these changes to their agent teams.

Those individuals who were stronger software engineers at the beginning of the project should have been designated to specifically act as code reviewers; these reviews can frequently take over an hour to complete and were primarily done by the project managers and a minority of team leads. Designating specific code reviewers would have helped to balance the workload more fairly.

We did not properly formalise the dilemma that we were trying to solve with this project at the beginning; at times, it felt like we were designing a piece of software with no specific goal in mind.

\chapter{List of Team Members}\label{sec:cohort-list}
Team 1: Infrastructure and Frontend
\begin{itemize}
\item \textbf{Jaafar Rammal}
\item \textbf{Cyrus Goodarzi}
\item Gowoon Kim
\item Udai Arneja
\item Priya Chhaya
\item Victor Florea
\item Iason Vasileios Papadopoulos
\item Gordon Thompson
\item Seth Omoke-Enyi
\end{itemize}

Team 2: Agent Design
\begin{itemize}
\item \textbf{Tom Eaton}
\item Wenqiang Lai
\item Sebastian Aegidius
\item Raaid Mahbub
\item Chun Iao Tai
\item Jiangnan Ye
\end{itemize}

Team 3: Agent Design
\begin{itemize}
\item \textbf{Sara Fernandez}
\item Bjorn Hemberg
\item Edward Schamp
\item Eoin Quigley
\item Kurt Martin-Brown
\item Francisco Salgado
\end{itemize}

Team 4: Agent Design
\begin{itemize}
\item \textbf{Hussain Kurabadwala}
\item Aditya Gupta
\item Jason Keung
\item Tejas Dandawate
\item Jeetendra Joshi
\item Rishil Patel
\end{itemize}

Team 5: Agent Design
\begin{itemize}
\item \textbf{Jason Zheng}
\item Rhys Johnson
\item Sebastiano Zane
\item Daryl Lim
\item Ben Stobbs
\item Osman Ozevin
\item Jozef Mastalarz
\end{itemize}

Team 6: Agent Design
\begin{itemize}
\item \textbf{Matthew Scott}
\item Mathieu Dubied
\item Gabrielle Rubin
\item Arunansu Patra
\item Christoph Renschler
\item Adrian Koch
\item Vasileios Manginas
\end{itemize}

Team 7: Agent Design
\begin{itemize}
\item \textbf{Moin Bukhari}
\item Nayan Kad
\item Abdullah Ehsan
\item Zaid Jafarey
\item Nasim Miah
\item Shaheer Mapara
\end{itemize}

0 comments on commit a2a3b08

Please sign in to comment.