Nate worked on software that communicated with onboard computers for large machinery and industrial vehicles. Two releases a year made for a tight development schedule, but the fast turnaround created plenty of variety. With the next release cycle, he’d be taking the lead on the highest-priority feature: an Engine Theft Deterrent (ETD) system, something unprecedented but interesting.
“How ’bout we just hire a guy to stand by the engine with a gun?” Nate asked.
His project lead laughed in response.
“Where can I find the requirements?”
“We don’t have any yet.”
“Typical," Nate said.
“Even better, the SBU requesting this feature doesn’t know when they’ll be able to provide some.”
“But they’re still saying ‘high-priority’?”
The project lead smiled. “The highest.”
Nate shook his head. “So what do you need me to do right now?”
“Twiddle your thumbs? Stock up on caffeine for the last-minute code binge?” The project lead shrugged. “I’ll let you know when we have more.”
As weeks and then months slipped by, “more” turned out not to be “nothing.” His time being billable, and lacking a thumb-twiddling time bucket to fall back on, Nate pitched in on other projects- until his manager called him into his office one day, slumping and worn. Beside his manager’s desk, an unknown man loomed in undeserved triumph- the self-styled lion who, after batting down a gnat, crowned himself king of the jungle.
The manager introduced Nate to the man: the SBU lead for the ETD feature.
“You’re supposed to be 100% dedicated to ETD,” the lead declared. “What are you doing working on other projects?”
Bewildered, Nate looked to his manager. “I never received any requirements.”
“When you get them, you can’t be elbow-deep in other things!” the lead argued without any loss of face. “We need this feature in this release. Period, end of story.”
“So when will we have requirements from you?” Nate’s manager asked.
“We’re working on them, don’t worry. We’ll be in touch.” With a warning glare Nate’s way, the lead darted out.
Nate’s manager sighed. “That meeting came from hours of panicky emails and phone calls and crap you don’t want to know about. Don’t check in any more code, OK?”
“Just wait for the requirements.” Vengeance sparked over his eyes. “You’re dedicated, so make sure you bill them for your time.”
Unfortunately, the requirements were still missing when code lockdown arrived months later, despite appeals from Nate, the project lead, and their management. The SBU complained mightily about ETD not being in the release. “If you can’t deliver on time,” the business lead rumbled, “then we’ll have to go to an outside contractor.”
A new release schedule dawned, full of fresh promise, but not for Nate. Several months in, the project lead received an invite for the “final” ETD requirements meeting, and forwarded it to Nate. The SBU lead was surprised to see him, but nevertheless made him welcome. “You’ll like what we’ve come up with,” he gushed. “This will be huge for us.”
The hour-long meeting began with 10 minutes of directionless chatting, 20 minutes of introductions, 20 minutes reviewing the project charter. When they finally got to the ten minutes dedicated to discussing the requirements, Nate listened closely, but all he heard was the sound of one, maybe two interns scribbling down some ideas five minutes before the meeting. The requirements were little more than, “We need an ETD system.”
“I think there are some scenarios you’re not considering,“ he phrased as delicately as possible. ”What if there are multiple engines, and thus multiple instances of the software to manage at once— like in marine applications?”
“Um…” Nervous glances ricocheted around the conference table.
“What if an engine control computer is replaced with one that doesn’t support ETD?“ Nate asked. ”Imagine someone wanted to steal a boat and had an extra control module lying around, with an older release of the software. What then?”
More blank stares and lack of answers.
By the time the requirements were fleshed out, it was too late for the change review committee to approve them for the next release. In dire straits, the SBU put together a business case, wherein whining was converted to imaginary dollar values.
“It’s now nearly a year since this project was initiated. We can’t wait any longer!“ the SBU lead cried. ”Every release that goes by without ETD costs us $100,000 in revenue! How am I supposed to tell my boss we let release after release go by while $100K was lost each time?”
Nate, his project lead, and their management were pulled from one warm-fuzzy meeting to the next, where management assured other management they understood the SBU’s concerns and were making ETD their top priority. It took some magical wand-waving at nosebleed altitudes, but the requirements were approved and rushed into Nate’s hands for emergency development. After a feverish effort, the feature was built, tested, and approved before the code lockdown. There was only one more hurdle before ETD could be integrated into the production release: the SBU had to test and sign off on it.
Nate sent off notifications to all the relevant stakeholders, and waited. And waited. Follow-up emails and phone calls went unanswered. He had to escalate through the project lead and his manager before the SBU lead deigned to reply.
“We don’t have any engine software written yet,” he calmly informed Nate without the least hint of shame. “We won’t be able to test until after the next release, at the earliest.”
Another release went by without ETD. By that point, the feature had racked up 100 hours in requirements definition, 500 hours for technical writing and project management overhead, and over 600 hours in designing, coding and testing. All of that, for no visible outcome. Even Sisyphus could point to the sores on his feet.
Not long after, Nate left for a position in another part of the company. Two years and four releases later, the SBU was finally ready to field-test their critical anti-theft feature. From the project’s ashes, Nate had snagged a patent and a valuable lesson: always include “Guy With Gun” during alternatives analysis.Image by Jim Greenhill, via Wikimedia