Agile Project Management – How to Make it Work Abroad
“Rightsourcing” agile development
For many companies it seems difficult to make agile project management methods work when you put the software development of your company abroad, having close-working, collaborative teams, self-governance, and rapid, time-boxed development. And yes, to a large degree, agile development abroad does make it harder, if you do not have good tools and methods.
According to a September 2012 Forrester report on “rightsourcing” agile development, “geographically distributed teams add complexity [to agile development], making it harder for teams to communicate the flow of work, backlog status, and issues and impediments.”
However, over the last few years, several outsourcing providers have developed good agile development offerings (Ciklum is no exception of course) to make it work having cross-country teams. I came across some simple tips from the CIO’s Outsourcing Section that I would like to share with you.
1. Be Prepared
Having daily scrum meetings via Skype or another video conferencing system is the key to make distributed agile development work. But to make it work smoothly, you need to be prepared with good routines. You don’t want to spend 15 minutes finding a meeting room and setting up equipment for a 15-minute meeting (not that this is ever something that you want to do). The Forrester report tells it all: “wasted time searching for rooms and equipment to support communication seriously impedes agile transformation.” You need standards, and not only communication tools, but also software tools and methods for sharing and discussing artifacts.
2. Know the teams you’ll be working with
In the end, great development is about people and great cooperation. In agile development team dynamics are a major factor to success and there is no difference when the team is located in another country. Open communication, close collaboration, shared goals, and common business values are critical to the success of agile processes. It’s important to break down barriers as much as possible between all project stakeholders, including the engineers, programmers, end users, client companies, and management.
3. Manage Actively
In theory, agile is supposed to be an organic, hierarchy-free method of software development. But in practise, you need to actively manage it. Find the right recipe with people onsite and on the location.
4. Invest in OnSite Training
Occasionally face-to-face meetings and on-site training between remote team members can be extremely beneficial, especially when the project begins or when your teams reach important milestones. Although travel expenses can add up, periodic visits help the project progress more smoothly.
5. Pick the Right Partner
According to Forrester, some outsourcing providers employ agile methods in less than 20 percent of their development work. Other outsourcing providers build their whole business around agile development methods. Ciklum for example has developed CAMS – The Comparative Agile Measurement System.
In 2010 Ciklum realized how difficult it was for companies to become Agile in multiple locations and therefore, Ciklum built a tool that was able to 1) Determine whether clients’ Agile software development and project management (PM) processes were effective enough to add a long-term value to their business, and 2) Improve Agile teams’ efficiency and flexibility.
Pick the right partner and don’t engage providers in agile development projects unless they have a proven track record.
6. Account for Time Zones
Have in mind the time difference. For example, having daily scrum meetings with a team in India is another thing than having daily scrum meetings with a team in Ukraine where the time difference is only 1 hour. You don’t want projects to get held up as your development team wait for you to get online to answer questions or approve iterations.
All in all
Choosing the right combination of outsourcing processes is important to succeed. Daily communication is needed to overcome barriers of cultural differences, distant time zones, and languages. And when all the right pieces are in place, the benefits of outsourcing will far outweigh the investments in time and energy. Thanks to continued improvements of communication technologies, as well as providers having good processes and best practice methods in making agile development work, outsourcing is more convenient than ever before.
Sources: CIO, Orient Software Developmet Corporation