Extreme Programming is an approach to software programming that puts two or more people in a team to work on one piece of code, at the same time, on the same computer. It might seem counterproductive to have two sets of hands and brains working on one computer, but in fact the results are that better code is written quicker with fewer errors. There are strong similarities to Lean in this method. The key elements are Flow, Pull, and Quality at the Source.
The work flows, since while one person is typing in the code, the next person can be thinking ahead, in effect performing the next operation. This creates a pull, with one coders saying “hey, let’s try this next” to keep the process moving. This speeds up not only the overall cycle of producing code, but evens out the workload by allowing both minds to be spinning idly (trying to figure out what to type) for shorter periods of time.
It is also easier to flow one piece of code at a time, since the two coders are not separated by time and space. Each piece of code can be reviewed right away and checked for errors.
Although when producing a physical product or working on an engineering project you are rarely working on the same components (you can’t have two sets of hands assembling the same parts very easily) this is actually possible when building code. That is because it is mostly creative work, more akin to design than putting standardized widgets together (not at all a bad thing in itself).
This is a very intriguing area of study, as it may point the way to Extreme Engineering, or Extreme Accounting, or Extreme Doctoring. Stay tuned for more from the frontiers of the Lean Office.