Communication in globally distributed software development environment
Communication has been reported as one of the biggest challenges in the globally distributed software development environment. It is intuitive to think, that agile methods are not suited for distributed development performed by scrum teams sitting thousands of miles away from each other. We know, how much Agile Methodologies emphasize on the significance of face-to-face communication. So how do we counter this challenge in a globally distributed development environment?
When we decided to apply agile development methodologies at Mascottech | Techverx, one of the many challenges was to ensure optimum level of communication. Thanks to latest communication technologies and some innovative project management thought process, we are able to achieve our goals in an efficient manner. So here are 5 (of several other) practices, we found useful in ensuring clear, accurate, efficient and effective communication. (From a software development outsourcing partner's perspective) 1- Video Conference and Live Streaming: Utilize the best available video conferencing systems in your delivery centers. Latest technology can help distributed teams have virtual face to face meeting anytime, and anywhere. Deploy video conference solutions in training rooms, meeting rooms, development floors, on workstations, tablets & mobiles, and even in the cafeteria, so your engineers are able to engage in detailed meetings or even small talk anywhere. There are several choices in the market, ranging from high end telepresence solutions like Avaya, and Polycom to affordable web conference solutions like lync, fuze, skype, google hangouts and cisco webex etc. In nutshell, connect onshore and offshore facilities through latest and HD video conferencing solutions. 2- Project Planning and Management Tools: There are several off the shelf, and online project management tools you can utilize for project planning and management. Select the tools carefully according to the project needs and team structure. You will come across numerous choices such as Basecamp, Microsoft Project, Atlassion, Wrike, Podio, Pivotal Tracker and many other. However, it’s very important to understand your team structure and project needs, and utilize the right tool accordingly. We even built in-house tools for certain projects because the structure demanded fully customized features. Project management software should help people in different roles with different responsibilities to communicate and work together. It’s a place to share files, have discussions, collaborate on documents, assign tasks, and check due dates. And all of that with utmost security. 3- Designer Collaboration Tools: When working with distributed scrum teams, Designer collaboration tools come in very handy- they make it easier and faster for designers and programmers to get feedback in an effective manner, Some of the noteworthy collaboration tools: Trello, Yammer, Flatsi.es, Red Pen, Envision, Mural.ly, Go Visually, MindMeister, ConceptBoard, and GroupZap
4- Agile awareness and training: You can use all the tools in world, but they will not work, unless you create awareness in your staff and ensure they understand the agile methodologies and their purpose. We have used several training resources, paid and free, to upskill our scrum teams. It includes courses at local universities, seminars and conferences, online training platforms, community collaboration etc. Below are some useful online training platforms:
5- Cross Cultural Awareness: Lack of Cultural understanding can lead to miss-communication and friction. Generally, offshore teams will come across two types of cultures, Geographical and Organizational Culture of the clients or the overseas scrum teams. We found it useful to have an expert team dedicated to create cultural awareness. This is very effective, if done right, especially for the deployment of long term dedicated development teams. Outsourcing service provider should emphasize on the core values, and the mission of the client, over and over again. Let the team see their decisions through lens of client's core values and the mission. Create a similar environment (in the dedicated overseas offices), deploy the similar systems, replicate the same management approach, and branding (client' posters/banners) would help too :) We also found it useful to have someone onshore, usually a project manager who is well acquainted with both the cultures and teams, to meet the customers and/or onshore development teams regularly. Even better, If you can fly the team over every now and then! Face to Face Meetings: Video conferences and online collaborations are effective ways to minimize the impact of inability to hold frequent face to face meetings due to distance. However, no one can deny the higher rewards of face to face communication. Harris K. Niazi President & Country Head Mascottech LLC | Techverx Hillsboro OR 97124 Email: firstname.lastname@example.org