Rich had a five-alarm project. Six months ago, the legal department became aware that government regulations on labeling would change. That information slowly ground its way through the intestines of the company, until a pile of poorly documented, barely specified changes landed on Rich’s desk. If he didn’t implement those changes in the next 48 hours, a half-million units of commodity chemicals were about to pour out of a processing plant and be illegal to ship.
The problem was confounded by the nature of the labeling system. It was tied into a home-grown, supply-chain management system. Theoretically, it was a one-stop shop for everything- formulations, MSDSes. In reality, it was a complicated thicket of unrelated applications which dragged data around between various silos, and usually crashed in the process. Rich had no idea what this change was going to involve. Only one person, the head of the Supply-Chain IT team, could point him in the right direction: Blaine.
Blaine’s office was normally crammed with the awards, trophies, and various “atta-boy” certificates which honored him for a job well done around the company. Today, the walls were bare, and all of those meaningless honors were piled up in a box on his desk. Blaine ignored Rich, and finished packing his box.
“Uh, Blaine… I have a few questions?”
Blaine said nothing, took one final glance around the office, picked up his box, and walked towards the elevators. Rich trailed after him.
“I just need a minute…”
Blaine pushed the button on the elevator, and the doors pulled back. He strode in. Rich put a hand on the door, to hold it open, but Blaine’s cold glare caused him to flinch back. The door slid closed, and in the last instant before Blaine vanished forever, he whispered one final word: “Rosebud”.
The department descended into panic as news of Blaine’s sudden exit spread. The Supply-Chain suite of applications was his baby. He was the rockstar, the genius, and the only person that could hold that ball of mud together. Half a dozen projects screeched to a halt in his abscence. Managers piled onto the problem, as if adding more cooks would fix anything. Eventually, Rich’s boss took charge: “The last thing he said to Rich was ‘Rosebud’. That’s our only clue. It might be a server name, it might be a password. We need to find out what!”
The clock was ticking. Some team members started rifling Blaine’s office, while others dove deep into the corporate SharePoint. Rich decided to take a trip up to the executive floor. Blaine’s first project manager, Sarah, now had an office up there. She might have some insight into where Rich should be looking.
The executive conference room did its best too look expensive: crystal wall sconces, gold leaf, and a wooden table large enough to keep the Titanic afloat. The only thing neither expensive nor luxurious was the projector, which was at least a decade old and only supported VGA in.
Sarah grabbed a corner of the table and pointed Rich to a seat beside her. “You have to understand, that back in those days we were just getting over doing everything on a mainframe. Suddenly, everbody and their sister wants a Windows program to get at data still in the mainframe.”
“Everything still lives in the mainframe,” Rich said, “but it’s going away soon.”
Sarah laughed. “It’s been ‘going away soon’ for twenty years. Anyway, we needed to desktop apps that could get data out of the mainframe, and the only thing we could find for our particular variety was a proprietary package with a $1000/seat license. Blaine was just a junior programmer back then, but he said…”
SCARF
“I can do this without needing to buy a license for anything.”
Sarah weighed her options. The business need- desktop apps- versus the costs, versus how much of Blaine’s time she could spare. In the short time he’d been here, she could tell that he was smart, possibly too smart to be churning out line-of-business applications for the rest of his career. “You have two days to get me a proof of concept,” she said. “And you still have to keep up with your other project work. There’s no billing number for this, but I don’t want to see it showing up on admin, either.”
“I’ll get you a complete product in two days.”
“I’d be happy with a PoC,” Sarah said. “Don’t over-promise and under-deliver.”
“I never will,” Blaine said.
Two days later, Blaine handed her a floppy loaded with SCARF: System Connection Application for Realtime Federation. “This is connecting to production,” he warned her as he pulled up data. The application was a Visual Basic MDI, crammed with buttons, toolbars, and a variety of screens. It was a requirements-complete implementation, in only two days.
They released the application to the users, and they were overjoyed. Gone were the cryptic keyboard shortcuts and issues with terminal emulation. Instead they had loads of on-screen buttons, and most important, the ability to load data into Excel.
“That was a huge success, at least while Blaine was on our team.”
“What happened after he left?”
“Well, it was really just a terminal emulator. It screen scraped the mainframe, so any time a mainframe screen changes, the GUI breaks. Fields vanish, or get chopped off, that sort of thing. I’ve been fighting for a budget to replace it, but the business unit doesn’t want to spend anything on it.”
Based on his wild success with SCARF, Blaine leapfrogged to a lead developer position on an effort called SLED: Superior Leads for Enterprise Distribution. It was a huge effort, and was still spoken of in hushed, almost fearful tones. Dave, the lead developer, was Rich’s next stop.
“Good friggin’ riddance,” Dave said. “I’m glad he’s gone, but damn if I wish Blaine could have taken this piece of sh-urely fine software with him.”
“I thought SLED was a big deal?”
“Oh, it is. Millions of dollars of inventory, customer invoices, end to end process management. It’s a big frickin’ deal. It was also never finished, so I spend most of my time manually doing things that should be automated. If I don’t, or if I screw up, I get called on the carpet and reminded that our biggest customers depend on this being accurate. And before you ask, no, I’m not allowed to fix the damn thing- the VP doesn’t trust developers after Blaine’s playtime.”
“Playtime?”
SLED
Behind Blaine glowed a PowerPoint slide displaying the Agile Manifesto. Dave, along with six other developers, were crammed into a tiny conference room. “These,” Blaine said, “are our principles. We are going to stick to this, to ensure that we deliver what the business actually needs, quickly and efficiently.”
This was 2002, so no one really grasped the Agile concepts, least of all Blaine. For all that he laid out his statement of principles, he wasted no time in subverting them. The very next slide dictated out his architectural vision for the application, and it was a doozy. There were 4-ish tiers- presentation, business, data, and “legacy connector”. To allow developers to work with perfect separation, he had already designed a set of XML schemas- each tier would communicate with the others only through this XML design.
Much of the XML design was focused on screen definition, for Blaine didn’t want to simply solve the problem the users had. He wanted to solve the general problem of building data driven screens using classic ASP. “SLED isn’t just an inventory tracker,” he said, “it’s the model for all of our future applications. It’s infinitely extensible, with screens defined by data- it’s our first internal CMS.”
“So, six months in, we hit the first milestone, right?” Dave said. "But we haven’t been building anything that’s an actual feature- we’ve been building this generic framework for defining data driven screens in XML, and storing those templates in a database. Management is pissed, but Blaine has been so successful this far, that everybody lets the project keep running. A year in, and we’ve built a great internationalization layer- for an application that is only going be used in the US. Another six months, and finally, we start delivering basic inventory tracking.
"We’re over schedule, over budget, and now, management’s really pissed. So what happens? They pile more managers and developers on the frickin’ project. Blaine’s design is deemed too complicated, but we’ve already implemented about half of it, so guess what? We keep the work we’ve done, but new features have to be implemented in a more streamlined way. It becomes this massive Franken-project, with VB GUI’s slapped in to build some features, while everything that was going to be part of the legacy processor get dropped as PL/SQL stored procedures that FTP files around.
“But here’s the real kicker, and the reason Blaine should rot in hell. Vince, the manager who tried to yank his leash, retired before the project finished. So Blaine turns around and says, ‘Look at how successful I could have been without micromanagement. I saved this project from Vince.’ He built himself up as the hero of SLED, and bailed before the project was finished so he could be a department head.”
“I can't believe they let him get away with that,’ Rich said.
"Oh, they didn't…"