Project1 Retrospective - 220103JavaFS/standup-amplifire-mamba GitHub Wiki

Ian - In this project what I thought I needed to learn was how to implement user roles and and registration feature. What I really needed to learn was how to work in a group. I was a trainer at my last job and I had grown accustomed to being confident, and secure in my capabilities and grasp of what needed to be done and how, in every area of the work space. It definitely a change in the balance of power for me to be the least experienced person in the group. But I feel that I adjusted well.

Mike and I both made an outline for our back end, but Mike's had a better fleshed out DOA, so I happy took note and we went with his instead. The first task we had to complete was tests. I didn't know very well how to do them. I navigated while Mike implemented the tests for the Reimbursement DAO. I used that template to implement the User DAO, and it tested successfully. Then Mike implemented the tests for the Login service. And I used that template to make the tests for the Reimbursement service. These failed and I had to go to Mike for debugging. I then used what I learned from that session to make the User service tests, and they all passed. I felt very much that I was being show how to do the job, then told to do menial tasks. But I was able to learn.

I did try to grasp the full picture of our project. But unfortunately I misunderstood the project requirements and it led me to misunderstand the inputs and outputs of our functions in the service layer. I tried to bring my concerns up to Mike and Jessie, but my concerns were not very well fleshed out. I understood that if I took my concern seriously I was going to have to put in some work to understand what my concern was exactly so that it could be presented in a tangible form. So I decided to clone another copy of the project and recode the DAO, it was only when I was working on the SQL statements that I knew my problem was a confusion in how the Database was to be structured, and after that was cleared up I felt like I understood the project in it's entirety. Unfortunately by then we were already well underway, and I had wasted a lot of time chasing this misunderstanding. z

regardless, I felt like I had made the right choice, I had balanced doing menial tasks with working on my confusion. This way I could say that I contributed to the project (through tests, but also in the DAO, and in a service layer that had to be deleted), and was willing to take the guidance of my peers, while also saying that when I sense a problem I an willing to put in the work to root out what my misgivings are so that they can be addressed (a disposition that I hope pays more dividends with experience).

But I did learn how to use attributes to create user roles as well as how to set up a registration service.

Ivo - my contribution to project1 was not very substantial. I basically connected the front end to the backend to show and resolve requests. I did that with a lot of errors which Zach had to debug. I learned some things that I had missed in project0 - such as using the logger (extremally useful) and working with cookies.

Mahad -

Starting off Project1, me and my partner (Bobby) had a great flow with the database. We both had different ideas and we just took the better practices from both databases. When moving to the Java portion of the project, we seemed to get a little confused on how to delegate work to one another and so Bobby created the outline of the backend. I had some difficulty trying to understand his workflow, so I did not do too much with the implementations, but instead we would do it together when doing our paired programming sessions. The sessions really allowed me to better understand the outlines code and I was able to make implementations thereafter.

Me and Bobby had a couple successful testing sessions where we were both able to take the roles of the driver and observer. It was a great experience because we were able to bounce ideas off of one another and catch errors before they even occurred. When constructing the front-end of our application, we had both created the webpages and added on to one another's features. We had issues with styling, but with paired programming we were able to crack down on these issues. When implementing the JavaScript, I did not have a hard time working with functionality that strictly was on the front-end, but when it came down to interacting with the server and database, I had a hard time understanding it because I did not have a big part in constructing the server.

Hence, after asking for help from Bobby, I was able to see how he had made certain changes to the JavaScript functionality and I was able to go from there. All in all, it was a great learning experience and a pleasure working with Bobby. He had great insights on every aspect of the project from the database to the side of the client. If I were to change one thing, I would change the way we assigned different tasks of the project. I would feel much more comfortable if I was able to touch every part of the project from the database, to the server, to the front-end functionality. I would assign tasks based on functionality and not separate layers, such as the front-end and back-end. I will definitely bring over a lot of things from this project to the next.