XP Home

XP and the Mark IV Coffee Maker


The meeting between the software people and the electrical and mechanical engineers on the project goes well. The hardware people have already been approached by the Fictitious Advanced Product Design Department (FAPDD) and have added several new features to this coffee maker.
A relief valve to interrupt coffee brewing, and a weight sensor in the coffeepot station are new. But most importantly to us is the microprocessor control system. A state of the art microcontroller with Java 1.0 burnt into ROM, half a Meg of FLASH, half a Meg of RAM and 32 GPIO pins.
Fabulous, we won't have to program this thing in assembler [and all of the people watching over our shoulders will be able to actually run the code from their Internet browser.] The electrical engineers will use the bottom most 8 GPIO pins for input from the A/D converter to get the pressure sensor reading. The next 2 pins are input for the brew button and the water sensor. The next 4 pins are output to the indicator light, warmer, boiler, and pressure relief valve in that order. The top most 18 pins are unused.

Things are going well, then one of the engineers asks a question: "What about the cancel brew function."
"We haven't heard anything about that."
"Well, we talked to the FAPDD guys and they don't want it but we could just add it easy enough."
"Any additional requirements will effect our time to delivery date."
"But it won't cost you anything to add it now, adding it later will."
"I don't think that is true. If we add a cancel brewing function we will have to read the brew button during the brew cycle right?"
"Well yes, I suppose but you were going to do that any way weren't you?"
"We don't know yet. Besides, there is another issue. We would be required to debounce the switch."
"Weren't you going to debounce the switch anyway?"

Continued on Page 2.

ExtremeProgramming.org home | XP and the Coffee Maker | User Stories |

Copyright 1999 by Don Wells.