Monday, April 20, 2009

ICS 499: It’s not easy being King

For this past week on the Devcathlon journey to success, I was recently appointed leader of the class. Being the leader of the class project is never easy; I was recently the leader for Team MS, which consisted of 4 members including me. Now as the class leader I will be over seeing 7 other people.


Delegating the work

From leading 3 members to 7 members was a real hard job; at first I took it as a good opportunity to step up, and I had planned what and where everyone will be working on. I distributed the tasks and got approvals from the two team leaders, Anthony and Daniel; also everyone acknowledge what they were to do. Since Anthony’s team was mostly finished with they’re part of the system, I decided to pair a member of Anthony’s team with a member in Daniel’s team. So with everyone having a task to complete and everyone teaming with each other, I thought things would get finished faster.


Issues

During the week some issues occurred, mainly the lack of communication. One part was due to a member of the class rewriting parts of a file, which another people were working or dependent on. This cause a lot of conflictions when uploading files that has been worked on into the repository. I tried to solve this dilemma by sending out an email to the class saying, “If you are going to rewrite someone else’s file, please notify that person”, in efforts to have better communication between members. Some people actually followed what the email said to do and some didn’t.


Another problem that happened was when a person broke the Continuous Integration build, that person at times would not fix it right away. The Continuous Integration is like our traffic light; unless that light is green the project can not move along, and if it’s red everyone slows down or stops until it is green again. The last problem that occurred in my first week as the leader was people taking to long on accomplishing something. When I assigned the tasks for members to do, I also assigned an expected time for that task to be accomplished. For things that should only take one night of work, it ended up taking 2 – 3 nights of work. I tried to stay on their backs asking, “When will it be done?” and “We need your stuff working now”. Eventually they got their task done, but behind schedule.


Conclusion

My reign as the leader has been a tough week; not only do I have to worry about my tasks to do, but worry about others finishing their parts as well. I also learned from this past week experience that the team should communicate better, and I highly recommend pair programming; because you have an extra pair of eyes to help you and it’s always good to get a fresh perspective. As the leader one thing I was open to do, was to listen to everyone’s frustrations towards other members in the class. Listening to other’s inputs about other members helps me see who would be best paired up together and what should a person do in the project. The hardest parts for me though, is maintaining a neutral aspect towards everyone in the class; Wow its not easy being the King……

Monday, April 13, 2009

ICS 499: Road to Redemption

After a gruesome past week of our class’s previous implementation of the Devcathlon, we were finally making really good progress. Development started moving along when two members of the class, who were assigned to implement the initialization file, finished and instructed the rest of the class members on how to use that file.


The part of the Devcathlon I am in charge with is the Match Manager, which has the ability to create a match and reconfigure matches already in the system. With the help of initialization file, I was able to retrieve most of the data needed within the system; data such as, teams the user is owner an owner of, the user’s opposing teams, and a list of events related to the match. Everything was moving along fine until I realized that I did not only need a list of events that a match has, but also the list of all the events that are in the system. I haven’t overcome this problem just yet, I have been researching on ways to pull up all the events in the system.


I also saw that in order to create a match, the user must enter an end date for that match. The end date is in a format called the XMLGregorianCalendar; which looks like “1969-07-16T00:00:00”, Year-Month-DateTHour:Minutes:Milliseconds. Having the user to enter a date in that format seems unfriendly; so rather than using the unfriendly format, the user would enter the typical Month/Date/Year format. I haven’t quit figured out yet on the parsing of the end date input, all the approaches I took seem to have crash the system. The simplest way I got it to work was having three different input fields, one for month, one for date, and one for year; but still seemed a little lame having three input fields instead of one.


For this new week of development, I look to solving the list of events problem and the end date problem for a match. I also look to implement a way to retrieve the description of each event and have it display on the web interface. The road to accomplishment seems so far yet so close, but for now this is our road to redemption in the eyes of our client.

A match's configuration page.

Creating a new match page.

Monday, April 6, 2009

ICS 499: What is a leader?

This week on the continuation of the Devcathlon, the teams faced a major reconstruction.  The class leader, John Ancheta, pitched an idea to the team leaders, Anthony Du and I, of concentrating most of our efforts to producing the scoreboard for the Devcathlon.  John explained to us why we should put our efforts on to the scoreboard and temporarily abandon what other members have been working on.  He made a lot of sense and we both agreed to this idea. 

 

I have to say with all members throwing in ideas to improve the look of the scoreboard helped, plus we all saw what parts of the Devcathlon related to each other.  For instance the scoreboard would derive its information from the matches and teams section.  With everyone’s mind set on making the scoreboard, we all lost focus on the true goal for this week’s accomplishment, which was to get real data to display. 


John proposed this idea to our professor, which plays the role of our client, and the result was a “NO”.  With the disapproval of everyone working on the scoreboard, everyone simply continued working on their respective sections.  Through the week, Anthony presented to the class a very good idea of using wicket panels; using this feature would save time in designing new sections of a page and help organize pages better. 

 

Conclusion

I have to say that it’s been a busy week for everyone, especially for the leaders; but that’s no excuse.  We should have been on the ball more, a lot of the work was done late into the week; because of our scoreboard idea wasn’t pitched to our professor earlier.  With the disapproval late into the week not a lot of things were done.  I as a team leader will take the blame, I should have assigned tasks for members to do while we wait for the approval.  All we can do now is pick ourselves up and “Keep moving forward” (Walt Disney).