How my team embraced the WfH experience and made it awesome!

Kaushik Chaubal
9 min readApr 8, 2021

When the world decided to go into ‘WfH’ mode in March 2020, thousands of people across the globe had to start getting used to a working style that was alien to them. Companies, teams, individuals all started a ‘movement’ to not only get used to it but also, excel in this ‘new normal’. As you can imagine, my team (called the Desktop Experience team) had our plans — on how to make ‘work from home’ a fantastic experience! In this blog post, I am going to share some tips and tricks that we tried that have worked for us and made our overall WfH experience awesome!

#1: Huddle to make the best of ‘today’ — stand-up

Team daily stand-ups as a concept have been used by tech teams all over the world. This concept has spilled over to other industries as well. But with time, this concept has morphed from its original intention (to help each time member have the right focus) to a formal daily status update 😔

If you are reading this and hear the term ‘stand-up’, I am pretty certain that you started thinking about the format that is used all over the world:

What did you do yesterday?

What are you going to do today?

Do you have any blockers?

And while this format works ‘alright’, this was never the real intension for stand-ups! Don’t believe me? Well, let me share a talk by Dan North that focusses on effective stand-ups:

(Start from 30:59 till 38:35 — that’s where he talks about stand-ups. Feel free to see the whole video though… I loved it!)

In my opinion, the key term is that he focussed on What’s the best possible today we can have?”.

And so, we tweaked our stand-ups to follow roughly this format:

  • The first 5–10 minutes is us talking about random stuff (especially since we are WfH and this is our best ‘watercooler’ conversation). But we time-box that to a max of 10 minutes
  • As part of everyone’s update, we focus on today! And so, we answer the question “What’s the best/correct thing I can do to be most effective today” That way, we are all forward-looking as against past project updates
  • And after every individual has done their update, we talk through any points that we want to confirm/clarify with the main focus on again, What’s the best possible today we can have?

Think about this as a true huddle as you see in American football

And with that, we start our day…. every day!

#2: Status updates — use the tools, not the humans!

The natural set of questions that one gets when you see the tweaked stand-up process is “hold on, how do I know the project status? How do I know who is working on what tickets and issues? Has Joe finished solving this critical bug?

Well, the short answer is — you don’t need humans to tell you any of that. This is where we, as humans, built some fantastic tools. So, let’s go through the two tools that we used for this.

Tool 1 — Airtable.

This is our project management and planning tool.

What do we use it for?

Development timelines, deployment timelines, deployment dependencies, in-scope apps, misc tasks, etc. are all captured here. If you are a technical project lead, your job is to ensure this is updated. This allows all different stakeholders and users to have a very transparent view of how the project is progressing. Here is an example of Gant charts look on airtable (this is a sample copied from https://blog.airtable.com/introducing-gantt-block/)

Tool 2 — Azure DevOps.

This is our ‘issues’ and ‘enhancement requests’ tracking tool.

What do we use it for?

Every team-members granular work-log consisting of new enhancements, issues, support items are all captured here. If you are a developer on the team and you are spending any time on any of the above, you should have a work item associated with it and also, keep it in the correct state. This helps you (as a developer) to know your to-do list, me (as the engineering lead) to know what all is in-flight, management to know how busy the team is. More details here: https://azure.microsoft.com/en-gb/services/devops/boards/

#3: Need a rubber-duck? A decent chat platform with good house-rules

Software development is a team sport. When you are in the office, one would usually walk over to a colleague and say something like ‘John, I have tried these 6 things but I am unable to solve this bug. Any pointers’? This kind of collaboration makes software development fun and rewarding. But not being able to do that ‘talk over to a colleague’ during WfH can be a challenge.

However, we found a good workaround for it — to use a decent chat platform with good house rules. Let’s break it down into two sections:

Step 1 — Decent chat platform

There are plenty of chat platforms out there — some better than the others. Without naming the not-so-good ones, let me share how we found MS Teams extremely helpful. Why do you ask? Few reasons that pop in my mind include channels, threads, ability to tag individuals as well as the whole team, posts as well as announcements, great integration with office 365, and finally first-class GIF support!

(reference: https://www.steeves.net/news/how-to-use-microsoft-teams-effectively-best-practices-for-getting-the-most-out-of-microsoft-teams/)

This article goes through some great practices that one can use while using MS Teams: https://www.steeves.net/news/how-to-use-microsoft-teams-effectively-best-practices-for-getting-the-most-out-of-microsoft-teams/

Step 2 — Good house rules

Having a decent tool with no rules to play can make that tool very ineffective. And so, we came up with some house rules to make our experience of using MS Teams very effective. Let’s power through some of the advantages that I noted earlier and add some ‘rules’ that we created for the team.

  1. Channels — we created a channel per project plus an extra one for general random chats
  2. Threads — to help group discussions, we have a thread per discussion, and that way, we can have multiple async conversations going on in parallel
  3. Mentioning individuals as well as the whole team — this allowed us to get the attention of a particular individual or the whole team depending on the urgency. This combined with proper notifications setup helped individuals get more productive
  4. Discussions, as well as announcements — We, used this to mimic the real world where, at times, you are having discussions and other times, you are announcing that something is happening.
  5. Great integration with office 365 — We started to host our key documents on OneDrive and use that as a way of sharing easily via Teams.
  6. First-class GIF support — Totally a personal preference but IMHO, GIFs can make virtual interactions a lot more fun and relatable.

#4: Want to do a design session? Introducing Miro!

Designing the solution in the best possible way before implementing it is one of the key aspects of the software development lifecycle. In the usual setup, the team would huddle together and scribbling solutions as part of the design session. We would look something like this…

But, with the WfH setup, as the team started working on a new project, we realized that this is not going to work. And so, we quickly moved onto using Miro for all our design sessions. This helped create, collaborate, and centralize communication for design sessions.

More details about how Miro can be used is found here:

New Miro: use cases to speed up team collaboration — MiroBlog | A blog by Miro

#5: Chat becoming too ‘chatty’? Let’s jump on a Webex

As we started using MS Teams and all the features that we described earlier, we realized one key thing — there are some discussions that we cannot agree/resolve over chat. If anything, the discussions are going to-fro and becoming chatty but without leading to a decision. And so, the next question that we wanted to solve was ‘how do we stop chats becoming too chatty and resolve the discussion’?

The answer to this was incredibly easy — to jump on a Webex when we feel we need to talk this through instead of using a text-based platform. Being able to hear each other out, share screens, and empathize with each other on the call made resolving deadlocks or discussions much easier than trying to use the chat platform. And so, this is the usual format that we ended up using as needed…

Joe: Hmmm, I think we should be doing these 5 things next

Rachel: I am not sure I agree

Joe: Shall we jump on a webex and talk through this?

Rachel: Sounds great! My webex please

….. (10 minutes later)

Joe: Team — Rachel and I just spoke about this. Here is what we decided…

#6: ‘Virtual socials’ — we want more!

This is one thing that the team has been guilty of not doing much. We have had random ‘afternoon tea’ sessions, a couple of board games sessions, a virtual breakfast, and a surprise quiz but we all collectively agree we need to do more of these. Having said that, all the sessions that we have had have been great fun and has resulted in some fantastic memories — the top one still being this team photo:

#7: How do I ‘show-off’ my work? Let’s do weekly show-n-tells

Going from socials to work… one of the aspects that we, as a team, wanted to focus on was how do we ‘show off’ my work to my peers? One might wonder why you would want to do that but I believe, this is deeply rooted in humans wanting to feel proud and valued. And what better way to feel proud and valued than to show off what you have been building and having your peers appreciating all your hard work!

And so, we kicked off a weekly show-n-tell series — where every person in the team had a chance to show all the cool functionalities that they had built. There was only one rule — no showing code. Code is for pull requests — this is a product demo. And with that, you could see everyone in the team taking us all in the journey of what’s coming up next… like some sort of movie preview!

#8: Regular virtual retrospectives — the team’s “timeout” moment

And finally, it’s time for the retrospective. This list that you just read was not created and agreed in one attempt! It was an iterative process that we, as a team went through — to discuss what is working and what is not. And to propose and come up with actions to make things better.

And so, every 4–6 weeks, the team took a couple of hours to fill, discuss the retrospective template that you see here…

This is our way of ‘sharpening the ax’ — something that we find incredibly helpful!

Conclusions

Working from home full time is a new experience for more individuals across the globe. Some are more productive than others. For example, GitLab has had a fantastic remote working guide for some time now — this is because Gitlab is an all-remote company. Check out the details here: https://about.gitlab.com/company/culture/all-remote/guide/

In my opinion, we, as a team has been able to agree on using some fantastic tools and some well-defined processes to make our experience very good! If you enjoyed reading this, please give it lots of claps. If you found any tips and tricks useful from the list, absolutely try it out! And finally, if you have any questions, please feel free to use the comments section.

--

--