This week we were put into random groups of 5 at Uni. The group's role was to design a desktop application in java or c# as well as a website. While the scenario given is a bit absurd the specs had enough info to get on with it.
I was asked to be team leader by the other members if the team and it was great. While the rest of the team was lacking on the programming side, their diverse skill set made us a brilliant team. I undoubtedly believe we had one of the best teams.
We worked together as if we'd known each other for years. Seamlessly ticking off each task from our project plan.
I wouldn't change anything about our team, maybe get an additional programmer. I wouldn't want to loose any of the existing team members if we had to do it all again.
There weren't many things that went wrong technically and nothing went wrong as a team. The university should really update their version of php or add the modules they expect us to use.
From a project management perspective, I think we were very organised. For the most part we were ahead of schedule for all tasks until Thursday, when we tried integrating the systems into the uni environment. As soon as we were behind, we were aware and were able to adjust accordingly. In the end we were able to deliver on time and only 1hr outside of our originally estimated time.
It's also worth noting that, if a particular phase of a project will influence several areas to come then, it would be worth the extra time to focus on that phase more. For e.g, even though we spent hours deciphering the ambiguous specification document and designing the database according to our interpretations, in the end we had to hack a fix to meet one of the delivarables because our design hadn't taken some things into consideration.
Overall it wasn't a terrible week.