Friday, October 14, 2011

What went wrong in Assignment 2 and the lessons I've learned for Final Project

Assignment 2 is way over, but there're still a lot of things to think about. Honestly saying, our assignment 2 was not close to my expectation. We faced a lot of non-technical problems that in the end made it so difficult for us to finish the assignment nicely. Here are what went wrong for us:

1. Miscommunication:
I admit that our team members didn't communicate well with each other, and most of the time we didn't know what the others were doing. We were too focused on working on our own tasks. And in the end, integration was a real pain. It's very difficult (if not say almost impossible) to join different pieces of a puzzle if they don't perfectly fit together.

2. Pre-planning is important, but we overlooked:
We spent too little time on meeting and discussion. We never analyzed the potential problems and difficulties the assignment might face. Also UI mockups, project timeline, and development process were not given enough attention. We only focused on feature list and individual tasks. Because of the lack of pre-planning, we underestimated the difficulty of the assignment, which led us to the next fault:

3. Procrastination:
We didn't start working until week 2 (assignment 2 was given only 3 weeks to complete). Because we overlooked the difficulties and challenges, we felt no rush to start doing things early. And the result is obvious: Camping in Com1 with last minute panic. It's so ironic that only at the end of the assignment did we recognize the need to start things early. That made the deadline day the most painful days I've had in my NUS life so far...

4. Teamwork and leadership:
As I mentioned before, we encountered miscommunication when working together. Our team structure was so much different from my first assignment team. In the first assignment, my teammates and I were able to work well with each other. Miscommunication happened a little bit here and there, but overall our teamwork was good. It wasn't necessary to have a leader. But in the second assignment where teamwork and team communication were not as good, there was a clear need for a good leader who had strong team building skills to connect all team members. But none of us was skillful and courageous enough to step up and take that lead. Prof Ben raised an interesting topic in the case study discussion 3 weeks ago about whether or not to have a team leader. My thought about this is that if the team by nature is strongly connected, a leader may not be needed, but for a less connected team, the team definitely should promote a clear leader.

Ironically, despite a great deal of pain I got from the assignment, I'm very glad and grateful. I've learned a lot from those faults and mistakes. The assignment is way over now, and the grade we got reflects correctly our product quality. But as Prof Ben said, the purpose of the 2 assignments is to help us learn and prepare for the final project. I can't imagine if we didn't make those mistakes in assignment 2 but in the final project (or further in life/business) instead. That would be a disaster...

My teammates and I are in the midst of the final project (I'm working with 2 teammates from assignment 2 and 1 from assignment 1). The team is moving in the right direction. We've spent valuable time analyzing all aspects of the project before getting dirty with codes. We're doing things very early to avoid last minute panic. The team is connected and all of us are working very well together. I'm very excited to see how our final product will turn out. Aim for the best!

"Mistakes are a part of being human. Appreciate your mistakes for what they are: precious life lessons that can only be learned the hard way. " - Al Franken


"It's always helpful to learn from your mistakes because then your mistakes seem worthwhile." - Garry Marshall


"A life spent making mistakes is not only more honorable, but more useful than a life spent doing nothing." - George Bernard Shaw