Project 2

For Project 2 I was the Project Manager. I volunteered for this role as a way to gain some experience in the role as this is not something I have ever done before. This proved to be a good experience for me and I feel like I did my role to the best of my ability. My team was very helpful and understanding and worked collaboratively in a manner that gave me confidence in them to complete this project with minimal issue. The first week was the design phase which was done mostly throughout the entirety of our 2 hour zoom call. We created the document and our UML/Design Image that had test cases, examples, and flow charts. I think we did a really good job on this document and I felt very confident in the usefulness of it for the implementation team. Part B of the project was where we did a high amount of work. This was the actual implementation of a design given to us by another group. This is something I had never done before and I’m sure this was the case for most of my team. This made for an interesting experience where we had to go through a design document and create our own plan of attack on how to handle this task. This is different from simply receiving an assignment from a professor which you usually assume to be complete, correct, and easy to understand (or easy to create tasks for). This meant we needed to go through the document as a team to make sure we understood it and seek clarification were we needed it.

Personally, aside from my Project Manager tasks, I was in charge of creating the Node inner class for the SearchList outer class. I also added some variables for the outer class. Creating the inner class was rather simple as this is something I have had recent experience with using it to create Single and Double Linked Lists. I created the node class with getters and setters and also added the specification that it’s string variable cannot accept a string of greater that 32 chars. This was necessary to create the overall SearchList class as it is a Single Linked List with a find() method.

Overall I think this the entire project went fairly smoothly. There were issues throughout the project that arose (as indicated in my Leader Summary in the wiki) but they were not so severe that it halted or completely disrupted our work.

Project 1 Part B

For this project we did all communication and planning through MS Teams. We used a group chat and the Team Page as well to coordinate and see where everyone was in their tests. The most important parts to our overall communication are the weekly meetings through MS Teams group calls and our multitude of tabs on our page such as our wiki and meeting agenda. This makes sure that we are all on the same page and that we can go through the different requirements of the project to make sure everything gets done. Those that cannot attend the call will have everything we talked about in the Team channel. We also regularly talked and asked questions throughout the week so there was no lack of communication.

Actually completing the project was not entirely difficult for me and it seems the rest of the group had very little problems as well. Sitting down and doing the tests were not super difficult. Looking at the included tests from the professor for the LinkedList class helped in seeing what kind of formatting and details was required. I did have a list of assertions for JUnit open in a tab so that I can see what all the assertions were and what they did to make sure I was using the right ones. On that note I will say that the assertThat() assertion that was used in the LinkedListTest class was something that I could not get to work perfectly. Not the biggest of problems since I just used other types of assertions. I had fun creating these tests and creating all the tests that were needed to test the methods was a nice problem to solve. On a personal note creating tests for the methods (for any class or assignments) always has me worried if I am being thorough enough. However I do believe I reached the thoroughness needed for the respective Cyclomatic Complexity of the method.

Everyone was finished with their tests by Tuesday which allowed us to merge everything and test everyone’s tests to make sure they merged and worked well in everyone’s environments.  On Wednesday we did the final merge and wrapped all the necessary parts of the project.

I have no complaints for this project. Everyone in my group completed their tests, communicated when they were done and asked questions when they needed help. Working with Github was easy (especially using Gitkraken) and merging and pulling were quick and easy to do.