Let's have a Coding Party!
What is a coding party? Multiple developers working simultaneously
physically colocated with pizza doing design, coding, integration,
and test with little or no process structure.
Advantages
Motivation - peer pressure to participate
Team bonding
Quick clarification/resolution of design/integration questions.
Examples(pdf).
Individual strengths/weaknesses become apparent
Cross training
Disadvantages
Long hours/exhaustion - error prone, less productive
Panic. Rushed, chaotic - leads to mistakes
Stressful - can lead to arguments
Distractions and interruptions prevent focus and concentration.
Design changes don't go through any systematic change procedure
and are often made in an ad-hoc fashion resulting
in patchwork design.
When it's over, everyone is too exhuasted to bother to document what happened.
Progress is hard to measure. It's just a confused stew of
code, redesign, test, and debugging.
Coding parties are a luxury of student life, not possible
for real world distributed teams.