This is from a 2007 research paper: A team of researchers explored why two teams of the same size with the same goals and the same team leader in software engineering had such contrast in performance in virtual settings.
When a temporary displacement made the team leader work in a time zone six hours ahead of the rest of the team, one team witnessed an increased productivity, while the other floundered and eventually had to be shut down.
The reasons for failure of the software development team reported were: poor pattern of time organized for meetings, disregard for member happiness, and unequal dispersion of skill sets.
15 years and one pandemic later—when the software industry has equipped itself with advanced communication tools, agile methodologies have fully evolved, and mental health, happiness, and work culture are a priority for employers, global software development industry achievements have managed to paint a new picture, molded in the following frame.
Yet there is a parallel reality. A reality inflicted with doubts, delay, and difficulties. And that even after monumental achievements in communication technology and agile methodologies, managing software developers in remote settings, be it from the same company or any offshore software development company, is still a big challenge.
According to McKinsey, “the experience of remote working can lead to inefficiency and reduced cohesion.”
Image source: www.mckinsey.com
It is quite evident with this data that the problems of remote software development team management are intrinsically inherent to human behavior. Lack of trust in each other, followed by reduced face-to-face communication, and unequal treatments are common challenges that remote teams face today.
These challenges increase in manifolds when there are language barriers, social-cultural differences, and disbalance of technical and attitudinal skill sets, commonly observed in offshore development teams.
In our attempt to solve the challenges of remote and offshore development team management and develop best practices, we have combined three ways:
- Built a foundational framework of team behavior on the 10 Good Teams principles recommended by the Standish Group Chaos 2020: Beyond Infinity report.
- Explore what has worked for successful offshore development companies so far in remote team management
- Use our own experience of providing offshore software development services for 12 years, and successfully completing more than 200 software projects.
Here it goes!
1. Formation: Individuals into Team
If you are hiring remote software developers, the first step is to convert individuals into a team by helping them adopt a fresh perspective to look at each other, as a “value addition” to the software development team.
It does not matter how you are engaged with the remote software developer, whether through an offshore software company or freelancer, everyone should feel included, the part of the team working on a common goal.
To do that, as a project manager or IT service leader, you need to influence them rightly to find a respectful place in the software development team. The influential principle is one of the first Good Team principles by the Standish Group. According to Robert Cialdini’s six principles of influence, these six principles influence people to change their behavior and undertake the right action.
2. Attitudinal Factors
The second in the row of 10 Good team principles by the Standish Group, mindfulness is about being in constant connection with the present moment, and not letting opinions of the past take over the decision-making requirements of the present.
Since offshore and remote software developers rarely get the chance to mend over past incidents with corridor talks or watercooler conversations to sip in the hurtful comments and start afresh, the principles of mindfulness may help them while reminiscing bad experiences.
According to Jon Kabat-Zinn, an American professor emeritus of medicine and the creator of the Stress Reduction Clinic, there are 7 attitudinal factors that act as a pillar of mindfulness.
Take a look at the 7 attitudes that project leaders can develop in themselves to manage remote and offshore software development teams.
|Non-judging||Being an impartial witness of your own experiences and your team members.||As a project leader, having a neutral view of your team members helps you understand their strengths and weaknesses and select the right course of action to surmount them.|
|Patience||All good things take their time and space.||Putting unnecessary pressure on the team to get immediate results would only harm your cause. Instead, focus on building the right processes and timelines to manage what to expect and when.|
|A beginner’s mind||Look at people and experiences with fresh perspectives every time.||It is about giving a chance to people, in every conversation, by getting over the biases and opinions. Meeting as if you are meeting them for the first time, and with an open mind.|
|Trust||Learning to trust people and our own instincts.||It helps in an effective delegation of responsibilities to the team. When you trust people that they can learn and upskill themselves and that you have created a learning environment for them, you can easily trust them to do the job.|
|Non-striving||Taking a break to celebrate the milestones.||Constant chasing of tasks and timelines may exhaust your team, and take away the “happiness” of doing the job every day. It is important that you give them the time to relax and contemplate.|
|Acknowledgment||Be open towards unexpected feelings.||Every software developer may not feel the same way about an incident. As a team leader, you must acknowledge their feelings, and allow them to feel that way instead of pushing them to the edge.|
|Letting Go||Take a step back, observe, and reject whatever may hamper the project’s success.||Even as a team leader, you need to track your actions and decisions to ensure that your actions are not motivated by opinions but fact.|
Disagreements, disputes, mistakes, and iterations are part of the software development team meetings. By inculcating the culture of mindfulness, remote software developers could easily get over “what has happened in the past ” and focus on “now” to build solid work relationships.
3. The Five Deadly Sins Principles
According to Standish Group, a healthy project ecosystem requires software team lead and developers to have strong emotional maturity to support the skills to be self-aware and develop abilities to manage team relationships.
The Group has outlined 5 deadly sins that often prevent software development teams from achieving this emotional maturity.
This emotional maturity is also essential when managing an offshore or remote software development team. As failing to have it leads to project failure, dispute, loss of productivity, and high attrition rate. Here are those 5 deadly sins and ways to surmount them.
|Overambition||It impacts the risk assessment of behaviors of software developers that affects their ability to conduct requirements assessment leading to project overruns.||If found that someone’s overambition is causing harm to the morale of the team, you need to validate the roles and responsibilities, conduct regular meetings, and break the project into small implementations to prioritize requirements.|
|Arrogance||It refers to an evidenced behavior of overbearing pride directed at superiors, peers, and inferiors. It prevents building a conducive environment for risk assessment.||Confront directly, and make sure that individual roles are aligned with project goals, and every one understands their contribution to the project and has the ability to view aspects from an unbiased eye to bring honesty to the project.|
|Ignorance||It is indicated by being unaware, uninformed, uneducated, and unsuspecting about the project goals, direction, opportunities, and challenges.||Simplify communications, keep messages to the point, use an easy-to-use decision pipeline, and create educational opportunities.|
|Abstinence||It is characterized by refraining from contributing to the project or participating in team activities.||4 pillars of R: Require-all stakeholder participation, Regular-Keep meetings regular and recurring, Replace-Remove members who are not contributing, Review-Review and reevaluate participation.|
|Fraudulence||Deliberate trickery or action to deceive team members to gain advantage or avoid confrontation.||Maintain transparency, measure performance, and mandate a formal change process to prevent blindsiding.|
4. Problem Solving
In the context of offshore software development team management, problem-solving can be interpreted on the basis of the root cause of the problem, whether it is a person in the software development team or any constituent of the IT project, for example, its complexity or the bulk of the work or conflicting goals.
As stated in the CHAOS report 2015, by Standish Group, “inside of every complex problem are simple solutions.”
The statement itself serves as the guiding principle to approach a problem and that is to break it down into parts and then address the challenges one by one.
As you might be communicating through video conferences or email or phone calls, addressing the problem in chunks would give enough time to the remote and offshore software developers to sink in the proposed solution and sort it out the rest of it.
However, you need to be sure to complete the cycle of a solution, once begun, instead of keeping loose ends that might create problems in the future.
As a matter of fact, communication in an offshore software development environment is a widely studied area. It is integral to software development, one that occurs at every phase of the software development cycle, with teams in the project, whether they are from the same company working in virtual settings, or outsourcing, offshoring, or nearshoring.
Here let us explore communication in distributed settings and how remote and offshore software development teams can effectively communicate virtually.
|Types of Communication||Action|
Communicating with remote and offshore software developers can either make you feel exhilarated to take up new challenges or leave you frustrated in every interaction.
By taking these measures, you may break the barriers of communication, mainly socio-cultural and language differences across time zones.
6. Accept AS IS
When you hire software developers outside your geographic locations, they bring to you the talent required to do the job. But at the same time, they also bring their individual qualities, cultural beliefs, habits, and practices arising from their environment and ethnicities.
As a team leader, you must provide a conducive environment to ensure better adjustment between these individual qualities and organizational standards.
Accepting them “as is” along with their qualities is important to make them feel included, which does not necessarily mean your personal approval of the practices, but your recognition of human equality, innate dignity, and basic rights.
|Fundamental Attitude of Acceptance|
|Acceptance without prejudice||It does not require personal friendship but understanding and respect for human values. It is translated through courtesy, patience, willingness to listen, and not being critical of “complaints or requests”|
|Accepting the potential and possibilities||It means accepting the person for the value they bring to the job to the point of growth.|
|Build dynamics||Provide help and strength, characterized by efforts to recognize, receive, and establish relationships with individuals as they actually are and not in a distorted reality of how you want them to be.|
You may need to hold sensitivity and diversity training to help team leaders and other team members to accept people “as is”.
7. Conscious Decision to Respect
When dealing with remote software developers, a conscious decision to respect the team members would help you “channelize their potential” in a positive direction.
Whereas disrespect is treated as humiliation, which is not easily forgotten or forgiven by an individual. It might invoke frustrations, anxiety, and disappointment within the team, which is difficult to identify in software developers working from remote locations until the damage is done.
Stands 7th position in Good Team principles by Standish Group, respectfulness helps you ensure that every software developer works with dignity and feel free to express their view according to organizational standards.
The fundamental principles of respectfulness are:
|Accountability||Be very clear with who is accountable for what, and the reporting mechanism. However, it should be expressed in a way that reflects collaboration, trust, calmness, and listening instead of creating a division between the team.|
|Fairness||Keep procedural, interactive, and distribution fairness in task management. Let no remote software engineer feel that someone is entitled to an outcome by virtue of “who they are” and “what they have done in the past” instead follow the principles of equity.|
|Transparency||Set transparent goals, emphasize on the importance of individual contribution, effectively communicate responsibilities, and establish metrics to measure performance.|
What happens if something goes wrong in the team, whether it is a bug in the software application or a new requirement that arises out of nowhere or complications from a behavioral issue?
Handling of mistakes or unwanted situations should provide a “learning” value instead of instigating “at any cost” behavior within the team. It is important that all confrontations remain respectful, and not predatory in nature with an agenda to bring someone down.
If you are working with remote software engineers across time zones, create a robust reporting mechanism that offers a constructive approach to resolve the problem in time.
|Fundamentals of Reporting Mechanism|
|Reporting infrastructure||Define what amounts to violations, compliance issues, and misconduct, set up processes and people for reporting, and use tools to enable reporting.|
|Intake methods||Determine the intake methods for reporting, for e.g. text messages, emails, project management tools, or video calls. Apply meaningful metrics and ensure open-door communications with managers and supervisors to support an ethical culture.|
|Engaging stakeholders||Fix accountability and responsibility and engage all stakeholders till full resolution.|
|Effective management of the reporting program||Classify integrity line, guideline, value line, helpline, making the difference line, compliance line, ethic line, and alert line within the project and the organization and carry out training initiatives based on them.|
New reports suggest that workplace incivility is at an all-time high. In 1998, 25% of people surveyed have experienced incivility at the workplace, which rose to 55% in 2011, and reached 62% in 2016, according to Christine Porath, an associate professor at Georgetown University and author of Mastering Civility: A Manifesto for the Workplace.
If incivility issues go unaddressed in the workplace, it leads to higher turnover, more absenteeism, and lower productivity.
But the greater problem lies in identifying “what is civility” for that particular person or the team. As in, different people in different geographical locations have different norms of civility. For instance, what may be “cool” to an American or Indian may not be “cool” to a Ukrainian or Filipino due to differences in culture.
In that case, maintaining organizational civility becomes more challenging. However, there are a few factors, focusing on which, IT leaders and project managers can create a culture of workplace civility across the organization, especially in remote and offshore software development teams.
|Factors to Create a Culture of Workplace Civility|
|Outline expected behavior||Make sure that no action is inspired by the animosity against a person on the basis of protected factors such as race, color, national origin, sex, and religion.|
|Encourage tolerance||Foster a tolerant environment so that all software developers can work to their full potential. Keep an open mind and make genuine efforts to step outside the comfort zone.|
|Measure the impact||Measure the impact of civil and uncivil behavior, and reward or punish the person, regardless of who they are.|
10. Hierarchy of Needs
Highly motivated and driven people are integral to a mature software development team.
However, motivation works for different people and at different levels. The same motivation may not be effective for remote senior software engineers with 7-10 years of experience compared to junior software developers with 2-5 years of experience.
Maslow’s Hierarchy of Needs theory depicts the levels in a pyramid structure, classifying the overall needs in two different types: Deficient Needs and Growth Needs. According to Maslow, first an employee attempts to achieve the deficient needs and then strives for growth needs, as depicted in the image.
Image source: www.simplypsychology.org
So for eg., when you hire remote software engineers, you must first work towards meeting deficiency needs, such as mentally and physically compliant work hours, job security, inclusiveness, and respect. These are compulsory factors to stay and work enthusiastically in the organization, but not for long enough.
Once the team achieves these levels, motivation would start to decrease and they would aspire for the next step—growth needs, which mostly could be achieved through promotions, learning, and compensation.
A Quick Look Back
Effective management of remote and offshore software development teams needs you to stay on top of the process, people, and tools. By empowering your teams on these three factors, you can maximize the team’s maturity level and increase the chances of project success. Here is a quick look back to the best practices for managing remote software developers.
- Formation: Individuals into Team: Help remote software developers find respectful place in the software development team.
- Attitudinal Factors: Create an ethical and respectful workplace culture that enables remote and offshore development teams to work with dignity.
- The 5 Deadly Sins Principles: Identify the 5 behavioral patterns that dampens the morale of software developers and may lead to project overruns.
- Problem Solving: Breakdown a complex problem in chunks and find simple solutions for each of them.
- Communication: Fill the gap of corridor talks with virtual fun events and respectful and friendly communication at all the levels within the offshore development team.
- Accept As Is: Leave aside your biased opinions and step out of the box to accept cultural habits practiced by offshore software developers across various geographical locations.
- Conscious Decision to Respect: Be mindful of how you interact with remote software developers because you get fairly less chances to compensate for misdeeds.
- Confrontations: Build solid reporting mechanisms to address mistakes, violations and increase compliance within offshore software development teams.
- Civility: Reward civility and determine punishment for incivility regardless of “who they are.”
- Hierarchy of Needs: Address the deficiency and growth needs as and when required, which may not be the same for senior software engineers working remotely and entry level software developers.
Book a Free consultation
Drop in your details and our analyst will be in touch with you at the earliest.
6565 N MacArthur Blvd, STE 225 Irving, 75039, United States