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.

programmers at workstations

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.