Watch, Read, or Listen to: The Best Practices for Managing Offshore Resources

In this podcast, The Best Practices for Managing Offshore Resources, we discuss:

1:58Jive Migration Example
3:30How to plan your day
8:15Do you always use Agile?
11:28Things to look out for


Danny Ryan:It’s Wednesday, September 30th, and today I talk with Kirk Liemohn about tips that he’s learned through the years when working with an offshore team. He’s got lots of great experience and some tips that you could use, I hope you enjoy. Today I’m catching up with Kirk Liemohn, Kirk, you have been very busy lately, so thank you for taking the time out of your busy schedule to catch up here.


Kirk Liemohn:You’re welcome.


Danny Ryan:You’ve got a little bit more white in your beard, and of course, I’m a little scraggly here too and I feel the white coming in strong this year, right?


Kirk Liemohn:Well, I didn’t use to have a beard, so that’s why. We’ll see how long it lasts, but yeah. I think it came in this way to begin with.


Danny Ryan:You’ve been extremely busy lately and one of the things I would like to talk to you about is something you’ve been getting a lot of experience with over the last couple of years, which is working with an offshore team. And sort of, for these projects that we’re going after, some of the tips that maybe you’ve picked up with and sort of how can you continue to be effective with working with an offshore team? So I’d love to just sort of pick your brain about that and learn more about what you’ve seen as works and maybe even what you see doesn’t work.


And I’d love to share this internally at ThreeWill and then for folks who are out there who are a consulting company like ThreeWill, or if you’re a larger enterprise and you’re working with an offshore team, just give them a couple of good pieces of advice of things that you’ve picked up through the years. So let’s talk about the current project that you’re on right now, there’s sort of a cycle, I guess they’re in a different time zone. So each day you hand something off at the end of the day and then when you come in the morning you find out what’s been done, just talk to me about the overall process that that is right now.


Kirk Liemohn:Sure. Yeah. Well, there’s different stages depending on the type of project and where you are in the project.


Danny Ryan:Okay.


Kirk Liemohn:So this is a Jive migration project and it started out pretty heavy with some development work, we were improving our capabilities, our migration utilities to do more things, which is great. And we’ve been doing that now for a while, we started it probably in July, and then we’re starting to transition into the migration side of things where we’re starting to try and turn those out. And so when we start earlier on, you have the luxury of planning out the different things that you want to get done, we happen to use DevOps for most of that work. Now our clients is using Jira, so we’ve got a little bit of a hybrid going on between those two. But we use two tools to help manage our work and to communicate between people as well as of course, Microsoft teams which we use heavily both internally within ThreeWill between just ThreeWill and the ThreeWill offshore.


And then we have an external team with the clients, just like we do with most of our projects. So I’m just going to go back from a historical standpoint on earlier in the project when we had the luxury of saying, okay, these are the things we’re trying to plan out a sprint at a time and we could look ahead. And these are the effort for individuals who was on the matter of days, not hours. Then is a lot easier for someone like me where I’m leading the development team to come in and say, “Okay. Here’s what you’re going to do. Divya, you’ll do this work, Karthik, you’ll do this work, and right now we’re working with an offshore team of four individuals. So we’re asking them to do that work, then I’m kind of someone that can just help them along.


So I can plan that out a little bit in advance, make sure that there’s a bit of information around what’s required to get it done, so the acceptance criteria. But the main goal is, you want to make sure that you can’t say, okay, I’m going to start my day out and then let’s tell them what to do that day. Well, they’re nine and a half hours ahead of us and that doesn’t work very well. So before the end of your day, you need to make sure that you’ve communicated anything that they need to know when they start their day. Well, they are nine and a half hours ahead of us during daylight savings time that’s, they don’t start nine and a half hours before our day, they start later in their day, but still they start around 2:00 AM our time or something.


So too little too early for me to get up. So it’s easier when we have the luxury of planning things upfront, and we can look weeks ahead and spend a little time getting things ready. Now we’re transitioning more towards the migration piece and then there’s some last minute things that just need to be fixed. Maybe some things we noticed when we start using larger data sets for our migration, this happens to be a very large migration. And so then now things are starting to change day to day, and they’ve been doing that for a couple of weeks. And that means there’s always a new one or two high priority things that have to be dealt with every day.


So that makes a lot harder. And here I’m definitely far from perfect because I find myself working every night to try and make sure they’re ready in the morning. And so my recommendation to others obviously, is to carve out time before your end of your regular workday to make sure that you can communicate what you want people to do. And sometimes that’s relatively quick communication, but depending on the size of the team and the number of things that are changing, you want to be pretty explicit in terms of what you want to get done. And that takes time that can take 30 minutes to an hour to make sure you’ve got things communicated the way you want to communicate them.


You want to make sure, okay, well, I’ve got this bug in Jira or DevOps, and it’s got to have the details in it that I need. And I’ve got to make sure that they’re set up for success to work that, so it can take time. So that’s the main recommendation there. Now, the next stage is really full on migration and that changes things again. And once we get into that, we will still have bugs and remediation and things like that, but we have a runbook we go by which we set up and we make sure the team members know how to use that runbook and we’ve worked with several before, so they do, but that’s another part of it.


Danny Ryan:What’s a runbook real quick [inaudible 00:07:06]?


Kirk Liemohn:In general terms, a runbook is like a recipe for a cookbook. So it just lists the steps you’re going to do and from a migration standpoint, it’ll list all of our steps we’re going to do. And we happen to use Excel for this, Azure even has the concept of runbooks, but in Excel we’ve got a tab per batch or is it a tab per wave? And then we go through a bunch of steps within each batch that we want to make sure get done. So for us, we’re doing Jive migrations, we’re pulling content from the source environment, which is Jive. We’re transforming that content. We’re uploading that content. There’s a lot of the things we can do. We can do things like announcements and pulling permissions, migrating permissions, so that runbook is going to have all those things. It’s going to have some verification steps too, we’ve got validate content, validate people, all sorts of different steps in there.


Danny Ryan:So did you move from, when you’re talking to earlier where you had more of like a agile sprint schedule and then you moved into a more of day by day. Did you go from scrum to Kanban, how did you switch over from having sprints to sort of the day-to-day basis of whatever [inaudible 00:08:30] problem is what you’re focused in on right now.


Kirk Liemohn:Right. So yeah, we did do that. So we started out having sprint reviews with the clients where we demonstrated new features, and now we were doing those weekly, which I prefer biweekly because it’s just trying to make sure you’re ready for every sprint review, is take some time when you got a team like this, but we were those weekly and we were demonstrating things weekly. And then we transitioned to say, “Hey, we’re not at a point where we need to be spending time doing that. We’re already having now two daily meetings with the clients one in the morning, one in the afternoon.


So make sure that we know what’s the hot item am and make sure things are getting done in the right order and white priority. So we don’t need sprint reviews anymore, so yeah, we switched. And in our case, the client is big on Jira, so we’re using Jira as our primary, but we do use DevOps for our source control. And we tend to keep DevOps bugs and use out there and we’ll kind of connect them to the Jira issues.


Danny Ryan:How do you set priority for the folks, like what they’re working on what does that look like?


Kirk Liemohn:Yeah. When you’re back in the kind of the more agile, it was pretty simple. We would have priority one, priority two, and mainly features are we work on the priority ones only. And when we do a sprint planning, we’re kind of just checking to see during that sprint planning session, what should be in scope for the sprint. And then we talk to the team and say, “Okay, who can take this item?” Or we direct to who should take that item. So that’s relatively easy. Now, once you get more towards the heat of the battle where you start doing migrations, and you’re dealing with last minute bugs and issues, then it’s been a two-pronged approach. So in Jira and in DevOps there are priorities on these bugs that we have entered, okay. And the client is aware of these priorities.


And then of course, I’m looking at those and I’m saying, “Well, of those that are critical or blockers, which is the most critical of the criticals? And which one needs to be worked first? And who’s got the expertise to work the real critical ones?” Because we want to make sure that the person with the best expertise is working the hardest item for whatever that problem is. So we’ve got client side technologies like JavaScript involved, we’ve also got server-side C# involved with the migration. And so I’ll pick whoever the best person is based on the problem.


Danny Ryan:Nice. Very nice. Just to sort of wrap us up here, any other tips that you’ve sort of picked up that you would suggest or stuff that’s, any battle wounds or [crosstalk 00:11:28].


Kirk Liemohn:I’ve got plenty of battle wounds. I’ve worked with offshore teams for quite a while. If you are new to this and especially if you’re bringing in a new team, even if it’s small, you need to plan on as if you’re a dev lead. You need to plan on probably two hours a day of working with those individuals, that’s if it’s even a small team. And then once those individuals get more ingrained into what’s going on, and then of course they get more experienced and they don’t need as much direction, then it can be less time. But even so, I’m kind of the go-to person when they’re like, “I don’t know how to do this.” I’m like, “Okay. I’ll have a meeting with you at 9:00 AM after I’m done with these other meetings.” And that’s what we do.


So just be prepared to spend time. You need to have that time allocated. Maybe you need more than one go-to person, if you will, that’s going to be helping give direction, technical assistance in addition to just kind of making sure things are prioritized, so I’ve been aware of that for a while. The other one I need to work on more is what I said, I think earlier, around trying to allocate that time near the end of your day so that you’re not working at night because if you get into the, what’s happened most of my life when I’m working, it’s like, okay, I’ll get close to finishing something at the end of the day.


That’s all right, I can talk to whoever it is first thing in the morning, it doesn’t work that way with offshore. So you’ve got to be prepared to have that time set aside, try to avoid like a 4:00 PM daily meeting with the clients. I would prefer that wasn’t the case with me right now, but that’s what I’ve got. Which means, if I’ve got to make decisions after that, they affect the offshore team, I’ve got to be working after that meeting to do that, and that sometimes can bleed into evening hours.


Danny Ryan:Yep. Yep.


Kirk Liemohn:One final thing to mention, so I haven’t really talked about benefits or when people start thinking about offshore, it’s easy to say, “Okay. Well, there’s going to be a communication barrier or whatever.” I find that I can pretty quickly understand the people I’m talking with and they can understand me. There are times I have to go into more detail, we kind of make sure that we’re on the same page on certain things, so that can take some time, but you kind of get an ear for it, or at least I have and I think others do as well. And then just take advantage of the fact that you’ve got more of a 24/7 operation when you have that offshore team.


So think about how you can use that to your advantage and of course, we definitely do because we can have an issue that pops up in our afternoon and it may take five or more hours for that issue to be fixed and it can be fixed first thing in the morning and ready for review. So take advantage of that and don’t just think of it as, okay, now I’ve got these resources that are way over there and they have different accents and… Take advantage of it and use it to your benefit.


Danny Ryan:This reminds me of last year we covered the book, Managing the Professional Services Firm. And one of the concepts in the book was this concept of leverage which was, what are the things that I could do that if I took sometime to hand off to someone, where are the areas where I could, and this is what that reminds me of, it’s sort of like, you’re now looking at not only your day, but your day plus the help from this other team and constantly thinking like, is this something I can transition off to someone else? And constantly trying to think through like, I don’t have to do everything myself. In fact, I’m looking for things where, is it easy for me to hand this off and someone else go after it and how important that is within a professional services organization to do that.


Because everybody is just doing everything and focused in on everything themselves, you never have this opportunity for other people to grow, but there has to be some sort of motivation for people to hand it off to others. Because otherwise, you get into this thing where you’re like, “I got to take care of my own stuff and you got to be not selfish about it and think about, how can the whole team be more effective? So I think you’ve been growing and you’ve been doing this for a while, but now it’s not only just what you’re able to get done, it’s you plus another team. And hopefully that feels like you’re even more productive than what you would have been able to do in the past.


Kirk Liemohn:Oh yeah, definitely. And it’s a growth for me always, but you learn and you kind of figure out, well, could I have communicated that better? One thing I’d said yesterday where the priorities weren’t done in quite the order I wanted to be done in. And it’s like, well, maybe I can do a better job of communicating that in the future. So yeah. With that, I think it’s a good thing.


Danny Ryan:I outsourced my podcast production to Austin. So we’re done with this, I don’t have to be the [inaudible 00:17:09.].


Kirk Liemohn:Yes.


Danny Ryan:We’re all in this mode of like, and it’s important for growth as a company, is that we are looking for things where we can have other people come in and take them off our plate or opportunities really, for them to grow. So it’s a very important topic for all of us.


Kirk Liemohn:Yeah. Yeah. For me, what I probably need to do better is get the others to grow more in terms of here, instead of me giving you all those details, let’s see how far you can take it when I just give you more high level detail. And maybe I can spend a little bit less time working at the detail. And maybe it’s, of my team of course, it’s a mix of individuals, so maybe it’s the ones that have been around longer that I start doing that with more, so…


Danny Ryan:Yeah. Yeah. Austin, this probably sounds familiar to you whether I tell you exactly what to do or whether I give you something and let you try to figure it out on your own. This is growth for everyone, so it’s all good stuff. I’m just trying to pull him into this but he won’t come in and just probably left the room, but Kirk thank you so much for your time again. Appreciate it.


Kirk Liemohn:Sure.


Danny Ryan:Take care.


Kirk Liemohn:All right. Have a good day. Bye.


Danny Ryan:Bye. Thank you for listening to the Work Together Better Podcast. We’re available on SoundCloud, iTunes, Stitcher and TuneIn. If you’re looking for a partner to help you craft a modern digital workplace in the Microsoft cloud, please come by and see us, that’s the number three spelled out, Thank you, and have a great day.



Share and Enjoy !

Related Content: