Sunday, November 27, 2011

Group Project Management

So over the past two-three weeks I was still coding in Java to learn more about Wattdepot. After I went through some katas to get to know more about the Wattdepot server, this time was more about group-programming. I paired up with other to fellow classmates to create a command interface to retrieve some energy data in one of the dorms at the University of Hawaii at Manoa. 

When I start learning Java (and programming in general), most of the time the coding was done by myself. I did some group-programming in the past, but it was quiet inefficient. However, for this project some useful tools were used, such as the Google Project Hosting and Jenkins. We used the Google Project Hosting as our based-project place to hold our a repository of our system, and also to create issues (updates or processes) regarding the process of the project. Jenkins were used to auto build (using ants) our system and check for any errors. So far, I liked using both of the tools as a way to manage some kind of medium size project. However, what I would like is to learn how to set up Jenkins for future projects. 

We started off the project in the wrong way. We hadn't met up for about 6 days since the first day that the project was announced in class. After the process-review done in class, which was really bad for my group, we decided to start and work as much as we can on this project. In no time, for our surprise, we finish most of the code in less than two weeks. The program was working at perfection and what was left was doing some error checking (user inputs) and QA. We did that and we finished earlier than we expected. However, after the Wattdepot server went down due to some hardware failure, most of our test cases failed. I was kind of pissed off about that, because we basically were ready to submit everything last week (which was the original deadline). And now we have to go back again and check our test cases. 

Overall, I think I learned one thing or two about coding while working in a group-project. There is also a possibility that the project would had taken less time when doing independently. However, I find quiet it motivating to code in groups because you learn a lot from your partners and maybe fixing some bugs can take less time when doing in groups. This had motivated me to continue with my career in software engineering and I hope I can learn more about it. 

No comments:

Post a Comment