Page 48 of Debugging Love

“We’re not a Scrum team. We’re Agile here, but not too Agile. My old boss’s motto was, if software is getting delivered on time, our processes are working. Don’t break what isn’t fixed.”

Chance lets out a sound that’s a mixture of “ch” and “sh.” I’m not sure if he’s mocking me or telling me to be quiet. Rather than try to figure it out, I start diagramming the application architecture that I’m about to foist onto them.

“Don’t you mean, don’t fix what isn’t broken?” Heng says.

I glance at him over my shoulder. “Isn’t that what I said?”

Chance makes his “ch/sh” sound again.

“I knew what you meant,” Heng says.

They both listen quietly while I diagram our objectives and division of labor.

“Where are the requirements?” Chance asks.

“They’re in the old app,” I say, still outlining subtasks.

“Please don’t tell me the old code is the requirements.”

I look over my shoulder. “I could lie to you, or just say yes. Which would you like?”

Chance leans back and rubs his face.

“We get to write the requirements ourselves as we go,” I add.

He groans. Heng looks on expectantly.

“How are we supposed to be Agile without functional requirements? How do we know what pieces to deliver first based on customer expectations?”

I turn slightly so I don’t have to crane my neck and then jab my whiteboard marker at my drawing. “I’m explaining it right now.”

“We’re supposed to do backlog grooming and daily standups and two-week sprints with incremental releases.”

“I already told you, we’re not fully Agile. We don’t have the testing staff or the software for it.”

Another groan.

I let it roll off my back. “We’ll meet every Monday, Wednesday, and Friday until you get settled. Then we can decide from there. Bring your requirements questions to me. If we can’t figure them out together, I’ll go to the customer. I’m putting together a prototype for them to demonstrate the basic functionality. They’re already familiar with the interface because I designed it to work seamlessly with their HR app.”

I return to my seat and plug my laptop into the projector, pull up my code mockups and lean back, crossing my arms to survey my work. It’s nothing fancy. That’s by design. I minimized the architecture’s complexity, reducing unnecessary interface calls.

Chance spins his chair around, and then he rests his elbow on the table and leans into his hand, his eyebrows knitted together as he takes in my code. Heng looks at my brain baby approvingly while Chance continues to scowl.

Undeterred, I pull up some HTML and talk through the app’s layers one by one. When I’m done, Chance’s chin is still on his hand and his eyebrows are so close together they could kiss each other. A couple of eyebrow hairs actually do, right in front of me, with no shame.

Chance has no shame either.

“This isn’t real Chai coding,” he says.

Heng waits for him to continue. I swallow the curse word that nearly crosses my lips before actually opening my mouth. “Excuse me?”

“I don’t know what this is. This is just…not it.”

My eyelid starts to twitch. “Actually, itisit because this is the architecture we’re going with.”

Heng blinks at me, mouths the word “burn” and then flicks his eyes back at Chance.

“How much design time do we have?” Chance asks.