Latest / DevQuestions with Tim Corey / 264. How To Work With Non-Technical Stakeholders
Transcript
- 0:00SPEAKER_00: As developers, we are going to work and interact with non-technical people a lot.
- 0:05SPEAKER_00: In fact, it is rather common for your boss or your boss's boss to be a non-technical manager.
- 0:11SPEAKER_00: But beyond that, you'll also work with project stakeholders who are non-technical as well.
- 0:17SPEAKER_00: Knowing how to interact well with these individuals will make a major difference in whether you succeed as a developer.
- 0:24SPEAKER_00: So let's talk about the eight steps to great communication with non-technical people in today's episode of Dev Questions.
- 0:39SPEAKER_01: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:43SPEAKER_00: Software development is more than just writing code.
- 0:46SPEAKER_00: So let's talk about the rest of it.
- 0:48SPEAKER_00: Specifically, let's talk about working with non-technical people.
- 0:53SPEAKER_00: Now, as I see it, there are two major categories of non-technical people that you'll interact with at your job.
- 0:59SPEAKER_00: These two categories overlap quite a bit, but not entirely.
- 1:04SPEAKER_00: We'll kind of differentiate a little bit when we talk about eight different things.
- 1:08SPEAKER_00: But the first category is management.
- 1:11SPEAKER_00: These are people above you that are responsible for leading you.
- 1:15SPEAKER_00: The second group are the project stakeholders.
- 1:19SPEAKER_00: Whether they're the people that requested the work or the subject matter experts that guide you in how to build that product or feature, these people are often non-technical.
- 1:29SPEAKER_00: There are other groups of non-technical people you'll interact with, but these are the major ones.
- 1:36SPEAKER_00: So the honorable mentions would go to people like the HR department who will be instrumental in getting you hired and working with you.
- 1:44SPEAKER_00: And then also the people you interact with in the break room or at the company parties.
- 1:50SPEAKER_00: One major one of those is probably the CEO.
- 1:53SPEAKER_00: If you are bumping to him or her, then you're going to probably have a conversation where you've got to figure out how to interact with who is probably a non-technical person about what you do for them at their company.
- 2:07SPEAKER_00: So those are honorable mentions, but let's focus in on the two major groups since they'll directly impact your everyday job.
- 2:15SPEAKER_00: Now, these will carry over into those honorable mention categories as well.
- 2:20SPEAKER_00: So, number one, have the right goal when you're talking to this person.
- 2:26SPEAKER_00: Now, you can often deceive yourself about your goal, but I have seen this a lot.
- 2:34SPEAKER_00: If your goal is to sound smart, and again, you have to be honest here.
- 2:41SPEAKER_00: If your goal is to sound smart, then you're not going to communicate well.
- 2:46SPEAKER_00: If you want to come across as a puffed up person, if you want to kind of strut your stuff, well, then you're going to have a hard time communicating with a non-technical person.
- 2:56SPEAKER_00: You're going to start, you'll watch people do this.
- 2:58SPEAKER_00: You're going to see people throw in, you know, a lot of technical terms and they talk down to people and they kind of like beat people up because of how they talk.
- 3:08SPEAKER_00: Well, that's not the right goal for your conversation.
- 3:11SPEAKER_00: If your conversation is to show off what you can do, even that's not working real well because of the fact that people don't actually understand.
- 3:19SPEAKER_00: They just go, oh, it's some mystery thing they do.
- 3:21SPEAKER_00: There's just magic.
- 3:23SPEAKER_00: That's not valuable communication.
- 3:25SPEAKER_00: So have the right goal when you talk to somebody.
- 3:29SPEAKER_00: Your goal should probably be clear communication, clear understanding.
- 3:34SPEAKER_00: Because if you have that goal, it changes what you say, it changes how you say it, it changes what words you use to communicate.
- 3:44SPEAKER_00: So having the right goal.
- 3:45SPEAKER_00: So when you start talking to a non-technical person, think about what is my goal in this conversation?
- 3:52SPEAKER_00: What am I trying to accomplish?
- 3:54SPEAKER_00: Because if you don't know what you're trying to accomplish, you're going to bounce all over.
- 3:58SPEAKER_00: And if you are honest about what you're trying to accomplish and it's not in line with what they want out of the conversation, it's not going to go well either.
- 4:08SPEAKER_00: So having the right goal in mind is really important.
- 4:12SPEAKER_00: Number two, simplify your speech.
- 4:17SPEAKER_00: Now, this might include shortening your words, it might include dropping jargon, it might say, you know, be no acronyms.
- 4:25SPEAKER_00: Trying to simplify your speech because that person isn't necessarily in the know about the things that you know.
- 4:35SPEAKER_00: So let's take an example here.
- 4:37SPEAKER_00: If you come up to a product stakeholder who has asked for a feature to be added to the product, they need this feature for the sales department.
- 4:47SPEAKER_00: And you come to them and you're trying to explain something to them, and you say, your issue is going to be nine story points, so I'm not sure we'll get the PR done in a sprint.
- 4:58SPEAKER_00: What if you communicated to them?
- 5:00SPEAKER_00: Well, nothing because they didn't understand any of that.
- 5:04SPEAKER_00: They don't understand what sprints are, story points are, or PRs are, or what you were trying to communicate.
- 5:12SPEAKER_00: And so you didn't accomplish your goal because your goal was a clear understanding.
- 5:20SPEAKER_00: Well, then you failed.
- 5:23SPEAKER_00: So let's do that again and say, your job's a big one.
- 5:28SPEAKER_00: So we probably aren't going to have time to get it done before we launch the next set of changes next Friday.
- 5:34SPEAKER_00: But we'll try to get in and get it in after that.
- 5:38SPEAKER_00: So you communicate the exact same information.
- 5:41SPEAKER_00: It's just you left out all the jargon.
- 5:44SPEAKER_00: Okay.
- 5:45SPEAKER_00: So you've set you told them what they need to know, which is their job is a big one.
- 5:50SPEAKER_00: So you've already set expectations.
- 5:52SPEAKER_00: The expectations are around, hey, it's not just a quick fix.
- 5:57SPEAKER_00: It's not just a, oh, just get this done.
- 5:59SPEAKER_00: It's going to take some time.
- 6:02SPEAKER_00: Then you set up expectations about how you probably won't be able to get done before next Friday because of the fact it's a big job.
- 6:13SPEAKER_00: So you're saying, okay, big job.
- 6:15SPEAKER_00: We don't have a time on the schedule yet, but we're going to do that afterwards.
- 6:20SPEAKER_00: So that's what you're trying to communicate to them and in a way that they understand because it's everyday language that you're using.
- 6:28SPEAKER_00: And you're leaving out all the jargon.
- 6:31SPEAKER_00: You're leaving out all the acronyms.
- 6:33SPEAKER_00: You're leaving out all of the specific things that they don't care about.
- 6:38SPEAKER_00: They don't care about whether you use Scrum or Agile.
- 6:41SPEAKER_00: They don't care about if you're using Waterfall.
- 6:43SPEAKER_00: They don't care if you're using C sharp or Java.
- 6:46SPEAKER_00: What they want is outcomes.
- 6:48SPEAKER_00: And so you're communicating about the outcomes they're going to get, when they're going to get it, and why.
- 6:53SPEAKER_00: Okay, so that's number two.
- 6:55SPEAKER_00: Number three is to understand their actual goals.
- 7:00SPEAKER_00: Now, this is slightly different from managers versus stakeholders.
- 7:03SPEAKER_00: So for a manager, what's their actual goal?
- 7:06SPEAKER_00: Let's just say you have a non-technical manager who is asking you to do a task, and they're saying, I want you to build out this database.
- 7:17SPEAKER_00: Okay, great.
- 7:18SPEAKER_00: That's the job you want me to do.
- 7:20SPEAKER_00: Why?
- 7:21SPEAKER_00: What's the actual goal you're trying to accomplish?
- 7:24SPEAKER_00: And maybe their actual goal is to take a CSV file and put it into the new system.
- 7:30SPEAKER_00: Well, you don't need a database for that.
- 7:32SPEAKER_00: But if you just do what they ask, then you're gonna create some confusion, you're gonna do extra work, and you're not actually going to accomplish what they really wanted.
- 7:43SPEAKER_00: They didn't communicate it well, but your job is to figure out what they actually want, what their actual goal is.
- 7:50SPEAKER_00: And you say, okay, why am I creating this database?
- 7:53SPEAKER_00: What how can I make sure I accomplish what you want me to?
- 7:58SPEAKER_00: And so they explain that to you.
- 7:59SPEAKER_00: You go, oh, okay, so you have this file, and your expectation is that putting it into a database will allow us to then connect it to our application.
- 8:11SPEAKER_00: Okay, so I can skip a step in this process and take the data and just convert it right into our application.
- 8:18SPEAKER_00: That will save us some time.
- 8:20SPEAKER_00: Would that be helpful?
- 8:21SPEAKER_00: So, what you're doing is again going back to clear communication, but then also you're understanding the actual goal and from that creating actual outcomes that are most beneficial.
- 8:34SPEAKER_00: Okay.
- 8:35SPEAKER_00: For stakeholders, it's similar where what you're trying to do is understand what you're actually trying to accomplish.
- 8:42SPEAKER_00: So when you're talking to them, they say, well, I want a screen that does this.
- 8:48SPEAKER_00: Why?
- 8:49SPEAKER_00: Not be careful how you say why, because you don't want to come across as you probably don't want that.
- 8:56SPEAKER_00: Let me accuse you of not wanting that.
- 8:58SPEAKER_00: No, you want to understand.
- 9:00SPEAKER_00: Say, I'm trying to understand the actual goals and the process.
- 9:03SPEAKER_00: Can you walk me through this?
- 9:05SPEAKER_00: Can you help me understand how this will be beneficial?
- 9:09SPEAKER_00: By doing so, you're going to reveal things that they missed, things that they didn't understand, or assumptions on their part, or even just the fact that they're trying to come up with a solution instead of explaining their problem.
- 9:23SPEAKER_00: It's a very common thing with people who are especially non-technical talking to a technical person the other way.
- 9:31SPEAKER_00: They're trying to explain a solution instead of explaining their problem.
- 9:38SPEAKER_00: Work with them to understand their actual goals by getting to their actual problem and then work together on that solution.
- 9:46SPEAKER_00: That's number three.
- 9:47SPEAKER_00: Number four is over-communicate.
- 9:52SPEAKER_00: Over-communicate.
- 9:53SPEAKER_00: You almost can't communicate enough.
- 9:56SPEAKER_00: One of the things I love to do that kind of blows people's mind, I think it's it's sometimes they are like, do we need to do this?
- 10:02SPEAKER_00: And I say, yes, absolutely, is use pictures.
- 10:06SPEAKER_00: I love to draw a notepad or on the whiteboard, really rough.
- 10:11SPEAKER_00: I am not a good artist by any stretch of the means.
- 10:14SPEAKER_00: But by drawing things out, drawing out a form, drawing out a dashboard, drawing out the new widget or thing they want, and then making them go through that on paper, I get them to reveal things that they have missed or things they have assumed.
- 10:33SPEAKER_00: So when they say, okay, I want a form, it does this, and that's it.
- 10:38SPEAKER_00: Okay, so I draw the form out and I hit submit.
- 10:41SPEAKER_00: I say, okay, when you hit this submit button here, what do you expect to see next?
- 10:48SPEAKER_00: That and that question right there will reveal that, oh, I wanted to see a list of all those submissions.
- 10:54SPEAKER_00: Well, we didn't talk about that, right?
- 10:56SPEAKER_00: So now, okay, let's draw out what you're expecting to see, a list of submissions.
- 11:01SPEAKER_00: And do you want to filter that?
- 11:02SPEAKER_00: Well, yeah, that'd be great.
- 11:03SPEAKER_00: Okay, so let's figure out what you want on that page too.
- 11:07SPEAKER_00: Now you may start saying, okay, this is too much work.
- 11:10SPEAKER_00: Let's let's not have filter and sort and all the rest.
- 11:12SPEAKER_00: Let's have a list, let's start there.
- 11:15SPEAKER_00: But by overcommunicating using pictures, you start to get to see what they're actually wanting.
- 11:22SPEAKER_00: And then you put things in writing.
- 11:25SPEAKER_00: Put everything they ask for in writing over and over and over.
- 11:30SPEAKER_00: And then also talk about the impacts of those things.
- 11:34SPEAKER_00: So again, overcommunicate.
- 11:36SPEAKER_00: So when you say, you know, at lunch we had this conversation about how the product is coming, and you said you wanted to add this one field.
- 11:45SPEAKER_00: So, based upon your feedback, we're going to add this one field.
- 11:49SPEAKER_00: That will add three days to the process that will require us to change these forms, that will require us to make these other changes that impact you.
- 12:01SPEAKER_00: They don't need to know about the database and the schemas and the SQL queries and all the rest they're going to change.
- 12:07SPEAKER_00: They need to know about the things that impact them, the time, the UI, or whatever they're going to interact with, how that's going to change, and any other impacts that are going to affect them.
- 12:21SPEAKER_00: Costs, those kind of things.
- 12:22SPEAKER_00: Okay.
- 12:23SPEAKER_00: Overcommunicate.
- 12:24SPEAKER_00: By doing that, they can kind of push back and go, oh, no, I didn't want that.
- 12:29SPEAKER_00: Or they'll say, Yep, great, thanks.
- 12:31SPEAKER_00: And then six months later, when you are wrapping things up and they say, Well, I didn't want that, or why is this taking so long?
- 12:38SPEAKER_00: You have documentation now to walk them through.
- 12:42SPEAKER_00: That way, you're covering yourself and saying, This is what I communicated.
- 12:47SPEAKER_00: This is what we talked about.
- 12:49SPEAKER_00: This is what you signed off on, and this is the result.
- 12:52SPEAKER_00: But again, overcommunication with pictures and other things will help make sure that what's in their head is what's in your head and what gets done.
- 13:01SPEAKER_00: Okay, that's number four.
- 13:03SPEAKER_00: Number five is related to that, and that's eliminate assumptions.
- 13:08SPEAKER_00: So back to that paper example, when you walk through a quick sketch-drawn UI of your system, and you walk through this is what's going to happen.
- 13:19SPEAKER_00: You push this button, flip, flip, flip, this page is what you'll see.
- 13:23SPEAKER_00: And when you fill this out, flip, flip, flip, that's what you'll see.
- 13:27SPEAKER_00: When they walk through that process and they go, but where do we get this?
- 13:32SPEAKER_00: That's where you start filling in those gaps, eliminate assumptions.
- 13:37SPEAKER_00: Users are not developers.
- 13:39SPEAKER_00: When I taught C Sharp in the classroom, one of the first things I always did was asked the students to give me the steps to write on the whiteboard.
- 13:49SPEAKER_00: And the first student would usually say something like, I get up and I write on the whiteboard.
- 13:54SPEAKER_00: Okay, that's two steps.
- 13:55SPEAKER_00: You're missing quite a few steps.
- 13:57SPEAKER_00: And if you were a developer trying to automate a robot to do those tasks, well, the robot just failed because the robot didn't have the ability to do those things because it wasn't, didn't get out of their chair.
- 14:11SPEAKER_00: They didn't push the chair back so it couldn't stand up.
- 14:13SPEAKER_00: It didn't, you know, turn to walk away from a desk.
- 14:16SPEAKER_00: It didn't pick up a writing utensil.
- 14:19SPEAKER_00: It didn't walk to the board.
- 14:21SPEAKER_00: It didn't, you know, stretch its arm up to start writing.
- 14:25SPEAKER_00: All these things have to go in, these all these steps.
- 14:28SPEAKER_00: And the more time you spend it, the more you realize, wow, there's a lot of steps you don't think about from point A to point B.
- 14:35SPEAKER_00: Because really point A to point B is a misnomer.
- 14:38SPEAKER_00: It's more like point A to point Z at the very least.
- 14:42SPEAKER_00: So when it comes to users, they're doing the same thing.
- 14:46SPEAKER_00: Hey, I want you to give me a new form for users to sign up for events.
- 14:55SPEAKER_00: Okay, great.
- 14:57SPEAKER_00: Are you gonna pay for these events?
- 14:59SPEAKER_00: Well, some of them are.
- 15:01SPEAKER_00: Okay.
- 15:01SPEAKER_00: Are you going to give discounts or have coupons for certain customers?
- 15:06SPEAKER_00: Oh well, sure, definitely.
- 15:08SPEAKER_00: Okay, um, do you want us to store the information afterwards?
- 15:12SPEAKER_00: Well, obviously.
- 15:13SPEAKER_00: Okay.
- 15:13SPEAKER_00: Do you want us to alert you when signups happen?
- 15:16SPEAKER_00: Well, yeah.
- 15:17SPEAKER_00: Do you want a list of a report for at the event to know who signed up?
- 15:23SPEAKER_00: Well, yeah, of course.
- 15:24SPEAKER_00: Do you want to have accounting on how much money you brought in, how much money you spent?
- 15:29SPEAKER_00: Well, yes, obviously.
- 15:30SPEAKER_00: Okay, all these things were assumptions in the their statement, I want a form that does this.
- 15:37SPEAKER_00: Okay.
- 15:37SPEAKER_00: So you work on eliminating those assumptions and then have a real conversation.
- 15:41SPEAKER_00: Because when you start eliminating those assumptions, you realize, oh, this is a three-month project, not a three-day project.
- 15:49SPEAKER_00: All of a sudden they go, ooh, I could probably just buy a system to do this and save us a lot of time.
- 15:55SPEAKER_00: Eliminating assumptions up front will save you work.
- 15:59SPEAKER_00: It will also save you frustration because the user has a picture in their head and they see this system working.
- 16:08SPEAKER_00: But the picture in their head is not clearly communicated out their mouth because they're seeing the picture.
- 16:16SPEAKER_00: And so when they say words, what they see in their head is that picture.
- 16:21SPEAKER_00: But those words don't usually create the same picture in your head.
- 16:27SPEAKER_00: So you have to figure out how to ask the questions, to fill in the picture, to make sure you're both seeing the same picture, and then you can talk about it.
- 16:37SPEAKER_00: So eliminate assumptions.
- 16:39SPEAKER_00: Number six is to identify missing steps.
- 16:43SPEAKER_00: So again, it comes back to that, you know, going from your chair to writing the whiteboard.
- 16:48SPEAKER_00: Well, what are the steps that you're missing?
- 16:50SPEAKER_00: So, you know, if you fill out the form and you want to report, okay, there's some steps in between.
- 16:57SPEAKER_00: Are we going to have to have approvals for these things?
- 17:00SPEAKER_00: Oh, well, yeah, we should probably approve who can come and who doesn't come.
- 17:03SPEAKER_00: Okay, that's a step in the process.
- 17:05SPEAKER_00: We've identified a missing step.
- 17:08SPEAKER_00: So identifying missing steps.
- 17:10SPEAKER_00: So those kind of are all communicate, all connected.
- 17:14SPEAKER_00: So number four, overcommunicate.
- 17:16SPEAKER_00: Number five, eliminate assumptions.
- 17:18SPEAKER_00: Number six, identify missing steps.
- 17:21SPEAKER_00: Now, this next one is going to be really important, and that is be patient.
- 17:28SPEAKER_00: Again, users have a picture in their mind.
- 17:32SPEAKER_00: They don't understand that you don't also see that same picture.
- 17:37SPEAKER_00: You have to work with them, help them pull the information out of their brain and give it to you.
- 17:46SPEAKER_00: And that's going to be a longer process than they expect.
- 17:51SPEAKER_00: It's going to take more back and forth.
- 17:53SPEAKER_00: There is going to be miscommunication.
- 17:56SPEAKER_00: So being patient is really important.
- 18:00SPEAKER_00: Because otherwise, what happens is you come across as the person who's just a jerk, the person who doesn't work with me, the person who doesn't understand.
- 18:09SPEAKER_00: And it's not true.
- 18:11SPEAKER_00: It's just that you were not being real patient with them potentially.
- 18:16SPEAKER_00: And so they weren't communicating correctly or clearly, but you weren't communicating that fact to them in a way they understood.
- 18:26SPEAKER_00: So be patient.
- 18:28SPEAKER_00: Now, last one, number eight, remember your purpose.
- 18:33SPEAKER_00: And developers often forget this.
- 18:36SPEAKER_00: I have worked with a lot of developers and seen this go wrong a lot of times.
- 18:41SPEAKER_00: Very rarely did I work for a company or consult with a company where the developers were the main purpose of the company.
- 18:50SPEAKER_00: I rarely worked for companies where they created software.
- 18:54SPEAKER_00: Okay.
- 18:55SPEAKER_00: More often, the developers support the rest of the company.
- 19:01SPEAKER_00: The developers support the mission.
- 19:03SPEAKER_00: The whole purpose for the company is a different mission than writing code.
- 19:10SPEAKER_00: So as a developer, remember your purpose.
- 19:14SPEAKER_00: Why are you here?
- 19:16SPEAKER_00: And even if the software itself is the main purpose of the company, you still need to remember what your purpose is is to support others, to support the company.
- 19:28SPEAKER_00: So when you're talking through with developers, remember it the world doesn't revolve around you.
- 19:34SPEAKER_00: And I know it's hard to hear sometimes, but when you see developers, when I've seen developers that that forget this and they start to talk like, well, they should know, and you know, non-technical users just don't understand.
- 19:50SPEAKER_00: Well, I under I agree with that statement.
- 19:54SPEAKER_00: The problem is that it comes across as you're putting that on the non-technical people as the problem instead of on you as the problem.
- 20:04SPEAKER_00: Again, your job is to communicate.
- 20:07SPEAKER_00: Your job is to take the technical things, strip out all the communication, all the confusing things, and turn it into something the non-technical person can understand.
- 20:18SPEAKER_00: So your job is to help them understand.
- 20:23SPEAKER_00: Your purpose is to support the company, to support others.
- 20:28SPEAKER_00: So when I was building software for a manufacturing plant, my job wasn't to be a center of the universe.
- 20:35SPEAKER_00: My job was to help that manufacturing plant be more efficient, to help the line workers be able to do their job better.
- 20:42SPEAKER_00: And so just because my software, you know, might have been awesome, doesn't matter.
- 20:47SPEAKER_00: My software's goal isn't to be awesome.
- 20:50SPEAKER_00: My software's goal is to serve them better, to help them do their jobs more efficiently and effectively.
- 20:58SPEAKER_00: So when you start to remember your purpose, then all those other things we talked about get easier to do and become more important to you.
- 21:08SPEAKER_00: Because when you do them well, when you are careful about how you communicate and making sure you uh use language they understand and over-communicate and eliminate assumptions and identify missing steps, what you're doing is making the tool better for them.
- 21:26SPEAKER_00: You're making them more effective, you're empowering them to do their job better.
- 21:32SPEAKER_00: And by doing that, you will become more valuable to them.
- 21:38SPEAKER_00: So when you can better communicate with non-technical people, they in turn will want to communicate with you.
- 21:48SPEAKER_00: When you are meeting their needs better, when you are easier to talk to, when you are more helpful and more patient, what happens is they say, that's the person I want to talk to.
- 21:59SPEAKER_00: You become more valuable to them and the company.
- 22:03SPEAKER_00: So working with non-technical people, that's a pretty common occurrence.
- 22:08SPEAKER_00: It's also one of the biggest factors in your long-term success at a company.
- 22:12SPEAKER_00: Learning how to interact well is important.
- 22:15SPEAKER_00: And I would encourage you to practice these eight steps to become even more of an effective developer.
- 22:22SPEAKER_00: Thanks for listening.
- 22:23SPEAKER_00: And as always, I am Tim Corey.
- 22:26SPEAKER_01: Thank you for joining us for this episode of Dev Questions.
- 22:29SPEAKER_01: When you're ready to learn to think and code like a professional developer, head over to imtimcorey.com and enroll in a course.