“So, Marco, how are things at MedTech?” asked Sam.
Marco leaned back in his chair, a look of frustration crossing his face as he ran a hand through his hair. He met Sam’s gaze across the table and said, “Thanks again for joining me for brunch, Sam. It’s great to celebrate your birthday.”
After a moment’s pause, Marco’s expression turned more serious. “As for MedTech… well, it’s complicated. We’re making progress on our new infusion pump software, but we’re hitting some pretty frustrating roadblocks.”
He took a sip of his orange juice before continuing, “Our development timeline keeps slipping, and I’m feeling the heat from upper management. We’ve tried throwing more developers at the problem and even implemented some new Agile practices, but honestly? It’s not moving the needle as much as I’d hoped.”
Marco’s voice carried a hint of desperation as he added, “I can’t help feeling we’re missing something fundamental in our approach. Got any sage advice for a stressed-out software manager?”
Sam: “Never ask a consultant if he has any advice, my friend. We are in this business because we love talking almost as much as we love solving puzzles!
As to your slipping timeline, that’s everyone’s problem. In some ways, I think Agile was a response to the difficulties inherent in managing knowledge work, like software development. I know that TOC is a very good lens for looking at knowledge work.
Let’s talk about what you might be missing, and I’ll send you an invoice for the consulting later.”
Marco chuckled at Sam’s joke about consultants, visibly relaxing a bit. He leaned back in his chair, his interest piqued by Sam’s mention of TOC.
“TOC? I’m not familiar with that term,” Marco admitted, his brow furrowing slightly. “And please, no invoices necessary. Your insights are worth at least a few brunches.”
He took another sip of his coffee, then continued, “I’m intrigued by what you said about Agile being a response to managing knowledge work. We’ve implemented some Agile practices, but maybe we’re not using them effectively. What’s this TOC you mentioned, and how does it relate to software development?”
Marco’s eyes were fixed on Sam, eager to hear more. It was clear he was hoping for a fresh perspective on the challenges he was facing at MedTech.
“TOC is the Theory of Constraints. It was invented - or discovered, if you prefer - by Eli Goldratt. I have been a student of TOC ever since I stumbled onto it in the early 90s. I was working as a software engineering manager at a company called Applied Microsystems at the time.”
Sam stirred his coffee slowly as he thought back to that time in his life, now a little more than three decades ago.
Marco listened intently, his curiosity evident in his expression. He leaned forward slightly, resting his elbows on the table.
“Theory of Constraints? That’s a new one for me,” he admitted. “It sounds intriguing, especially if it’s been around since the 90s. What’s the basic idea behind it? And how did you apply it in your software engineering role back then?”
Marco’s questions were genuine, his tone reflecting both his interest in learning something new and his hope that this unfamiliar concept might offer some solutions to his current challenges at MedTech.
“Let me cut right to the chase. TOC is about improving the performance of systems. Most importantly, systems with human beings in the loop.
Now, the first view of TOC for most people is that it’s about factories and manufacturing. That’s fair, that is where it started. But it’s almost as if there are no limits to where TOC applies. It’s been used with great success in healthcare, in sales, in distribution and marketing, and in education. While it’s a story for another day, I’d love to tell you about TOC for Education. They have taught more than half a million children how to use the crown jewels of TOC, its Thinking Processes.
But let’s focus on software development. You mentioned slipping schedules. That’s very common in our industry. Looked at through the lens of TOC, it would be fair to characterize the problem as being focused on local optima as against global, or system optima. Let’s spend a few minutes on that, OK? Our discussions help me, Marco, because we have the luxury of time to just kick things around.”
Marco nodded, his expression a mixture of curiosity and concentration. He took a moment to process Sam’s words before responding.
“I appreciate you taking the time to explain this, Sam. It’s always valuable to get your perspective,” Marco said, gratitude evident in his voice. “The idea of focusing on system optima rather than local optima is intriguing. I can see how that might apply to our situation at MedTech.”
He paused, considering his next words carefully. “We’ve been trying to optimize individual parts of our development process - coding efficiency, testing procedures, even our sprint planning. But maybe we’re missing the bigger picture?”
Marco’s brow furrowed as he continued, “Could you give me an example of how this might look in software development? I’m trying to envision how we might be inadvertently prioritizing local optima over the system as a whole.”
Sam took a gulp of coffee before he started speaking.
“Let’s take a stab at it, shall we?
First, let’s consider your group at MedTech. I know a bit about MedTech and so I know it’s organized as a relatively typical company made up of various departments, groups and tribes. The thinking of the management at all levels, and even of the people in your group, is essentially ‘To get the best result, we should strive to optimize everything.’
TOC would tell you that this is wrong, or at least, a viewpoint that is practically guaranteed to be misunderstood.
Eli once described TOC in one word: Focus. Can you see how trying to optimize everything works against being focused?”
Marco’s eyes widened slightly as he considered Sam’s words. He took a moment to gather his thoughts, running a hand through his hair.
“I think I’m starting to see what you mean,” Marco said slowly. “When we try to optimize everything, we’re spreading our efforts thin. We’re not really focusing on what matters most.”
He paused, then continued with growing enthusiasm, “It’s like we’re trying to juggle too many balls at once, thinking that if we just get better at juggling, we’ll solve all our problems. But maybe we should be asking which balls are the most important to keep in the air.”
Marco leaned forward, his coffee momentarily forgotten. “So, if I’m understanding correctly, TOC would suggest that instead of trying to make every part of our process better simultaneously, we should identify the most critical parts of it and focus our efforts there?”
He furrowed his brow, thinking out loud. “That makes sense in theory, but I can already imagine the pushback I’d get if I suggested we stop trying to improve certain areas. How do you determine what the real constraint is in a complex system like software development?”
Sam thought a bit before responding.
“That is very well put, Marco. In what you just said, you touched on very deep problems and very concrete ones as well. Both are important, yet we won’t have time to discuss them all today.
Let’s start with this perspective. When you ask ‘How can I improve the performance of my group?’ you are focusing on local optima, because your group is a part of a larger system, MedTech.
One of the struggles you will have is that in order to do what is best for MedTech, you’ll have to do things in your group that look silly to people that don’t yet understand the difference between local optima and global or system optima.
Tell me what you think about that, and then we can talk about your group more specifically. I just want to know that you understand what I’m saying.”
Marco leaned back in his chair, his brow furrowed in concentration. He took a deep breath before responding.
“I think I understand what you’re saying, Sam,” he began, his voice thoughtful. “It’s about shifting perspective from just my group to the entire company. And you’re right, that’s not an easy mental shift to make.”
He paused, gathering his thoughts. “So, if I’m following you, optimizing my group alone might not be what’s best for MedTech as a whole. And that could mean making decisions that seem counterintuitive or even inefficient from a narrow viewpoint.”
Marco’s eyes lit up with a hint of realization. “It’s like… if we slow down in one area to prevent overloading another part of the system, it might look like we’re being less efficient locally, but it could improve the overall flow of work through the company.”
Marco leaned forward, his voice lowering slightly. “But you’re right, that would be a hard sell. People are used to measuring their own performance, their own metrics. Asking them to potentially ‘underperform’ for the greater good… that’s going to require a significant cultural shift.”
Marco looked at Sam, a mix of understanding and uncertainty in his expression. “Am I on the right track here? And if so, how do we start identifying what’s truly best for the entire system rather than just our local group?”
Sam smiled as he realized how fortunate he was to have a friend like Marco. Not everyone would pick up on this so quickly. And yet it was equally clear that Marco had no idea how deeply embedded ideas can be in a person and how their true desire to protect the system can wind up limiting its performance.
“Marco, when I was working at Applied Microsystems back in 1992 or 1993, I remember reading one of Eli’s books. In the passage I remember, Eli said that people who come to understand TOC well often leave their current companies because the difference in management implications is so vast.
To be more concrete, once you, Marco, realize the magnitude to which everyone is managing according to local optima, you’ll need some way to deal with the conflicts that will arise. These conflicts as I call them are not fights or harsh words, per se. They are more like recurring disagreements about what would be better in some situation. You’ll need to become a very good salesperson, and I mean that as a compliment to salespeople. The very best ones are nothing like the stereotype of the used car salesperson looking to sell you a clunker at a high price.
Do you know what I’m saying? If you do, we can talk more about improving your group specifically.”
Marco nodded slowly, a mixture of understanding and contemplation on his face. He took a moment to sip his coffee before responding.
“I think I see what you’re getting at, Sam,” he began, his voice thoughtful. “It’s not just about understanding the concept, it’s about navigating the practical challenges of implementing it in a world that’s deeply entrenched in local optimization.”
He leaned back, running a hand through his hair. “So, it’s not enough to just understand TOC myself. I need to be able to communicate it effectively to others, to help them see beyond their immediate metrics and goals. And you’re right, that does sound a lot like good salesmanship - understanding people’s concerns, addressing their objections, and helping them see the bigger picture.”
“Marco, based on what I know of MedTech, the metrics and goals will be completely about local optima – the thinking that optimizing every part of a system improves the system as whole is simply wrong. Yet the whole world is doing it.”
Marco paused, his brow furrowing slightly. “I can already imagine some of the pushback I might get. People are used to measuring their success by their team’s productivity or efficiency. Asking them to potentially slow down or change their processes for the sake of the overall system… that’s going to be a tough sell.”
He looked at Sam, a mix of determination and uncertainty in his eyes. “I guess the first step is to really understand what’s best for MedTech as a whole, rather than just my group. But how do we start identifying that? And once we do, how do we measure success in a way that encourages this system-wide thinking?”
Sam: “You know, that’s really perfect Marco. It’s not enough to understand it yourself, because if only you understand this issue well, it will drive you crazy. Look up the story of Cassandra in Greek mythology sometime if you want to know what you’re getting yourself into.”
Sam smiled at that last part, then continued.
“We could invest a lot of time in this topic, Marco. For right now, let’s just agree that you understand that really improving the performance of your group is likely to win you both some recognition and probably some people that aren’t thrilled about the changes in your group’s performance. That’s not a reason not to do it, I’m just saying, don’t be surprised when it happens. Some of the resistance to improving your group will come from inside your group, too. Let’s chat about that, just briefly, OK?”
Marco nodded, his expression a mix of intrigue and slight apprehension. He leaned forward, resting his elbows on the table.
“Alright, Sam. I’m with you,” he said, his voice low and focused. “I appreciate the heads up about potential resistance. It makes sense that change, even positive change, could ruffle some feathers both inside and outside my group.”
He paused, considering Sam’s words carefully. “I’m curious about the internal resistance you mentioned. Is this because people get comfortable with their current ways of working? Or is there something more specific to TOC that might cause pushback within the team?”
Marco’s eyes were fixed on Sam, eager to understand more about the challenges he might face. “And how do you suggest I approach this? Should I be preparing my team for these changes, or is it better to implement them gradually without much fanfare?”
Sam: “The internal resistance in your group will be the result of people within the group looking at situations through their own lens of local optima - what is best for them. In other words, it may be that a given change would improve the performance of your team but create problems for one or more members of your team.
So let’s say you find yourself in a situation with a team member where they have a problem with some change you and maybe other members of the team want to make. The change, if made, would improve the performance of the group, but the team member concludes that the change would make their life worse in some material way. What do you need in a situation like this, or what would you like to have?”
Marco leaned back in his chair, his brow furrowed in thought. After a moment, he responded carefully.
“In a situation like that, I think what I’d need most is… a way to bridge the gap between the individual’s concerns and the team’s goals,” he said slowly, working through his thoughts. “I’d want to have a clear understanding of how the change benefits the entire group and MedTech as a whole, so I could effectively communicate that.”
He paused, then continued, “But more importantly, I’d need a way to address the team member’s concerns. Maybe that means finding a way to mitigate the negative impact on them, or helping them see how the change might benefit them in the long run, even if it’s challenging in the short term.”
Marco leaned forward again, his voice becoming more animated. “I suppose what I’d really like to have is a framework for these conversations. Something that allows me to acknowledge their concerns, explain the bigger picture, and work together to find a solution that works for everyone. Is that the kind of thing you mean, Sam?”
He looked at Sam expectantly, clearly hoping for guidance on how to handle these potentially difficult conversations.
Sam: “Marco, this is beautiful. You really get it.
Years ago, Eli was giving what he called the GSP - the Goldratt Satellite Program. It was really a big production for Eli and his associates. It was very good and I still go back and watch one of the eight episodes he produced.
In the GSP - Episode Seven, on Managing People, he describes exactly the situation that you and I are discussing. I don’t remember the exact name he gave it, but I call it ‘The Manager’s Dilemma.’ I can explain it to you if you like, but our time today is running short. How about we resume this discussion again soon, maybe while we are on the road to our next hike. I’d like to go out to the military reservation in Yakima and hike some of the trails out there. It’s a good workout!”
Marco’s eyes lit up with enthusiasm, clearly energized by the conversation and the prospect of continuing it.
“That sounds perfect, Sam,” he said, nodding vigorously. “I’d love to hear more about this ‘Manager’s Dilemma’ and how it relates to what we’ve been discussing. A hike in Yakima sounds like a great opportunity to dive deeper into these ideas.”
He glanced at his watch, realizing how much time had passed. “You’re right, our time is almost up for today. But I feel like I’ve already gained so much from this conversation. It’s given me a lot to think about in terms of how I approach optimization and team management at MedTech.”
Marco leaned back, a thoughtful expression on his face. “Before we wrap up, is there one key takeaway or action item you’d recommend I focus on between now and our hike? Something to help me start applying these TOC concepts in my day-to-day work?”
He looked at Sam expectantly, eager for a final piece of wisdom to carry with him.
Sam realized how much he valued Marco. He and Marco had been friends for about eight years and each of them had helped to rescue the other man.
“One piece of advice? OK, let me think.”
Sam stirred his coffee for a bit.
“I would say this, Marco. See if you can scare up a copy of the book ‘The Goal’ by Eli Goldratt and read it. It’s a story about manufacturing and how to radically improve a factory. That might seem to be different from your job of managing knowledge workers, but it’s really not. And more importantly, as you read it, notice all of the friction between people and look for people disagreeing over local optima, etc. You can read the book in a few days, and if it resonates with you, that’s a good sign.
Should we plan our hike for next Saturday morning? You can drive your fancy new truck instead of making me drive as is your habit.”
Marco’s face brightened at Sam’s suggestion and the mention of their upcoming hike.
“‘The Goal’ by Eli Goldratt, got it,” he repeated, committing the title to memory. “I’ll definitely try to find a copy and read it before our hike. It’ll be interesting to see how manufacturing principles can apply to software development. And you’re right, the interpersonal dynamics will probably be just as relevant as the technical aspects.” He chuckled at Sam’s comment about driving. “Alright, alright, I suppose it’s my turn to drive. Next Saturday morning works perfectly for me. I’ll pick you up bright and early, and we can discuss the book on the way to Yakima.” Marco started gathering his things, preparing to leave the restaurant. “Thanks for this, Sam. Not just for the TOC insights, but for always being willing to share your wisdom. It means a lot.” He stood up, a mix of gratitude and anticipation on his face. “I’m looking forward to our hike and continuing this conversation. See you next Saturday!”
About John Sambrook
I love writing embedded software and working with people that want to improve their own practice of software engineering. Through our careful work and how we show up we have a tremendous opportunity to do good in the world.
I hope you enjoy what you find here. Feel free to contact me with any questions or just for a relaxed discussion..
— John Sambrook