So, this was actually the first time I was allowed, or rather, told that I could write a program in a group. For this, we used issue based project management by hosting a project on Google Code. The point behind this was to teach us how to program as a team, by defining issues for us as a team to solve. The issues should be things that could be fixed and have enough issues in where the use is relatively always busy; maybe about a weeks worth of work or so.
For this project, we were to construct a command line interface that queries the WattDepot server and return some information about energy and power; similar to what we did with the WattDepot kata. The use of project management allowed us to put into practice using Google project hosting, Ant (as a use to build the system), automated quality assurance, and simple testing to accomplish a large goal by creating smaller goals that each group member tries to accomplish to complete the final task.
For this project our group was named hale-aloha-cli-tiger, a command line interface that queries the WattDepot server and gets various types of information. We set up our project management by first assigning a different command for each of the group members to work on and get working locally. Once that was finished and well tested, we created an interface to make sure the programs both contained a run method and a verify method to make sure they only ran if the parameters were right. This was probably not the best way to go as small problems with parameters occurred later in the process. Maybe we should have created the Main class,Command Processor class, and the interface first. This way, we would have been able to skip the step of modifying some of our methods in the commands.
I think it was because of the concept of issue driven project management, we thought the best thing to do is break down the program into smaller program (the individual commands). This worked, but I feel like it would have been more efficient for the group if the dependencies were created first. In the end however, we got it all to work, but testing was quite difficult as the results that were printed out were always different.
Overall, I felt that this was a very good experience. It was pretty nice being able to write code from other and ask for input without getting into trouble. The only downside I think is that because we as students had a mess load of work for other classes, communication was very difficult a lot of cramming was actually done, even though we were not supposed to. Issue driven project management is something I will definitely try implementing in future projects both in school and in my professional field.
No comments:
Post a Comment