Working in an international team for almost 3 years and I can concur that getting to know each other is key. We used to go to each country for a few days and switch every few weeks the first year. Now with Cov we have not visited other countries in more than a year but our connections are established and we can still work very efficiently via teams/zoom.
Cultural differences can make things challenging in surprising ways. I once came into an existing London investment bank team as a contractor hired by a consultancy company leading the project, to lead the London and Mumbai teams, and I was introduced to them as such. We'd have joint UK-time morning meetings for progress reports and to set the direction for the day's work, which worked well in London, but the Indian team would go off and do their own thing. Progress reports would be "actually, we talked among ourselves and decided to do something completely different". It turned out that because of my position, not being a direct employee, they didn't recognise my authority at all. To them, their boss was their boss in their office, and so completely disregarded anything I said, involving restructuring channels of communication and coordination. Fun times.
Regrading splitting a team to product management in Europe and Software in India. Well, we all know why that happened... and no methodology was involved in this decision.
Sitting together in the same office might or might not be better. The key factor is people's attitude, way more than anything else. Many people work physically together and still don't know how to communicate with each other properly. It's true that it's necessary to have personal contact with your team from time to time, especially if you're a junior and you're still learning and maturing as a professional, but that's not necessarily the case for seniors.
I work remotely and I am very happy with my job. I also get paid 8 times the avergae salary in my country. EDIT: I hate to be told when to start working and when to leave the office, what office rules I should follow, what clothes I should wear, etc...
I have led international teams for many years. And my mantra is; the best tool for remote working is a goldcard and free travel. Meeting people discuss stuff over a beer is way more functional than anything else. Remote working can work very very well, but it requires quite a bit of effort. And dont expect to save money on it. Another important tool is something like slack. Chatting is important. Abd dont forget psychology. I like the advice about coaching a local channeling guy. I realise thata i have done that but more like a sude effect rather than a cpncious decision. Willl take that with me....
No no no. Frequent travel for remote team management is a bad habit. First, you re not remote. Second, team accepts you only when you present and you have no power when remotely talking or setting goals.
Setting up a team and getting aquinted is better done in person. Once those initial steps has been done you significantly improve tha capacity to work remotely. At least thats my experience. I tried without the travel and it usually takes significantly longer. I am not sying it cant be doen. Just that its taking longer. Some importabt aspects is to allow people to say no, and think for them selves. As Dave is saying many outsourced teams unconciously see themselves as resources that will do what they are told. With that attitude I will get what I tell them to do, not what i want them todo . Establishing personal relation increase the bandwidth and allows them to pickup on minor ques in language and way of expressing themselves and increases the overall bandwidth of communication.
I have several experience working with remote teams. And honestly, everything here he said here is 200% true story. REMOTE CONTROL is actually one of the most effective way to have a productive team. Remove vagueness in the scope and make the task very specific and clear. This removes the dependencies from a remote resource.
One thing that I think this video is missing is the notion of fully remote teams, it focuses a lot of distributed teams rather than distributed people where colocation for all team members is not possible. This presents a whole new series of challenges with synchronous communications and has different techniques to employ which would be a good future video
Many of these ideas apply to remote workers as well as to remote teams. It would be also useful to have some insights on the communication techniques to improve interactions as and with remote workers.
Slack and Jira tickets. Make team to talk and work through typing, not talking. When they type they use less words, think on what to type and the most important thing - don't expect immediate reply!
Distributed decision control and not micro managing off shore teams is critical. Having and showing that faith in the team earns you their respect, resulting in greater commitment and a willingness to go "above and beyond". This inclusion drops the service barriers that many of these individuals are accustomed to and shifts their perspective to contribution rather than just "following orders".
Great presentation. thanks. I work in a smallish team (4-5) and we are all now remote working given the current situation and use MS Teams for our meetings, etc. The one thing we're finding difficult is that "have you got a second for a question" type of chats or "Would doing it like x be better", etc. I watched your Pair Programming video and wondered about how to go about that more given the remote working. One good thing is, that it stops me stealing their mouse and showing them how to do it.
You should be able to expect every team member to be just as available as if you were in the office. Call them, share your screen, ask your question, even steal their mouse if you like.
This video ended up being mostly just about offshoring. Makes sense that you have more experience with this over your career pre-pandemic, but these days many people are working with fully remote onshore teams. Might be worth making another video specifically targeted at that.
Hi Dave, Your tips on team topologies and visiting each other is great advice. However, since covid started, we don't even have remote *colocated* teams. Instead, we have teams, and every team's members are all spread around, working from home. Nobody is sitting together. All are alone at home. What would you suggest to improve the (efficiency of the) bandwidth of communication. Is there are set of tools/processes/guidelines that you recommend? Using MS-Teams/Zoom, Chat tools like Slack, are carrying a relative high cognitive load if used the entire day. At the end of the day, you're tired....
The authors of the "Team Topologies" book have a new book called "The Remote Team Interactions Workbook" amzn.to/3IBcBGX I'd recommend that you start there. Pairing works fine remotely, I have done a lot of remote parking. I'd recommend that as a way of strengthening the bonds between team members. My guess is that mob programming works fine remotely too, but I haven't tried it.
"Focus on outcomes not on actions" That sounds a lot like declarative programming. Since you compared distributed development teams with distributed software systems, maybe there is some parallel that can be drawn between the language used for management and declarative languages?
My mailreader shows the history of a conversation (as a tree if I wish). And the chat-tool might become quite distracting, if it's a must-run-permamently (and with notifications). Also the "we are all and always at the buero" can be quite distracting, dimishing performance by distraction. Commuincation is the one thing, but the possibility to work without distractions is also necessary for excellent results.
Also, if you are really programming you don't want to be having conversations at the same time, that is an annoying way to work, it is coding not basketball. You communicate then go focus to get it done, you agree on interfaces and standards and use TDD
My experience is that remote teams doesn't really work. You have to invest effort to overcome the hurdles so will be spending more than your competitors and eventually be put out of business; at least that's what happened when I was involved in a 3-way UK, West Coast, East Coast USA development. The company went bust and the UK team took over the entire thing and made a success of it. Remote workers are disloyal and will jump ship much faster than on-prem workers. We have 20-year-plus on-prem workers but remotes are usually gone within 4 years.
Loyalty is a meme. People want better conditions and more money. If you provide neither, people will leave. Those that are 'loyal' and stay possibly prefer coming to the office so they can kiss their bosses' asses and be under 24/7 surveillance. I am loyal to myself and my family, if you're loyal to a company, you need a mental checkup. Of and remote work not working is my favorite meme. Not only FAANG but literally every big company has remote work and it works much better than 'boomr-minded' people like you would believe, especially since you concluded this with a grand sample size of one.
Some of the most important decisions are made; and some of the most significant a-ha moments happen when people are together and casually interacting. Social distancing and remote work eliminates crucial parts of communication (the nonverbal parts) and we're worse off for it. We need to get together again.
That's it, I am calling it. This is the David Attenborough of Continuous Delivery.
I mean, we were all thinking it. Well said.
Here we see, a distributed team, in it's natural environment
🤣 🤣
Developers. Where do they live? What do they eat? How they reproduce?
It's the shirt, isn't it? Bring back the Qwerty shirts!
Working in an international team for almost 3 years and I can concur that getting to
know each other is key. We used to go to each country for a few days and switch every few weeks the first year. Now with Cov we have not visited other countries in more than a year but our connections are established and we can still work very efficiently via teams/zoom.
Cultural differences can make things challenging in surprising ways. I once came into an existing London investment bank team as a contractor hired by a consultancy company leading the project, to lead the London and Mumbai teams, and I was introduced to them as such. We'd have joint UK-time morning meetings for progress reports and to set the direction for the day's work, which worked well in London, but the Indian team would go off and do their own thing. Progress reports would be "actually, we talked among ourselves and decided to do something completely different". It turned out that because of my position, not being a direct employee, they didn't recognise my authority at all. To them, their boss was their boss in their office, and so completely disregarded anything I said, involving restructuring channels of communication and coordination. Fun times.
Regrading splitting a team to product management in Europe and Software in India.
Well, we all know why that happened... and no methodology was involved in this decision.
Sitting together in the same office might or might not be better. The key factor is people's attitude, way more than anything else. Many people work physically together and still don't know how to communicate with each other properly. It's true that it's necessary to have personal contact with your team from time to time, especially if you're a junior and you're still learning and maturing as a professional, but that's not necessarily the case for seniors.
I work remotely and I am very happy with my job. I also get paid 8 times the avergae salary in my country.
EDIT: I hate to be told when to start working and when to leave the office, what office rules I should follow, what clothes I should wear, etc...
I mean many modern companies don't really have office rules besides 'don't be a dick' rules like "if you take the last coffee, brew new coffee"
I have led international teams for many years. And my mantra is; the best tool for remote working is a goldcard and free travel. Meeting people discuss stuff over a beer is way more functional than anything else. Remote working can work very very well, but it requires quite a bit of effort. And dont expect to save money on it. Another important tool is something like slack. Chatting is important. Abd dont forget psychology. I like the advice about coaching a local channeling guy. I realise thata i have done that but more like a sude effect rather than a cpncious decision. Willl take that with me....
Thanks for sharing your experiences.
No no no. Frequent travel for remote team management is a bad habit. First, you re not remote. Second, team accepts you only when you present and you have no power when remotely talking or setting goals.
Setting up a team and getting aquinted is better done in person. Once those initial steps has been done you significantly improve tha capacity to work remotely. At least thats my experience. I tried without the travel and it usually takes significantly longer. I am not sying it cant be doen. Just that its taking longer. Some importabt aspects is to allow people to say no, and think for them selves. As Dave is saying many outsourced teams unconciously see themselves as resources that will do what they are told. With that attitude I will get what I tell them to do, not what i want them todo . Establishing personal relation increase the bandwidth and allows them to pickup on minor ques in language and way of expressing themselves and increases the overall bandwidth of communication.
I have several experience working with remote teams. And honestly, everything here he said here is 200% true story. REMOTE CONTROL is actually one of the most effective way to have a productive team. Remove vagueness in the scope and make the task very specific and clear. This removes the dependencies from a remote resource.
One thing that I think this video is missing is the notion of fully remote teams, it focuses a lot of distributed teams rather than distributed people where colocation for all team members is not possible. This presents a whole new series of challenges with synchronous communications and has different techniques to employ which would be a good future video
Many of these ideas apply to remote workers as well as to remote teams. It would be also useful to have some insights on the communication techniques to improve interactions as and with remote workers.
Slack and Jira tickets. Make team to talk and work through typing, not talking. When they type they use less words, think on what to type and the most important thing - don't expect immediate reply!
Another great video, full of words of wisdom.
Distributed decision control and not micro managing off shore teams is critical.
Having and showing that faith in the team earns you their respect, resulting in greater commitment and a willingness to go "above and beyond".
This inclusion drops the service barriers that many of these individuals are accustomed to and shifts their perspective to contribution rather than just "following orders".
What about when the teams have no such commitment ? How do you know whenevery little feature takes forever to get done.
Great presentation. thanks. I work in a smallish team (4-5) and we are all now remote working given the current situation and use MS Teams for our meetings, etc. The one thing we're finding difficult is that "have you got a second for a question" type of chats or "Would doing it like x be better", etc. I watched your Pair Programming video and wondered about how to go about that more given the remote working. One good thing is, that it stops me stealing their mouse and showing them how to do it.
You should be able to expect every team member to be just as available as if you were in the office. Call them, share your screen, ask your question, even steal their mouse if you like.
This video ended up being mostly just about offshoring. Makes sense that you have more experience with this over your career pre-pandemic, but these days many people are working with fully remote onshore teams. Might be worth making another video specifically targeted at that.
What about if there are no more offices and everybody is working from home?
Man... this channel is great!!! You're the professional I hope to be!
Hi Dave,
Your tips on team topologies and visiting each other is great advice.
However, since covid started, we don't even have remote *colocated* teams.
Instead, we have teams, and every team's members are all spread around, working from home. Nobody is sitting together. All are alone at home.
What would you suggest to improve the (efficiency of the) bandwidth of communication.
Is there are set of tools/processes/guidelines that you recommend?
Using MS-Teams/Zoom, Chat tools like Slack, are carrying a relative high cognitive load if used the entire day. At the end of the day, you're tired....
The authors of the "Team Topologies" book have a new book called "The Remote Team Interactions Workbook" amzn.to/3IBcBGX
I'd recommend that you start there.
Pairing works fine remotely, I have done a lot of remote parking. I'd recommend that as a way of strengthening the bonds between team members.
My guess is that mob programming works fine remotely too, but I haven't tried it.
"Focus on outcomes not on actions" That sounds a lot like declarative programming. Since you compared distributed development teams with distributed software systems, maybe there is some parallel that can be drawn between the language used for management and declarative languages?
One of the best thumbnails on the internet
My Son, Tom, does the thumbnails for my videos, this is a great one!
Each video is a master piece. Such a good content and still free.
Thanks 😎
I wished I worked on your development team! Awesome stuff
I know what you are talking about here, I worked as a one man team for years
Dave is the programming grandpa you didnt know you need
My mailreader shows the history of a conversation (as a tree if I wish).
And the chat-tool might become quite distracting, if it's a must-run-permamently (and with notifications).
Also the "we are all and always at the buero" can be quite distracting, dimishing performance by distraction. Commuincation is the one thing, but the possibility to work without distractions is also necessary for excellent results.
My favorite video of you yet.
Thank you. I try to balance the technical content with ideas about people and teamwork - which are essential, of course!
Also, if you are really programming you don't want to be having conversations at the same time, that is an annoying way to work, it is coding not basketball. You communicate then go focus to get it done, you agree on interfaces and standards and use TDD
I'm going to Foucus more on outcomes from now on :D
Thanks for the quality content (just like in many other videos on this channel)
3:13 Amen!
8:15 "Foucus". : )
Very interesting video! Thanks for putting it together for all of us. 👍
That was amazing content, thank you very much !!
Brilliant!
What discussed was exactly i've been doing for the last 7-8 years.
Type on screen at 8:40 "Foucus on Outcomes..."
Hi Dave, I've discovered your channel recently and have been loving your videos. Have you seen Google's new project starline?
I hadn't seen it, it looks intriguing.
Measure results and limit subjectie descriptions
Great content!! Please keep posting
Thank you! Will do!
I work as a contractor and I charge 20% less for the days that I work remotely because I don't spend 2 hours traveling to and from the job site.
I feel like companies would have a lot less trouble getting people to come in to the office a couple of days a week if they had the same policy.
"even nerdy humans like me" lmfao
My experience is that remote teams doesn't really work. You have to invest effort to overcome the hurdles so will be spending more than your competitors and eventually be put out of business; at least that's what happened when I was involved in a 3-way UK, West Coast, East Coast USA development. The company went bust and the UK team took over the entire thing and made a success of it.
Remote workers are disloyal and will jump ship much faster than on-prem workers. We have 20-year-plus on-prem workers but remotes are usually gone within 4 years.
Loyalty is a meme. People want better conditions and more money. If you provide neither, people will leave. Those that are 'loyal' and stay possibly prefer coming to the office so they can kiss their bosses' asses and be under 24/7 surveillance.
I am loyal to myself and my family, if you're loyal to a company, you need a mental checkup.
Of and remote work not working is my favorite meme. Not only FAANG but literally every big company has remote work and it works much better than 'boomr-minded' people like you would believe, especially since you concluded this with a grand sample size of one.
Some of the most important decisions are made; and some of the most significant a-ha moments happen when people are together and casually interacting. Social distancing and remote work eliminates crucial parts of communication (the nonverbal parts) and we're worse off for it. We need to get together again.
Developers don't need to ask questions incessantly, there should be enough information documented and clear user stories
Beer and curry together.
Subtle communication is a cop put, say what you really mean and be direct or shut up!
So if you take the remote out of remote development it works, go figure.