Let me start off by saying that Iteration One was a huge success for my partner and I. By planning ahead and setting small goals for ourselves, we were able to finish early yet maintain good code that we received full marks for. We had minor problems and conflicts that were easily swept under a rug and not allowed to slow us down.
First, I would like to discuss our approach to splitting up the work and how we split up the whole iteration into parts. Writing test cases for all of the tokens was going to take a while if we sat together and waited for each person to write their half of the 50+ tests. We decided to meet on a Sunday afternoon, but we both committed to writing all of our tests before then so that we wouldn't waste valuable time where we were both together. By doing this, we were able to work on the iteration even though we weren't together. It allowed us to utilize our time together to solve our implementation problems.
My partner had a good idea that went a long way in helping us complete this iteration. Before we met, he decided that we should look at all the methods and classes that we would have to write code for and think about exactly what was needed to be written. I wasn't as familiar with the language as my partner, so he was able to accomplish more of this part, but when we met up he was very helpful in teaching me the syntax. My partner pulled off an amazing move on his part and wrote pseudo-code for some methods. This made the actual writing of the code almost trivial as we had to take what my partner had written down and change it to match the syntax of our code.
That meeting that we had on the Sunday afternoon lasted 5 hours, and we were both very tired at the end of it. We accomplished a lot but we weren't done. Instead of leaving that last part up in the air, we spent about ten minutes at the end of our meeting to decide what to do next. We decided to meet again on campus on the following Tuesday. We were both busy with other classes so we said it would be better to not work on this until we meet up again. I was a little worried abou this at first because I didn't think we would be able to finish.
At our last meeting, two days before the due date, we started working at around 6:00 PM. It was a long day of classes before that and I came with the mood of not wanting to work at all, and I wasn't sure how my partner felt. We started and hit a little snag in our implementation in which an earlier decision was blocking us from moving forward in our later stage. I was completely lost, as my partner had handled most of the debugging before that. I let him work and he was able to fix it, but by that time it had gotten pretty late, and I was fed up. We polished the final product off, checked our grade, and were both delighted/relieved to see we would receive a perfect score from the machine check.
Overall there were many positives from this process that we implemented on the first iteration. I feel that there are many things we did right and that we should carry these on as we move forward and we should be successful. I thought planning played an important part in our success. I liked how we always planned when to meet and we were both good at keeping our promises. This helped us save time and stay committed. Also, I liked the idea of coming to these meetings knowing exactly what we want to accomplish and having already looked at the things we planned to work on. Finally, I thought that writing pseudo-code was magnificent and went a long way in saving us time and making the implementation of methods much easier.
With all group projects, we did hit some snags. The first thing that got in the way was our conflicting writing styles. The specifications for the iteration said that we had to be consistent with our writing styles, but my personal preferences were a little different from my partner's. To get over this, I deferred my style and changed to match my partners. It was annoying at first honestly, but I didn't care that much to let it get in the way of our work. Another problem that came up was when my partner would do a certain part of the steps and I would do the next one. The only problem is a lack of communication would leave me clueless as to what is going on.
Looking back, this was a great experience and I really enjoyed working with my partner. I feel like we really clicked, and this showed in our score for the iteration. We tried different things, and I think that we have established a really good system that we will look to continue on future iterations. Hopefully we wont hit many more problems, but so far we are doing well and look to only improve.