I participated in the ICFP 2003 contest (www.dtek.chalmers.se/groups/icfpcontest/),
joining a team of Rubyists. Even though we didn’t submit an entry in
the end, it was really fun, and very valuable (not to mention exhausting
:).
The main project lives (and dies) within a 72H time-frame, and involves
tight communication between people who had (in our case) never met before,
neither physically nor virtually. Problems arise naturally within a few
hours, and it is indeed from mistakes that one can learn the most.
What failed
UPDATE (Jul 11 2003) You can get more detailed information on my
experience at ICFP 03 in www.thekode.net/icfp03/lessons.html.
Some of the things that happened to us include (I’m using the
checklist from "The Pragmatic Programmer" as I write this :-):
- not getting the whole picture from the beginning
- insufficient planning
- communication problems
- incorrect use of prototypes
- inability to properly estimate devel. times
- over-engineering
- not fixing interfaces in time: they kept changing and we lost time
readjusting
- we failed to see that a class/module/file is not (in this case) the right
granularity level to achieve parallel development
- ad-hoc sub-teaming was sub-optimal
Read: Participation in ICFP 2003