The Novel Coronavirus (COVID-19) pandemic has swept across 100 countries with no signs of abating. In light of COVID-19 your software development workforce is, at a furious pace, adapting to; extreme remote working policies – it is a fundamental challenge for all technology leaders to maintain productivity and maintainability of the software engineering organisation. To that effect, we will be bringing you articles aimed at helping engineering leaders, to support their developer teams while working from home and maintain efficient remote software development.
In this article, you will find practical tips on best practices to maintain a proper work from home setup for your software developers to be productive at home and keep continuous effective team collaboration.
Putting into practice the right work from home best practices setup is a sure way to have transparency in a remote environment. Primarily if developers and yourself are not used to a remote workforce, communication and collaboration could suffer under the current circumstances.
As compared to other departments, collaboration for the engineering department is much more critical and the fact that developers will be relatively unfamiliar with a lengthy working from home set-up. Since, they are used to working closely in teams especially if there are junior developers among your team, who will require the most of your support and benefit the most from connectivity with more senior team members. Irrespective of whether your development teams are internal and outsourced, their collaboration and communication skills are being tested in the coming weeks. We are aware that you frequently find it challenging to maintain an effective communication process and support infrastructure.
Even more so, it is beneficial to set clear expectations and goals of whom you and developers are going to be communicating with, when and how often. Who needs to collaborate on projects and communicate effectively to do so. Now that they will be reliant on communication and collaboration tools to stay connected and maintain productivity, such as Slack, Skype, Microsoft Teams, Zoom, GoToMeeting and Google hangouts. It is essential to encourage your teams to continue leveraging them in the same manner when working from home, to maintain efficiency and collaborate effectively.
The main goal of remote working is not to disrupt the teams dynamic. Without further ado here are the leading work from home best practices set up to help your development team adapt to new extreme remote working policies.
Encourage developers and yourself to have a dedicated remote station
The working day is no different; now, teams are not in the office. Set up your workspace, so you have to travel to it and on schedule. Whatever your morning routine is before you dash from the house to leap into your commute. Maintain it, but now you will be jumping from your commute into your dedicated work from home set up rather than your desk at the office.
When developers are at their workstation, get on with a task as you would do as per your office routine. If before meeting kickoffs or stand-ups you usually check your emails and make a bad pun with a team member, continue doing so. Setting your daily calendar, checking your tasks or getting a hot drink or water, replicate that office routine behaviour to get into work mode.
A pro tip from one of our engineering team leaders: Use headphones and music to cut through external distractions. If music itself acts as a distraction then try a single song or a favourite song in a continuous loop, soon your mind will ignore the music and you will not hear any outside distractions.
Help each developer keep accountability for their work
To help limit the distance between teams and maintain the trust, encourage regular check-ins to set objectives for the day. Keeping a spreadsheet with team members’ tasks for the day in a centralised activity log can keep everyone on the same page.It is a practice that should not be limited to agile development teams using Jira. In light of the current circumstances, developers working in different cultures and development frameworks can adapt. A remote stand-up to start the day is beneficial for your developers to discuss what they will be working on, what they have worked on yesterday and any blockers they have experienced.
To get the best out of remote stand-ups:
- Schedule a convenient time – ideally, a morning stand-up is a great way to motivate team members for the day and get a perspective of tasks but be sure to pick a time that you know will benefit your team the most.
- Use the time wisely – stand-ups should be engaging as much of a check-in. Try to keep them at no more than half an hour, if a large team. If in a small group then try for a little less, however, leaving 10 -15 minutes in the end for questions is the best use of the time.
- Give everyone 2 or 5 minutes to share their task achievements and issues – encourage your team to reference their task management boards or centralised activity log, such as if they use agile scrum boards or project planning worksheets. The knowledge of who is working on what can keep open communication lines and suggest collaboration to deal with bottlenecks that arise. Developers can keep track of their work in the same manner by visualising tasks to make it easier to spot where work items could potentially be piling up during the workflow.
- Share small life facts – to help your teams stay connected and bonded during the video call you can start the stand-up by asking everyone to share their dinner plans or if they did, read or saw anything exciting yesterday.
Keep up to date by enabling notification features
When you enable the notification features with your platforms, you will be able to keep up to date with software development activities across your engineering teams.
For example Jira, Slack and G-Suite applications allow you to enable notifications for various tasks and smaller activities. Being this aware of your developer tasks is a great way to maintain and better yet provide transparency to understand how development teams are getting on and whether they need your support.
Another example is by us at BlueOptima, on the UI of our analytics platform, called Active Alerts. This feature gives frequent notifications about interest or abnormal activities occurring within your codebase, you receive an alert about this either on the analytics platform’s UI or better, sent via email.
Our feature alerts engineering team leads on:
- File maintainability changes
- Large commits, with under commented code
- Loss of activity and many more
This is especially handy if your development teams are spread across the globe working from home. The number of meetings and interruptions they will experience during deep work might be fewer, but collaboration takes a hit. This leaves your teams and managers with reduced visibility and communication with colleagues. Our clients have implemented this to fill the gap with helpful insights into activities in the codebase that may affect the team or point to bottlenecks.
Coupled with Jira you can have additional transparency as to what task may be affecting your teams or point to bottlenecks.
A pro tip from one of our engineering team leaders: Teams can also set up some optional midday catch up video calls to resolve any new blockers, but only those experiencing blockers should join while others continue to work.
Software development best practices are to remain the same
Once developers can leverage their engineering tools, such as Jira, the same as they work from home. There is no reason software development best practices as per your organisation’s expectations should slip. Remind your teams that their home set up must be treated the same and that engineering tools are there to help them be efficient with tasks and produce better projects.
Remind them to commit early, commit frequently and encourage more pull requests for review of code to maintain accountability for their tasks.
Steady chats with other developers to stay connected to avoid isolation
Allowing your development teams to use communication and collaboration tools to set up team group chats and establish boundaries as to how they are to be used, is practical for developers to communicate quickly with team members and helps to keep morale high. To share ideas rapidly and have the same in-office impromptu conversations about task issues and projects.
Statistics from a study published by the International Data Corporation had stated that Fortune 500 companies lose around $31.5 billion of dollars every year as a result of failure to share knowledge effectively.
This rapid exchange will sustain knowledge sharing because it is an effective way to deliver information and better communication, including the connection to key stake
holders and business needs. Mostly it encourages you to be part of the conversation and able to direct your teams in real-time with feedback, knowledge sharing and rapid exchanges.
Schedule regular breaks to support developers workflows
Another way to help the efficiency of your developers is to encourage your teams to take 5-10 minute breaks during the working from home day. Neurological studies have shown that our brains are more productive with tasks when we have regular breaks. It is easy during deep work slots, even when working from home to have more deep work slots in a day, which is not efficient.
Likewise, your developer’s focus will be different as they are not in the office. There is the potential impact of task switching along with the fact that distractions will come in different variables such as message notifications of varying group chats, calendar updates, and other family related interruptions. These factors can hinder their productivity.
Therefore support your teams to effectively schedule their workload to be productive with their time throughout the day by reminding them to focus on one task at a time, and discourage them from juggling two tasks simultaneously.
Productivity research on the impact of task switching done by the time management company, RescueTime have shown;
With most workers these days trying to juggle 5 tasks at the same time, we’re losing up to 80% of our productive time each day just to context switching*.
The week is a marathon and not a sprint. You want your teams to be able to complete the week with meaningful results and not burn out.
Development teams’ productivity can benefit from remote collaboration
During this time, your support infrastructure will be tested, keep it robust by ensuring your teams have access to conferencing systems, learning materials and dedicated support personnel to support your team’s communication and frequency. In tandem with the help of these best practices for working from home setup, your identified communication process and support infrastructure will benefit from your extreme remote working policy.
As a final boost to team morale, we recommend you encourage a video on policy during conference calls. Face to face communication will improve engagement across different teams and makes it easier for everyone to get involved while supporting each other. Just as importantly, help your teams to stay safe, work from home, stay indoors and to sign off at the approved hour to signify the end of the working day.
In the second part of this two-part article series, we will be discussing how to maintain productive remote software development with agile processes. Agile processes are better adapted to be flexible in the present time; if you have been running an agile process, then discipline around this will be tested.
*Context switching can kill up to 80% of your productive time (here’s what to do about it) by John MacKay from RescueTime and
The Real Cost of Context Switching by Tim Francis for Forbes leadership