W04 Case Study Reading: Testing Software at a Manufacturing Company
Instructions
Prepare for your team meeting and your individual analysis by thoughtfully reading the following case study.
Submission
After completing the reading, return to Canvas to submit a quiz about the basic case study facts.
Then, in separate assignments, you will discuss this case study with your team and complete your analysis of it.
Case Study: Designing Software for an Multinational Web Presence
The specific characters, companies, and projects of this case study are fictional, but they are based on actual circumstances that occurred at a manufacturing company.
Jessie Rowland
Introduction
I remember the sun. The autumn rays filtered through my office window, forming delicate patterns across the screen on my desk. I didn't even notice the blinds. Most people don't, I suppose, unless they're broken, or fit poorly, or hang wrong. Software's like that too when you think about it. Most people don't really pay much attention, unless it doesn't work. I smiled thinly, contemplating the irony.
My name is Jessie Rowland. I'm the fifth employee at a small but proud engineering firm called Brightside solutions. We make software for the publishing industry. It might not be glamorous, but there's a lot of care and attention required for even the smallest program to work. That's a big part of our ethos at Brightside. We're committed to quality and I don't think it's boasting to say we're good at it. When it comes to software, we know what we're doing.
Nevertheless, as I sat gazing at the light playing across my computer, I couldn't shake the sense of foreboding that settled over me. There was a lot of pressure to finish the current project and move on—without testing. It wasn't just the client who thought so. There were a lot of people at Brightside who agreed. The director of engineering even called me in just to say, "Stop." The thing is, with everything that had happened, I didn't know if I could.
Call to Action
It all began with an unexpected summons. Crossing the threshold of Brightside's meeting room I noticed the executive team already seated around the large conference table. They enthusiastically invited me in. I sat down and listened carefully as they explained Brightside's latest project to me.
Mark, an old friend of the owners, had created a remarkable new manufacturing material and a small business empire, called Radiant Shutters, to go with it. I let my thoughts linger on the name. It was cheerful and optimistic. I forced my mind back to the conversation in the room. Manufacturing shutters was a complex and error prone process. Mark wanted new software and needed our help.
You can imagine my surprise when, two days later, I found myself face-to-face with Mark himself. His brother and right-hand man Brice was there too. Their office was a small, unassuming space in a nondescript building. It was a stark contrast to the brightly lit meeting room back at home.
Mark sighed and rubbed his temples. "Our system is old," he began. "It runs on ancient computers and uses dot matrix printers. About a third of our offices still use it."
"The rest use an Excel spreadsheet," Brice interjected. "We thought it would be more flexible, but it's created its own set of problems."
I looked down at my notepad and scribbled some notes. "What kind of problems?" I asked.
"The systems aren't consistent." Mark explained. "They specify materials and measurements differently. The DOS program uses one set of codes, and the Excel spreadsheet uses another. It's confusing."
"Exactly," Brice interrupted again. "The Excel spreadsheet came after the DOS program because we don't have any programmers and wanted to make changes. The inconsistencies between the two systems cause a lot of errors."
Mark glanced at his brother and continued, "The risk of something going wrong is always hanging over us but it's not just about fixing bugs. We see how much better production could be with the right software. There are a lot of opportunities to eliminate waste."
"Exactly," Brice agreed. "We need something that brings everything together, is easy to use, and will grow with us."
Getting Started
The first step was gathering requirements. Brice sent me copies of their DOS program and the Excel spreadsheet to analyze. He also sent the names of several franchise owners I could talk with, all of whom seemed happy to help.
Shutters were a complex assembly of panels, rails, stiles, louvers, and tilt rods (see Exhibit A). But in the end, it all boiled down to producing the cut list (see Exhibit B), which was a detailed report of required components and the lengths to cut them. If any of the amounts or measurements were off, even by a tiny bit, they had to be rebuilt. And you wouldn't know until the parts were held up for assembly and installation. With several windows in each order, it was easy to get things wrong.
I was optimistic though. Writing a program to automatically calculate the cut list seemed straightforward. And, there weren't budgets or deadlines to worry about either!
I should probably explain that last bit. The country was in the middle of a housing boom and money was flowing. Radiant was thriving. From our point of view, we were helping a friend while exploring a new market. Knowing Radiant had resources gave us the freedom to innovate and take risks. No one really worried about the usual stuff. Everyone just acted happy and excited, especially Brice.
That surprised me at first. Brice never made a secret of his divorce. He talked about it openly with anyone who asked. His wife simply didn't want to be married anymore. There was no affair, or abuse, or anything like that. She just left, and there was nothing he could do about it. Maybe that's why Mark put Brice in charge, to provide a distraction, give him something he could control. Whatever the reason, Brice poured his heart into the project, and his enthusiasm was infectious. And his many years of experience at Radiant, made him uniquely qualified to answer any question.
It wasn't just about cut lists, or technical upgrades, for any of us any more. It was a landmark project that had the potential to change Radiant's future. We started thinking about the system as a stand-alone, .NET WinForms program but transformed our ideas into a web application that would connect and unify all the franchise offices and the production facility. We were going to change everything!
Writing the Code
The transition from concept to code was sobering. Each new feature I implemented seemed to unveil another layer of intricacy, another set of interdependencies that weren't fully anticipated. Every day brought new follow-up questions and new ambiguities to resolve. My initial excitement had, in many ways, obscured the reality of the job and I was paying the price for it. I worried constantly, working long hours to make sure I got the calculations right.
Maybe that's why I agreed with Brice's plan. Though I suppose it doesn't matter now.
It was the end of another grueling day of programming. The soft glow of the code on my screen illuminated the dim office, casting an eerie light on the walls and scattered papers around me, each one covered with scribbles of shutters labeled by measurements and calculations. I sat there, unmoving, eyes straining in the semi-darkness. The phone rang, its sudden sound cut through the quiet gloom.
"Jessie, it's me, Brice."
"Brice," I replied, "I've hit another snag with the square footage calculations. I thought this part would be straightforward, but it's turning into a real beast. The system is taking far too long to process each query, and even then, the numbers aren't coming out exactly right."
"What's the problem? I thought we had this all figured out."
I sighed. "That's what I thought too. But it turns out calculating the total square footage for all the custom configurations is way more complex than we anticipated. Different frame styles, regional preferences, precise measurements—the number of permutations is incredible."
"It's not just a simple sum is it?"
"Far from it," I chuckled wearily. "But that's not the only issue. All these variables make the calculations a lot more processor-intensive than we expected. The dashboard, with totals for every project, takes forty-five seconds just to load."
I finished my explanation and waited in silence. Brice responded a few seconds later.
"Maybe we need to take a different approach. What if we shift quality control to our side?"
I raised an eyebrow. "What do you mean?"
"Well, at the end of the day, we are the ones that understand the gaps and measurements, and we'll be the ones that know if anything is built incorrectly. Plus, you've done an incredible job getting us this far, but you can't do everything. It's a big project and you need help. So let us help by taking over the quality assurance part. I know we're not software engineers but we could skip the unit tests and focus on User Acceptance Testing (UAT). Not only could it help your work, but I bet we could reduce the overall cost by 20%. Mark would be happy with the savings, and we could still make sure the software meets our needs."
I frowned. "Skip unit tests? We might miss some critical bugs."
"I understand your concern," Brice replied, "but we've got a good handle on what the software needs to do from a user perspective. We'll catch the major issues. Plus, with the savings, we can allocate more money to fixing any problems we find."
That was the second time he mentioned savings. No one had said anything about money before. I sighed deeply. "This isn't how I usually do things but maybe it's worth considering."
"Trust me, Jessie. I'll make sure we're on top of every detail. That way, you can focus on making the calculations more efficient without worrying about the small stuff."
"Alright. But you've got to be thorough."
"Great." Brice answered. "We're going to get through this. Everything is going to work out."
"Here's hoping." was all I could say. I hung up the phone and stared out the window, watching the shadows disappear into the growing darkness as the last remnants of dusk faded into night. Maybe he was right, I thought, the UATs were really the most important part anyway. Maybe I wouldn't have to give up unit tests completely, I could still write them for the most critical parts involving calculations, but pull back in some of the other areas. We already had nearly 50% code coverage with our unit tests, so I determined to set 60% coverage as a benchmark to achieve.
The next few months were a study in contrasts. Despite the worry, part of me harbored a real sense of relief. But I felt guilty, if I'm being honest. So I poured myself even deeper into the work. I became obsessed with writing cleaner, more efficient code that would inherently minimize the need for unit testing. It's a strange twist of logic, I know, but one I felt I had to embrace.
Not only did I devote myself more deeply to writing the cleanest code I could, but others at Brightside rallied around this call as well, and we stepped up our code reviews, further offering some reassurance that the code would work as designed. Brice's team didn't provide a large amount of testing, but they offered something more valuable than testing the theoretical calculations; they could actually throw a tape measure against the finished shutter and make sure everything looked right.
Demoing the App
I've always been fond of Las Vegas. The ceaseless energy makes dreams feel like they're just within reach. I remember the wave of anticipation that washed over me as I made my way through the hotel. The ballroom room buzzed with excitement. Mark and Brice were there. Many of the franchise owners were too. They milled about excitedly, their expressions a mix of eagerness and curiosity.
I plugged my laptop into the podium and began the presentation. I walked through the happy path, pointing out how the new system eliminated inconsistencies, unified processes, and provided greater efficiency. Nods of approval and murmurs of appreciation rippled throughout the room. I admit that I avoided a couple features, but they weren't critical, and I knew we'd put them through UAT soon enough.
The applause at the end was spontaneous and heartfelt. Mark was the first to reach me, shaking my hand and clapping me on the back. "Jessie, this is amazing! It's exactly what we needed." Brice's grin was broad and genuine. The franchise owners were practically overflowing with thanks and enthusiasm.
"We need this now," one of them declared. "It changes everything."
"Absolutely," another agreed. "We need to roll it out immediately."
I felt a surge of pride as I looked around the room. This wasn't just a business meeting; it was a reunion. All of these people were my friends. We'd shared this journey together and I didn't want to let any of them down.
Looking back, I see how good I'd become at suppressing my feelings. On the surface, I projected confidence, but deep inside, the doubts gnawed at me. I still didn't know if the system would hold up under load or that we had uncovered enough edge cases. The thought of the system failing when it mattered most, of disappointing all those people, was simply more than I could bear.
What was worse was the fact that if a problem came up in the calculations, they might not realize it for 3–4 weeks, until the shutters had been built, shipped, and then showed up at the customer's home. Not only would that mean a problem for that customer, but then we would have 3–4 weeks of shutters in process that were wrong. It could be a huge financial loss to the company as well.
I just kept replaying Brice's assurances over and over in my mind, trying to convince myself that we had done enough, that everything would be fine. But the reality was, without rigorous unit and integration tests, we were venturing into uncharted territory. The risks were significant but I had to keep the facade up, for their sake and mine, even as the uncertainty roiled deep within me.
The city took on a new character as we went outside. The glittering lights that were so promising before now seemed accusing and somehow sinister. I fell in step with others and silently prayed that we hadn't gambled too much.
An Unexpected Turn
I wasn't even back a full day before Kristi, Brightside's Director of Engineering, called me into her office.
"Jessie, we need to talk," she began, gesturing for me to sit down. "We haven't received any payments from Radiant for a while now. I've been in touch with their finance team. The downturn in the housing market has hit them hard. They don't have any more money."
I was surprised, and a little panicked, all at the same time. "What does this mean for us?" I asked, though I already knew the answer.
Kristi's expression softened slightly. "I know you've put a lot of effort into this project but we can't continue working on it without payment. We have to prioritize our business. The board agrees: stop all work on the Radiant project immediately."
"But we're so close. They're ready to roll it out. We just need a bit more time."
"I understand that," Kristi said firmly, "but we have to think about the bigger picture. We're facing our own financial pressures, and we can't afford to sink more resources into a project that isn't paying. We need you back."
All of the feelings I had been suppressing surfaced at once. It felt like a personal failure on a grand scale. Yet, I couldn't deny the logic of her argument.
"I'll let Brice know," I said finally, my voice heavy with resignation.
"Actually, I talked to Mark this morning. They're just going to use what you've already built." She shook her head ruefully. "We'll keep trying to collect payment but they really got away with this one."
Did they? I wasn't convinced. I nodded and returned to my office.
Conclusion
I stared at the light playing across my computer screen. My mind raced with a thousand thoughts but none of them were comforting. A small part of me wanted to believe I could find a way to finish the testing. Mark, Brice, my friends, were still counting on me.
I wracked my brain, searching desperately for a solution, but nothing short of heroic measures would do. Even as I contemplated it, I knew it wasn't the best option. I'd learned long ago that coding under those conditions meant cutting corners. That meant more technical debt and loads of work to correct it in the future. I would probably just make things worse.
On the other hand, I already knew the system worked. I just needed to know the calculations were correct, that it would be able to withstand the workload and scale. I just needed to know that if it failed, it would recover and not take Radiant down with it. Would that really take so long? Maybe, just maybe, I could pull it off.
I remember the last conference I went to. I got to meet Cem Kamer , the testing and usability icon, and actually shake his hand! It seemed like just a bit of geeky fun, but now, well, somehow it seems significant. Could I really just stop? What do you think? Could you?
Exhibits


Footnotes
- Cem Kaner was a foundational person in the field of software testing and usability and coauthored the best-selling book, "Testing Computer Software." Fore more information, see https://en.wikipedia.org/wiki/Cem_Kaner. Back to content ↩
Other Links:
- Return to: Week Overview | Course Home