Are Social Networks, Agile and Cloud Changing Offshore Software Development?
In his famous book “The world is flat”, Thomas L. Friedman talks about the convergence of events which led to many countries becoming a part of the global supply chain. This resulted in definition of new rules of economics. Israel Gat takes the concept further to suggest that software development has ceased to be location dependent, thanks to Social networking and collaborative techniques.
Historically, using Agile with Offshore software development has worked well albeit with some challenges. Martin Fowler described his experiences with Agile and offshore and mentioned the pros and cons of the combination. Jeff Sutherland described the way SirsiDynix used Scrum to integrate with the offshore development team. On similar lines, Thushara Wijewardena, suggested the benefits that Kanban could bring to offshore projects. According to her,
I see that Kanban together with some scrum disciplines will also be a good combination. Its all about trying out these methods in offshore environment and seen the benefits, drawbacks and improving your offshore - agile practices.
Kuadriga mentioned a lot of benefits that they observed when they started using Scrum for offshore development. According to them,
What we find is that SCRUM is extremely helpful in breaking down barriers of distance and increasing mutual trust in the team. "Team building" activities are necessary for successfully launching new teams and it is useful to let all team members meet a few times a year.
Software is no more a world of places – Silicon Valley, Seattle, Bangalore, Krakow or Tel Aviv. Rather, software is fast becoming a world of work streams. These streams are tied together through social networking and collaborative techniques in which virtual team spaces replace the site, the conference room, the metaphorical shelf on which the software artifacts are stored… and the water cooler.
According to Israel, the three main drivers for software being developed as a world of streams are
- Shortage of talent – Highly skilled programmers are not necessarily available within a 25 mile radius.
- Economics of on-demand computing – The emergence of cloud infrastructure has made the computing environment available to the masses as compared to just large software houses.
- Decomposition of requirements – Agile movement places a lot of emphasis on user stories as tiny and as fine grained as a single client-value function. This makes it easy to get the development done across various streams.
Israel suggested that development managers can utilize these trends very effectively.
Forward-looking development managers already utilize the three trends to achieve impressive results in productivity, time-to-market and cost of software. They “acquire” talent on a per-task basis wherever it resides through marketplaces such as those mentioned above. They procure computing resources inexpensively, when they need them, through the good services of Amazon Web Services or similar providers. And, they effectively oversee the work stream(s) of dispersed programmers and testers through Kanban tools. These three ingredients of the ‘secret sauce’ are immediately available to anyone who is willing to take the initiative to use them.
According to Israel , the combination of above factors would significantly diminish the value add perceived by pure play offshore outsourcing. According to him the development managers themselves can harness the power of social network and get software development done using tools like LeanKit Kanban, oDesk, Sococo and/or uTest instead of relying on an outsourcer to bring talent to the table. This would significantly change the dynamics of outsourcing.
Thus, though Agile methods have historically worked well for offshore development however, with the world getting flat, the emergence of cloud and the focus on techniques such as Kanban the outsourcing model is likely to change. As Israel described,
I would be a little nervous these days if I were in the outsourcing business. My ability to recapture value through labor arbitrage is being eroded by the twin ‘brothers’ – Social Networking and Kanban. A third ‘brother’ – Cloud Computing – enhances and accelerates the erosion.
Off-shoring and Moving from Waterfall to Agile
For example, most of the Indian IT companies have heavily invested in CMMi process - they need to figure out how CMMi & Agile can co-exist.
Re: Off-shoring and Moving from Waterfall to Agile
social networking for distributed teams
We have found its useful to place an offshore team member some some period with the client, in order to bridge the cultural divide resulting the reduction of communication gaps and misunderstandings.
Too optimistic on social network
Kanban will definitely help in working as a team using the right-sourcing. social n/w can bridge the culture-gap and improve team motivation, nothing more.
As far as Indian companies are concerned, they have a long way to go in adopting to agile methodologies. Till last decade, they had been pushed by the clients to showcase their waterfall model skills, with emphasis on documentation.
Since you linked to the SirsiDynix article
You point to it being a success story but it was far from that. The project they were doing offshore scrum on (Horizon 8) was canceled - in part due to many overruns in the project. The US developers I talked to point blame the russian developers for substandard code and constantly breaking things in the build.
You should look deeper into the SirsiDynix experience and not just take that story at face value. I would hardly consider a very expensive failed project a shining example of good offshore development.
Social Networks is not better than Video Conf
Agile and offshore
It's probably better to say that they have helped in limiting the damage!
I think we need to totally redefine the model.
Can social net + agility + cloud helps? Anything that goes into the direction of closing gaps and give flexibility helps.
My 2€ cents,