The purpose of this blog entry is to reflect on iteration 1 of our project, it will strive to answer the following questions:
-What parts of the process worked well?
-What parts of your process did not work so well?
-How was it to work in pairs?
-What will you need to change for the next iteration to be more successful?
-What development practices will you continue to do use?
==What parts of the process worked well?==
My partner and I divided the work by each taking different tasks instead of both trying to solve the same problem at the same time. I feel that this allowed us to tackle tasks much more efficiently, because we didn't waste time by both thinking through the same issues and arriving at the solution at the same time, or arriving at different but equally solid solutions then debating which to use. By only double teaming the problems that really stumped us (a few debugging cases come to mind), we were able to finish things quickly and with less hassle than we would have working together on every part.
==What parts did not work so well?==
The most notable thing that did not work very well was that we got together to work on iteration 1 very late into it. Due to scheduling conflicts, we were left doing most of the work for iteration 1 in the last 24 hours before it was due. This caused a lot of otherwise unnecessary rushing that could have been avoided by an earlier start. For our next iteration, we are making sure to avoid this mistake again.
Another, smaller issue that arose was that by splitting the work by tasks instead of working together, the nature of the process often left one person tackling a bit harder or more time consuming task. Neither of us really had an issue with it, but it was an apparent issue that we strove to balance out as best we could as we went. If one of us had a bit harder task, the other would pick up another task or two on the list, but it was definitely not a perfect split. It wasn't a huge problem, but it was definitely notable.
==How was it to work in pairs?==
Working in pairs was great. This particular iteration had a lot of 'copy-paste-fill' coding when it came to creating new regular expressions and tests, and having two people to split the work up really lightened the load. Having a partner also made debugging a lot easier, because although we are both pretty new to regular expressions and scanning keywords, we were able to solve most problems easily once we put our heads together. Having a partner was definitely a positive aspect of this iteration.
==What will we need to change for next iteration?==
The main thing for next iteration will be to get an early start. If we get caught with little done at the 24 hour mark like last time, I doubt we will be able to get it all done on time. The other thing we could do a bit better is use the piazza class forum as a resource. I noticed that many of the problems we encountered were being actively discussed on the forum, and would have been much easier to solve with the insights found there.
==What development practices will we continue to use?==
For future iterations, we are most likely going to keep up the divide and conquer approach to splitting the labor, trying to keep things as fair as possible with the division. Naturally, we are going to keep our code organized the same way as we have been. We were using simulated pure blocks, and to change that now would be to complicate things without reason. The last thing we are going to keep using for sure is testing things piece by piece rather than as a whole. We strayed from it a couple times during the iteration, and the consequences were immediately apparent as we scrolled through the code searching for tiny syntax problems that would otherwise have been caught and found easily.
==In the end==
All said and done, iteration 1 went well, but it could have gone better, too. We found a lot of practices we want to keep, and definitely found a few we are going to change. By making the adjustments reflected on above, the upcoming iterations should go much smoother.
Good luck with iteration 2 everyone, and happy coding!