Tuesday, April 13, 2010

Chaining Together Troubles: Milestone 3

Group projects are always either a hit or a miss. It doesn't matter if the end project doesn't exactly meet specifications, the goal of a group assignment, in my opinion, is the successful process of collaboration between the group the accomplish a goal. In this sense many group projects in sink or swim depending on whether the group is able to come together and harmonize or not.

So rounding the third mile stone of our software engineering project, where does my group stand?

As I see it was are barely limping towards that finish line, much of these injuries sustained during the process of familiarize ourselves with each others work habits.

At the beginning of the semester, the group formation process was much easier. We were able to essentially choose our group, picking people that we've worked before and are confortable with. This made the first two mile stones pretty easy, as being grouped with Ed Meyer and Kendyll Doi, worked out well for me since I've worked extensivly before and I have easy access to commincations with them. We were able to immediately become productive within the first week.

This however, for our third mile stone, was completely different. Having ending our previous Wattdepot-Apps project, we were put into new groups. Although I've interacted with Edwin, Alan, and Anthony before in other classes during our days on ICS students, I had never actually work extensively with any of them on a project, let alone anything other than a quick shot answer worksheet. Overcoming his hurdle was actually the hardest part for me in the entire month.

The group dynamic did not work as well as my previous group. We had trouble communicating with eachother. There was the occasional email and a brief 5-10 minute group meeting every Monday/Wednesday for a status report on the project. Although this could have possibly worked on my previous project, there was another factor that prevented the fluency of the group dynamic.

The chain of sub-projects that was our code. It was like a giant three piece cog that would only move if all the pieces fit. The project as a whole was subdivided into three parts. Alan was creating the code for the actual meters themselves using Jamod, Edwin was creating the code for the meter sensors that would retrieve data from the meters and write them into the Wattdepot servers where they could be read by applications such as the Wattdepot-Apps. These two items were the basis the the entire meter to wattdepot system. Since we have not finalized a meter yet we do not have any actual meters to read data with, which is where Anthony and I come in. We were tasked with creating a simulation system for the dorms, in which would give simulated numbers and feed them into Alan's meter to be sent to Edwin's sensors then to Wattdepot.

Kind of simple enough I though at first, since Edwin and Alan had been working on this project for quite sometime they were at the verge of completing their sensor and meter respectively, with only a few technical glitches standing in the way. Because of this separation of groups, there was no unity in the entire project. I was hard to test if my simulated data could be read with the meter and then sensor because with only one person on one sub-project for so long, there was no real need to them to have it under version control. Then when Anthony and I joined the group, it was still a very hard process for them to continue to commit to version control until we had a wake up call the week before this mile stone. While working and testing on our part of the code, since our code is directly related to Alan's, if Alan continued to work on his, we could never be sure if they were compatible, and that had actually happened on several occasions were our code would work, but then later on we find out that Alan had made an update to how his meter retrieves data. It was brought to our attention that our style of cooperation was very unprofessional.

This week we hope to change that. With most of our code working individually, we have to connect them properly and find all the hing for the oils to make it run smoothly. My previous group worked very well with everything on version control and our automated build system quickly alerted us to breaks in the code. Working with Edwin who seemed to be almost on the ball with this, we gathered everyone's code and then was able to get everything up on subversion. I took a loot at the ant manual to get a working build system running. I now have a successful build system, although previous bad coding practices have led to numerous checkstyles and some pmd errors, which will need fixing before I can put the project on Hudson.

No comments:

Post a Comment