This was a super interesting project, and I really liked working on my team. The first part of this project, the design phase went very smooth because we had a call where we sat down and made sure everyone was on the same page about how to implement. We talked about whether or not we should store the k value in the linked list, how many classes to have, what environments everyone was using, and finally which part of the document everyone would be responsible for. SearchList was a pretty straightforward design and we only ended up using 2 classes. One class would be the node class and one class would keep track of the list. Part of the reason the design phase was so successful was because everyone had an open mind and listened to others’ ideas when we discussed design decisions. We didn’t argue at all because we were all genuinely curious about each other’s ideas and figuring out which ideas were right for us going forward. The call lasted a little bit long while we discussed, but I’m grateful that everyone one our team made time to get it sorted out and be ready for Wednesday.
The second part got a lot trickier. I think BucketList was a lot more complicated of a project that SearchList, so I think we were unprepared for the amount of work and complexity. For example, our design of SearchList was 2 classes, whereas the design we got from Team 1 was about 6 classes, and utilized inheritance, nested hash tables and linked lists, and generics. All of which we had used at some point of course, but it seemed more complex than we expected. This part of the project was a complete success however, because immediately we started talking to Team 1 about their design, and their ambassador/communicator Thomas was on various Zoom calls and Teams calls with me and other members of my team to explain his team’s design, the reason for the complexity, and how to go about implementing it. He came up with various resources when we needed. Almost every day from Thursday to Wednesday we had a call. They were extremely responsive and helpful. This was especially helpful when my team had realized we wouldn’t have time to implement a design this complicated, because ideally we would have started on Thursday (day after class). Team 1 continued to help us make sure our redesign was following the requirements, and our team met every day to help each other out. Finally, we got a working design based on Team 1’s design, we explained in documents the changes that were made, and we successfully split up the work and everyone made time to complete it.
We learned so much about how helpful communication is, why it’s important to start early, and how to have meaningful meetings so that everyone gets the most out of their time. My team communicated a lot through whatsapp and this contributed a lot to our success.