A Bad Way to Build Software?: This week Paul Ford and Rich Ziade chat about the problems you’re going to face when you hire multiple companies to build a single piece of software. We discuss the communication, latency and separate agendas that hinder the process of software creation and give advice on how to make it work.
Paul Ford Amazon has like the two pizza, right? Like a team is — you can feed a team with two pizzas.
Rich Ziade I see.
PF Anything bigger —
RZ Which they probably buy on Amazon is my guess.
PF [Chuckling] That’s right, they just get delivered to you through —
RZ Through Prime.
PF Amazon Pizza Drone.
RZ Prime Now Pizza.
PF No, there’s a drone. It comes in —
RZ A pizza drone?
PF It shoots dough and then another drone comes and it — it sprays tomato through a hose, and then the fire drone and comes and burns the pizza [RZ laughs]. It’s like a coal over kind of thing.
RZ Right. If you forget a topping, there’s a topping drone that shows up with like pepperoni slices —
PF Every now and then you lose a team member to the burning napalm [chuckles] that shoots out of the uh pizza cooking drone but it’s cool. It’s a beta.
RZ [Laughing] Lester Holt will tell a tragic story about a drone — a pizza drone that like beheaded a mother and —
PF It’s coming. It’s coming.
RZ It’s — There’s gonna be some terrible story.
PF Pizza drones are gonna kill us all [music plays alone for 15 seconds, ramps down].
PF Hey, Rich.
RZ We’re gonna talk about . . . how messy it gets when humans get together.
PF Well — let’s —
RZ I’m not talking about a cocktail party.
PF No, no [laughs] —
RZ Those are wonderful.
PF That gets real messy too though. What — what I’m thinking about [music fades out]: there’s a lot of different kinds of companies and efforts and disciplines that go into making software. Right? Making product [sure] platforms. So you could have devops which is . . . making things work and making them easy to host in a cloud environment. You could have branding cuz you need a new brand for your new app which is a new company. You could have the things we do which are sort of platform development, product development, and design.
RZ Masonry, plumbing, electrical.
PF Yeah, that’s right. That’s right. No one company builds the house. And if you hire a general contractor they work with tons of subcontractors.
PF So . . . what happens a lot with software is people go that route. They hire a lot of subcontractors and then they themselves become the general contractor.
RZ [Breathes] But often times that’s not what they are.
PF Well —
RZ They just toss ’em all in a box. And . . . hope for the best.
PF Let’s talk about that situation.
RZ So, you’re in a company.
RZ You’re smart, you’re doing pretty well —
PF Oh thank you.
RZ You’re a director of fill-in-the-blank.
PF Oh. This is great. This is —
RZ Goin’ good so far.
PF This — yeah. Things are good.
RZ Management comes to you and says, “Look: the company down the street — ”
PF Mm hmm.
RZ “ — just came out with a mobile app.”
PF Oh boy.
RZ “And . . . it’s really good. And we only have that website. And, frankly, the website’s kinda dated.”
RZ “Fix it.”
RZ “Come back to me with a plan.”
PF Oh, well, I’m in charge of the website so this is a real opportunity for me.
RZ A real opportunity.
PF Oh my god this is gonna be great.
RZ Exactly. So, “How do we get going?” And so you [stutters] serve a — well, probably one of the first things you do is a survey your current talent, right?
PF Mm hmm.
RZ Probably one of the reasons you’re not competing and not running alongside or surprising your competition is that the current talent isn’t really comprised of people who can get you there, right?
PF Well, the — I mean it’s — it’s no fault of theirs. They came in to build —
PF — a website. They work on the catalogue.
RZ If your business is insurance, a farm, or whatever it’s not top of mind, right?
RZ That’s not [stammers] and to be able to look that far ahead is —
PF But down the hall . . . um Wiggly Co. is suddenly [mm hmm] — suddenly they’re talking about like they got 50 million dollars in external funding and they got a new app and all sorts of stuff.
PF So you gotta close that gap. I have to close that gap.
PF As the web guy.
RZ Mm hmm.
PF Suddenly I got to figure out how to compete with Wiggly Co. Or at least I need to come up with a credible understanding of what they’re really doing.
RZ Yeah. Very often it’s not “I — I need to come up with the exact app,” it’s sort of like, “I have to come up with a strategy.” Like, what — what am I gonna do? How am I gonna do it? What — what’s the angle? I don’t wanna just replicate the — so you’re thinking higher altitude first [mm hmm] and then they wanna see that plan. So they give you like two weeks or a month [right] to come back with a plan, right? So you come back —
PF You start searchin’ the web.
RZ [Chuckles] You start searchin’ the web, you start talkin’ to people. You may hire a consulting firm to just give you a strategic plan.
PF Honestly not the worst idea if there’s a real gap there. If you just don’t know where to start.
RZ Right. So you find the firm, you got a nice deck, not only does the deck have a plan [right], it has a few other things [that’s right]: it has timeline.
RZ Like, “I’m gonna get you this in ten months.”
RZ “So I need dollars . . . I need time . . . and I need what it is.” What are you gonna give me? When? And how much is it gonna cost?
PF Alright, so this is progress. I know the three things — the three questions I have to answer. That’s good.
RZ Yeah, and — and management, you know, it’s funny. What — what — a trap that people fall into is they really want management to sympathize with the issues here [mm hmm] and they go in there and they’re like, “Well, if we do that then it’s gonna be this. So we can’t really do — ” And what management does — they don’t wanna see the problem scenarios. What they wanna see is the plan [right]. They wanna see how much it costs, and they want a brief meeting. They wanna — they take pride in the fact that within 30 minutes you tell them the story.
PF It could be good to give them like the — the, “Ok, here’s — here’s the budget option, here’s the mid-range option, and here’s the like we really are — ”
PF The — the tricky thing too is management — half the time management really doesn’t have the stomach to compete. You gotta — you gotta take that into account.
RZ That’s true. Often times, by the way, credit to the middle managers and the people in the — in the mix, they run the management and they’re like, “Dude, we’re gettin’ our lunch eaten here.”
RZ “We gotta get going.” And management is not — just not — they’re just not wired that way cuz they’re thinking about um, you know, the pressure testing machine or whatever, the other part of the world.
PF Yeah. So if you’re gonna compete with the new blood pressure app, that — that Squiggly Co. just released —
RZ People just hold to their necks.
PF That’s right. It’s really, really cool. It’s really good. It’s like a dollar and it’s — it got 60 Minutes like said this was — or like, yeah —
RZ It’s gonna change medicine.
PF CBS Sunday Morning said this thing is awesome. You’re in this position and first of all let’s be really clear: the company down the street spent way more money than you think . . . or they spent incredibly little money. It’s like one or the other.
RZ They dropped a bomb, right?
PF Yeah, they dropped the bomb.
RZ Like either it was three engineers and a designer just killing it or what — whatever.
PF Or they — or they went and hired like a good consultancy and they got everything right, and they, you know, and they had a quiet 12-month plan and they just knocked it out.
RZ They — they took the gamble, man.
PF You’re up against that wall. That’s hard.
RZ It’s real hard.
PF It’s real hard. And the numbers tend to have a lot of zeros in ’em and it hurts everybody because [yeah] that money’s gotta come from somewhere. There’s no magic budget [right]. Here’s a new thing that has to get staffed.
RZ That’s right.
PF Ok so what are the categories that we — what do we need to do? We need to say how much, how long, and what it’s gonna do.
RZ What is it?
PF So. First of all — we’re gonna — I think we’re gonna — we need to compete. And we need to take our core thing that we do and add that into a similar kinda app . . .
RZ Yes. Maybe.
PF Kind of. Maybe. Alright.
RZ Maybe, maybe, maybe, maybe, right?
PF Well that’s what I — that’s the typical thing I would say back to you, like, well we could do, you know, “They do blood pressure, we could do cholesterol.”
RZ Or — or [stammers] yeah or food tracking or whatever.
RZ Like it just — we’re trying to get in the mix, right?
RZ Let’s like — So we come back and we pitch a thing and — and the management’s like, “Hmm, I think my . . . great aunt might use this actually.” [Chuckles]
RZ They start to rationalize it in their own way.
PF What do we actually show them? Do we show them any pictures? Or do we just give them some numbers and a concept?
RZ Well this is a — this is another really great point which is you may want to take a month or two and actually come up with something more tangible to put in front of them [right] so they excited.
PF Get a designer.
RZ A designer. Maybe. You’re not doing spec level like down to the pixel but you’re — you’re really drawing a beautiful, exciting picture. Well often time I use the word “trailer”. “I need a trailer for this.”
PF After a few very dry slides, if you can just be like, “And here’s how — one of the ways it might look.”
RZ Yeah they light up.
PF Boy does that give everybody a sense of like —
PF “Ok this could really happen.” Dangerous though cuz you can over promise really easily when you’re just drawing pictures.
RZ Yes. Without a doubt. Without a doubt. But there is that great moment, Paul, when uh and we see this when we talk to prospects and — and sort of put forward — One of the things we do is we offer this service practically for free.
RZ That’s worth noting.
PF That’s how our sales works.
RZ We just — we’re like, “We’ll come talk to you. It’s fine. It seems like there’s a lot swirling around. We’ll — we’ll ground this for you. And that’s not an engagement. We’ll do that.”
PF That’s how you build the relationship.
RZ That’s right. And then you’ll know at that — there is a moment . . . when they look at you and they pause cuz they processed it all. It’s like they had a nice empanada.
RZ And they look at you and they say, “Well what’s it gonna cost?”
PF Mm hmm.
RZ Like they want — they want the thing.
PF It’s never good too. It’s always [RZ laughs] — cuz it’s more expensive than anything else. It’s not like trucking, it’s not like [no] construction materials, where you’re like, “Oh that’s gonna be this much lumber.”
RZ Yeah. Yeah, yeah, yeah.
PF No one — unless they — they do it has a really clear sense of what it is and what it’s gonna cost.
RZ That’s right. That’s right.
PF And so you have to drop that number into the middle of the room.
RZ And an alarm’s been pulled, right?
PF That’s right.
RZ And you can’t go back to management and say, “Look, I need three years, not ten months, because it’s gonna take awhile to hire the people.” They’re not gonna hear that. You can’t do that. You — between the market for talent and the priorities of HR —
PF There’s a competitive pressure here too.
RZ There’s competitive pressure. And this is why there is a probably, I don’t even know what the size of our industry is, the — the —
RZ Services industry.
PF We are such a weird outlier. We build — we build products in New York City. But I mean you gotta think there are firms, global firms, with large presences with like 200,000 engineers.
PF That’s like — that’s real. There’s many of them.
RZ Yes. And there’s — there’s the design part, there’s the — we’re unusual in that we wrap it all in product. We deliver product.
RZ It’s better — more accurate to say we deliver product than bill for services.
PF That’s right.
RZ But there are tons of — it’s probably in the trillions. I’m being maybe overly —
PF So this is — this is a killer, right? You sit down and you go, like, “Who will build my app?” Into Google.
PF And the results are — it’s like — it’s equivalent to searching for “good hotel Tahoe”.
RZ Yup. It’s, I think, the first of couple of pages will be ads.
PF Oh it’s just gonna be hard.
RZ If you type “Boston consulting” or “Chicago digital consulting apps” —
RZ — in Google, you’re gonna get a wall of ads for different shops.
PF Well and then the reality is very like, we’re a good example, very little of our business comes in just — just walks in through the web . . . It is pure — almost purely word of mouth or people who might hear the podcast or their friend heard the podcast.
RZ Network or —
PF Yeah. It is just that’s how it works because it’s so hard to get over that initial wall of SEO optimized, “We’ll do it!”
RZ Yeah, exactly.
PF “We have the secret sauce!”
RZ Exactly. By the way! This is a good path: deciding that you’re gonna go outside to get the thing designed and built is not a bad path. Many successful products come out of that.
PF But here’s the killer. Here’s the killer: I’m in a hurry . . .ok? “I’m in a hurry. What I should do is break this thing up and I should hire five different companies. I should get the strategy firm . . . I should get someone to do the backend, I should get someone to do the frontend.”
PF “And I need a separate design firm.”
PF “And I’ll sit in the middle and I’ll bring them altogether and I’ll make it all work.”
RZ Yeah, “I’m gonna assemble the super team.”
PF And, “This’ll work and it’ll — I’ll have these relationships and this’ll be good. We’ll be able to get this done.”
RZ And it’ll all come together.
PF “It’ll come together. We’ve got ten months, that’s actually a lot of time cuz each one of these people only needs to work for a couple of months.”
RZ Right and they’ll send emails to each other to coordinate.
PF “We’re gonna parallelize this and then we’ll actually have some breathing room to test it out, make it work. Oh so I should hire a Q-A vendor, too.” . . .
RZ So, lemme give my view my view on what you just drew out: it is —
PF It’s utterly sensible.
RZ It is . . . one of the dumbest things you can do.
PF Yeah, but I’m gonna be able to get all of them working for three months at once and then I’m gonna have like literally seven months to put all the pieces together.
RZ Right. I — I’ve seen efforts, and I’ve — I’ve sort of mapped out efforts that require tens of people [right] in the past. And —
PF But if people don’t know like . . . efficient . . . well run engineering teams, tens of people is quite a bit. Sometimes there’s a real like, you’ll hear about hundred plus person efforts. That’s a bad sign. And this is one of the rea — Amazon has like the two pizza rule, right? Like a team is — you can feed a team with two pizzas. We probably shouldn’t talk about Jeff Bezos just because I — he’s probably listening.
RZ He’s not only listening, he’s transcribing, and —
PF He listens to this at four times regular speed [RZ laughs]. He thinks we’re chipmunks.
RZ We also think Amazon’s incredibly impressive.
PF Great company.
RZ [Music fades in] Just about everything we build is on Amazon!
PF No, it’s great.
RZ So [chuckles] kudos to Amazon [music ramps up and plays alone for eight seconds, fades out].
PF You know, normally around this time we interrupt for a little ad for Postlight but really we’re talking about the kind of work that we do through the whole podcast.
PF So we just tell people —
RZ It’s all one big pat on the back, isn’t it?
PF Rather than make you listen to more of us talking about how we build platforms, let’s get back to us talking about platforms. But if you need us: email@example.com is the way to reach out [music fades in, plays alone for seven seconds].
RZ So I wanna use an analogy, Paul [music fades out].
RZ [Inhales sharply] When you build something that has different parts, different components.
RZ Right? One of the things you worry about is how those po — components work together.
RZ Right? So you start to think about the interfaces between those components and a lot of time it’s through a classic API, sometimes it’s something a little lower level, but the way those components communicate with one another is a big deal, right? Because A) they need to understand the language, that could mess things up; uh latency is another issue. So are they in sync and timely as needed for whatever you’re building, right?
RZ A lot of thinking has to go into larger, more — more complex architectures, around how these components are gonna talk to each other.
PF “Wait a minute, you capitalist monster! What have you been telling me for the last 15 years about APIs and products and things can all connect together and, ‘It’s all gonna fit together like a big lego box,’ and, ‘That’s how the web really works’. That’s what you’ve been selling me!”
RZ No, no, that’s true. I’m not — I’m not conflic —
PF “Well, what’s all this about interfaces and things having to fit together?”
RZ Well, when you put out a particular sort of . . . not agreed upon contract and some other service decides to agree to it you have to kind of stick to it, right?
PF Mm hmm.
RZ Like I can’t go ask Google Maps, “Do me a favor: can you please show me just the stuff with red roofs?”
RZ Right? I can’t just do that [no]. Like Google Maps has decided there are 86 things they’re willing to spit out and that’s what I can ask for, and I have to ask for them in a certain way.
PF Mm hmm.
RZ Right? So that sort of contract metaphor is what — how a lot of the world works. Software’s kind of really established itself beautifully and you can give the web a lot of credit for that in terms of how these things work together.
PF What the web really did, just to change the tone for a sec, is make it possible to ask for things without permission.
PF Made it really easy to be like [yes], “Hey, can I [you can play] get that?” And I’m not — I’m not gonna tell you much about myself.
RZ That’s right. So . . . take that analogy forward and apply to people. There is nothing that will bring more friction . . . and more latency, and more disagreement, and more violation of this “contract,” in quotes, than human beings that are — that view themselves as orbit — orbiting around separate entities but have to somehow come together to build a thing. The single biggest risk to . . . designing and building is . . . the dependencies, and the reliance, and the agendas of different people . . . different groups of people [yeah]. They come together as groups and then they have to deal with each other [mm hmm]. And when you bring five vendors, right? I’m — I’m gonna share a phone call that I had with someone. It was — it was a . . . an effort that we were on where there were like five other vendors [mm hmm], right? And somebody really high up called me and asked my perspective. He’s like, “Rich, uh I’m calling everybody about their perspective.” So I start sharing my thoughts, and you know what he said to me?
PF Mm hmm?
RZ He said, “With all due respect, Rich, everybody I’m speaking to tells me how bad everyone else is.”
PF I mean: fair. Right?
RZ Fair, right? Well, first off: instinctively I’m gonna defend my shop.
RZ Number one. But the truth is it’s just really hard. You’re taking five or six entities that have their own agendas, throwing them in a — in a box and saying, “Please build software for me.” The ask there is so, so dangerous because of how humans work, how humans communicate. Um we don’t — I don’t see you in the morning, Paul, and say, “Listen, we’re gonna use API V2.3 to talk to each other today.”
PF No, I say, “Hey! You’re dressed up! Where are you going today?”
RZ Right. And I say, “Important client.”
PF This is the thing: the overall software experience is kind of a unified thing, right? And it comes from a unified team . . . So . . . you put those different vendors in the room, and . . . really then what you’ve done is you’ve incurred a month or more of teaching them to communicate with each other.
RZ Mm hmm.
PF And they’re all gonna have different processes that they use to get stuff done [mm hmm]. You can do it! I’ve seen it done! I’ve seen it done. I’ve seen large projects with four or five different vendors because they really needed to accelerate in very specific ways, done by experienced people, where they’re saved a couple months [mm hmm] but it’s a bad way to get started.
RZ Very bad. You will get there. If you have — if you have the — the will and the perseverance, you’ll get there. It’s incredibly inefficient.
PF It works better for something that’s truly encapsulated like the hosting and development environment on one side, the pure frontend on the other that is — and the guarantee is that they never have to talk to the API team. They only use documentation.
RZ Yeah. And you just nailed it right there. The guarantee is that certain humans don’t have to talk to other humans.
PF That’s right.
PF That’s right. And so they’re gonna use their culture, their process, they might check in once a week [yup], once every two weeks. You know the critical thing here actually? The number — it’s a very simple razor that you can apply: can they start tomorrow? Could they start working meaningfully tomorrow?
PF 90 percent of the time that is not true. 90 percent of the time it’s like, “Well, we need to wait for the API to come online and then those guys are gonna — they’re gonna get their stuff set up. We don’t have a hosting — we don’t have a cloud chosen yet — ” [Yup] But if you could say — if you say to us as a vendor, “I want you just to do these three things, other people are gonna be doing this stuff. Here’s the docs. Whenever you can get started, get started. We’re ready.”
RZ Mm hmm.
PF And we look at it and we go like, “Ok, fine. [Right] There’s real data.” Then this’ll work.
PF We’ll get you there faster.
RZ It’s rarely the case.
PF It’s never there.
RZ Never ever.
PF It’s never there and so that’s like — this is the — this is the situation where if you — if you find yourself in a position where you can accelerate things because you have working, functional API and you wanna build something on it with no changes.
RZ Mm hmm. Yeah.
PF Then you can find ways to parallelize it.
RZ That’s right.
PF Otherwise you need a team. That functions as a team.
RZ Let’s sum it up, right? If you — if you have to — you have this mandate and you have ten months and you got money . . . team . . . Vendor Salad . . . is —
PF I call it Vendor Madness.
RZ I like Vendor Salad. It’s a little colorful. Spring is here.
PF But I think it’s more like a condition. Like, “Oh my god! I need another vendor!”
RZ Yeah. So I wanna — I wanna talk about one more concept —
PF Mm hmm.
RZ — that can arise out of this. Uh I’m gonna call it the Alpha Vendor.
RZ Ok? Very often when these efforts come together they’re — they’re quite democratic, right?
PF Oh yeah. We’re all gonna work together.
RZ We’re all gonna work together.
RZ And even the — the clients.
PF Use Slack.
RZ [Chuckles] We’re gonna use Slack. The client is even kind of stepped back.
PF That’s right.
RZ And said, “Look, guys, make it happen!”
PF They’re like, “I’m the mailbox. Just send me stuff. If there’s any issues, I’ll help you resolve ‘em.”
RZ “Give me an update. Tell me when the colors start to show up.”
RZ Stuff like that. But it’s a mess. And it’s clearly a mess and you actually see the anxiety in the client’s eyes.
PF Yeah yeah yeah.
RZ Right? So, every so often one of the vendors steps forward and says, “I’m gonna sit next to you.”
PF Yeah, “Lemme — lemme get this done for you.”
RZ “Lemme get this done for you. And lemme take care of all these other little guys.”
PF “Who are all idiots.”
RZ “Who are all idiots.”
PF Everybody starts to think everyone else is a nonfunctional idiot who has no desire to actually do any work.
RZ Without a doubt.
PF That’s a bad one, too.
RZ I’ve seen this movie enough times.
PF What you’re doing is creating a pathological work environment, even if these places have great work environments [chuckles] themselves.
RZ That’s right.
RZ That’s right. So you end up with this . . . situation where . . . a vendor is all of a sudden thinking about how to get buy in from another vendor.
RZ It’s ridiculous.
PF Well it’s like kids [awkward] getting jealous of other kids. Like, then you’re like, “Well how much time is he getting with mom and dad?”
PF These — my kids argue who gets to play Mario Kart.
RZ That’s right.
PF “He had an extra minute of Mario Kart.”
RZ Oh no that’s a catastrophe, right? You could see how much dissonance that’s gonna create and the other [stammers] here’s the thing: software’s trying to get built here.
RZ And the amount of —
PF Well the problem people are building software and often people are — different groups are building different software that meets their needs.
PF Without it necessarily anymore meeting the client’s needs.
RZ Right. Exactly.
PF So the alpha’s in there.
RZ The alpha’s in there. The other vendors are trying to get their bearings now all of a sudden.
RZ Um because —
PF A lot of emails are going out about how it’s gonna go, when the stand ups are gonna be.
RZ Yeah. That’s right. That’s right.
PF This is often like four or five months in and they’re starting to really feel the drum beat. Or it’s like eight months in and they know they’re gonna slip.
PF That’s when Alpha Vendor really steps up [laughter].
RZ And fix — “I’m gonna save you from all this.”
RZ And, by the way . . . Alpha Vendor i — Alpha Vendor sometimes is necessary.
RZ Because sometimes there’s a void inside the client. They’re just not there.
PF There are only the best intentions [RZ laughs] that could — in this situation can occur.
RZ Right. Exactly.
PF This is not — this does not require — none of this — this is the brutal part about software development, probably the thing I’ve learned most . . . in the last couple years is that . . . it doesn’t require any ill will for things to go terribly wrong.
RZ Oh! For sure.
PF Everyone can be an absolutely good actor, totally dedicated to their craft and discipline —
RZ Off the rails.
PF Um which is why this firm — it’s why we use the word “product” over and over like parrots. Because like [in parrot voice], “Product!” I mean you gotta — you gotta think about the overall thing [mm hmm] and then whatever anybody else is talking about is great . . . unless it doesn’t have anything to do with actually getting the software across the line. Then you gotta say like, “That’s — save that conversation.”
RZ Yup. That’s right.
PF So the alpha’s in there, how does that resolve?
RZ First off, you wanna insulate . . . your — yourself uh from being caught in this like . . . essentially meatgrinder of disaster, right? “What did you bring us in for? Uh we obviously aren’t doing the whole thing because you have five other groups here. Five other vendors here, so we’re not the only ones. What do you need us to do?” Right? And then you have to set it up and structure it such that uh not only are we insulated from the disaster, and we can actually deliver a thing that can stand on its own, that’s a true contribution, that is . . . minimally dependent on others as possible but will also — also cause another thing to happen: it will shed light on . . . what a terrible mistake it was to mangle all this together, in essence. It puts — if you are able to deliver . . . independently it puts enormous pressure over time on the other actors [yeah] because . . . then . . . everybody will turn all the attention. You know you’re having shorter calls because you’re — you’re stuff’s there. It’s sitting on the shelf. And they start to focus elsewhere. And this happens a lot too: they will call us and say, “Would you mind stepping over the line here and coming to this other box?”
PF What really throws — so there’s a very natural reaction when the integration cost between multiple teams goes way, way up and that natural reaction is to go, “Screw it, man. Nobody else is gettin’ their stuff done. I’m not gonna kill myself for this. So if gets done, it gets done but they’re creating a disaster. I don’t even care.”
PF Or you can go . . . and this is — this is our ethos: “We’d say we’d do it . . . We’re gonna do it. And we’re gonna have to show to them in Slack tomorrow and then when they have some freakout about something that doesn’t have anything to do with us, we’re gonna go, ‘I’m sorry, that’s not really what we’re about. We delivered our deliverables on the dates agreed and, you know, we’re here to help but like this is — we’re getting our stuff done,’” and leave it there. Just leave it there.
PF But what happens I think mostly is people start to get this learned helplessness, they’re like, “Oh my god, it’s such a mess!”
PF And if you do that, you are part of the problem. There is no way out and you’re not helping solve it.
RZ No, and no finger pointing! No like, “Ugh, you know? Here’s our stuff. It’s here. Those people are garbage over there.”
PF Yeah. You leave it alone.
RZ Obviously. You leave it alone. People walk into it.
PF Very often they’re not. You know? Like sometimes there are bad vendors in the mix but very often they’re trying just as hard as you are but that integration cost is really high.
RZ And the communication and the coordination costs.
RZ And when we say “costs” what we’re — we’re not just talking about — we’re not talking about money.
RZ Actually. What we’re talking about is the extra four and a half hours it took to get everybody in the same room to have a scrum meeting.
PF Time and emotional energy that is not used building the product but is rather used for communication [that’s it] that doesn’t have a clear output.
RZ That’s it. That’s it.
PF If — if John and Sally won’t talk to each other [mm hmm] you have to solve that problem.
RZ Mm hmm.
PF But if John and Sally can go away and do their work and then meet up in two hours and — and see if the pieces fit together, you shouldn’t — you should just let ’em do it.
RZ Yup. That’s . . .
PF So look I mean clearly obviously one solution here is . . . to only hire one firm.
RZ Hard. Often times.
PF Very hard. And — and like can be very expensive, and very often you can’t find the firm that can do everything . . .
RZ Often times.
PF We try to be an all — one size fits all shop but that — we don’t match up with every client.
PF What I would say is if you end up in a situation where you find a vendor that you really like, and you can’t find an all-in-one, probably what you wanna do next is look — ask that vendor to recommend a partner that they’ve worked with before.
PF And — and sort of collaborate with them to build the team. Don’t just drop a team in a room and assume that they’ll all be able to communicate. Look for existing communication patterns, people who’ve known each other, and worked with each other before, if somebody quit here and went over there. Capitalize on all of that. If you need to build a virtual outsourced team and you can’t get like a one size fits all solution, then you need to find a community . . . and hire that.
PF Don’t just hire shops.
PF And that’s harder. That’s three more weeks of work to get [yeah] that lined up. It will be the difference between you shipping or not.
RZ I mean the structure of this sort of super team . . . is hugely important.
RZ I mean sometimes you need a super team.
RZ Like we — there are certain things we don’t do, like branding.
PF Branding. We also don’t do, you know, machine learning interfaces —
RZ Yeah or highly specialized, video — audio-video pipelining.
PF That’s right.
RZ All that stuff. There’s a lot of stuff we don’t do. And we’ll need partners for that but the rigor that we put around clearly insulating, and clearly establishing what those interfaces are, into — in and out of what we build is hugely important. And so take a minute and think about how those pieces are gonna fit together and just the — the awful, awful tax of communication and coordination.
PF And, you know, it —
RZ We just saved people, by the way . . . 40 to 50 billion dollars around the world.
PF It is true. If people would take this seriously and think about it they could save themselves and just [chuckles] so much emotional pain for [yeah] so many people.
RZ Some — well —
PF We push back really hard about this model and when we do end up in a situation — there are lots of situations where you do need multiple vendors, we actually have a — a pretty good protocol for — we assume . . . that . . . a lot of the first month will just be communication tasks, and getting to know and understand each other. We’re pretty assertive about getting lines of communication opened up and setting expectations, then you can usually kinda go from there.
PF But you gotta be practiced at it [yeah]. There’s a certain — there’s a skill and craft to interacting with other vendors on a client’s project as well.
RZ Mm hmm.
PF So it’s, you know, it’s — it’s a big, messy world out there. We do all this stuff a lot.
PF We own things, we work with other vendors, but Vendor Madness is very dangerous.
PF It might be unavoidable. You might come down with Vendor Madness because you have to ship something for ten months so you can compete with the people down the street . . . but . . . think about it.
RZ By the way —
PF Look in the mirror and say, “I’ve got Vendor Madness.”
RZ By the way, this could’ve — could be construed as one long ad for Postlight.
PF It is!
RZ But there’s a lot of good advice here for other vendors as well, in terms of how to protect yourself and — and the like. We threw down some wisdom.
PF We kinda — I mean this is the hard part.
RZ This is the shitty —
PF Yeah. And I mean —
RZ — grimy part.
PF I know it’s real and everyone who works here has experienced it, and, you know what? I’m — I think there’s times when you’re part of the problem and you need to own it [yeah] and you’re — you’re being too aggressive with the other vendors, there’s times when —
RZ This is hard!
PF Yeah. This part is really tricky and there’s lots of failure states, and you’re — everyone’s trying to do their best and uh kaboom [chuckles]!
RZ Sometimes when it’s a mess you know like the number one path to take is to dehumanize it and that’s terrible to say —
PF Oh yeah but you’re just —
RZ — but you’re really looking at it in terms of pieces on a board.
PF Ugh. Ugh.
PF Yeah. That’s real. That’s 100 percent real.
RZ You bring your humanity and [music fades in] empathy into software development, you’re screwed.
PF That’s true. That’s one of the biggest things I’ve learned.
RZ [Laughs] That’s a joke!
PF Yeah, no, no.
RZ This has been an incredibly useful and insightful podcast.
PF Yeah, really. It’s been great.
PF Look: this is Postlight. If you wanna talk to us, you can uh get in touch at firstname.lastname@example.org. Rich and I see every one of those emails. Someone sent us a poem.
PF It was good.
RZ Oh it was a really good poem! Maybe we’ll read it one day.
PF Yeah, we could.
RZ Thank you for listening. Have a lovely week.
PF Bye! [Music ramps up, plays alone for four seconds, fades out to end.]