Hourglass

"Jackie, Brian is leaving the company in two weeks," the boss revealed behind his closed office door. "You'll be taking over maintenance for CONLAB."

Jackie's eyes went wide. Brian was a guru within their IT department; his departure would surely cause a stir. CONLAB was just one of his holdings, a real database-maintenance workhorse that several large internal business units relied upon.

"To get you familiar with it, I'm gonna have you take over some of Brian's open feature requests," the boss continued. "I'll email you the details."

"Sure!" This was good. Jackie could learn the ins and outs of the code while Brian was still around.

"Great! Make sure to arrange some one-on-one time with Brian as soon as possible," the boss said.

Jackie was optimistic about his increased responsibility at first. He already maintained a few smaller apps, and was sure he could make CONLAB "his" fairly quickly.

Unfortunately, getting his feet wet was hard when the pool turned out to be a desert mirage. Brian's calendar in Outlook was unpopulated. His cube was always empty. He never answered emails, never signed into Lync, and let every phone call dump to voicemail. Wall-to-wall meetings? Flaking out? Either was possible.

"Don't worry," the boss told Jackie. "I'll tell Brian to give you some time on his schedule."

Nothing came of this confident offer. As the days slipped by, Jackie had to get creative. He pounced on Brian in the one place everyone wound up at one time or another: the restroom.

Jackie explained how he'd be taking over CONLAB once Brian was gone. "I wanna start working on feature requests right away, but I'll need access to the code first. Can you help me with that?" Granting the proper permissions would be a single mouse-click operation in their project management tool.

"Well, it's complicated," Brian said. "The project lives in two git repos: one with the supporting library, one with the app itself."

Jackie frowned. "Really? Why?"

"It'll make sense when you see it," Brian promised. "Let me finish some refactoring first, then I'll grant you access."

Three days passed with no further progress. Jackie managed to corner Brian in the bathroom and ask again.

"Give me two more days," Brian said.

The extended deadline didn't help. Desperate, Jackie sought help from Alisa, the system administrator, and her incredible sudo-powers.

"Based on file names, I think this is the library he was talking about." Alisa pointed to her laptop screen. "But there are two git repos holding different versions of it."

"Oh, geez." Jackie nursed his temple. "OK, let me try out the one that's been worked on more recently."

Once Alisa granted the proper permissions, Jackie returned to his desk to examine the library. Its codebase lacked comments. It contained an if-statement body that failed to fit vertically on his 23" monitor. But worst of all, there were no test cases to be found.

"There are test cases for the application that also cover the library," Brian revealed in the bathroom some time later. But access to CONLAB's application code remained out of reach.

Alisa and Jackie went through the entire list of projects in the project management system, opening any git repo whose name hinted at having something to do with CONLAB. In the process, they learned their boss kept sales figures and presentations in git, along with more personal items.

"Oh my God, is this a diary?" Alisa asked.

"Close it, close it! I don't wanna know," Jackie said, averting his gaze.

Alisa grepped through the file system. Nothing looked remotely like code for CONLAB. She checked every file server that Brian may have had access to. She checked file servers that Brian shouldn't have had access to. She checked local production servers and even remotely based client production servers. No sign of CONLAB's code.

"Maybe he's bypassing company policy and using some other version control system," Alisa suggested.

She searched for signs of Mercurial, Subversion, CVS, Bazaar, Fossil—all to no avail.

"Seriously, what the hell?" Alisa muttered.

Jackie shook his head, sullen. "Right now, I have two theories. Brian's either storing the code directly on his dev machine, or, CONLAB isn't actually an application at all."

"Not an application?" Alisa repeated.

"CONLAB has no UI. It just processes database entries. So it could just be a batch file running in the background all the time," Jackie explained, then straightened as a third possibility occurred to him. "Heck, that might even be giving Brian too much credit. Maybe he's been handling the database updates manually, every 12 hours, for years now."

Alisa's eyes went wide before she sobered again. "Today's Brian's last day. What'll you do?"

Jackie stood up and scouted past the cubicle walls. He saw the familiar flicker of bad flourescent bulbs, heard the laughter of coworkers talking about anything but work ... and spotted Brian heading toward the men's room for what might be the last time.

"I'm going in," Jackie replied.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!