Abstract: The following two trends in modern software development to pay less and profit more: agile development and offshore outsourcing. Let us look at how and when to successfully combine these two trends to enhance the competitiveness of enterprises.
Page content
Agile Software Development Trend
Combined with the trend
Use the right practices and tools
Communication, communication, communication
In the post-bubble era, IT budget was greatly reduced, resulting in the budget in short supply, so managers have to seek more cost-effective solutions. In this case, the flows to emerging market countries, outsourcing software development (offshore development) started to trend. Economic driving force is not the only driving force for this trend. Recent advances in the communications infrastructure brought about by the rapid growth played an important role.
Distributed teams, whether traditional or offshore outsourcing in particular, can use the Internet Protocol (VoIP) software, instant messaging software, e-mail client and wiki easier for online communications. Moreover, it is now more inclined to use the wiki and other online tools rather than personal communication, as these tools will not only convey information, but also help to organize and store information. These tools can also be effectively distributed to a large number of recipients of information.
These can be used in the context of rapid global Internet connected the same enhanced features of other tools, that the acceleration of one of the reasons for offshore outsourcing. By modeling tools, distributed team easier to understand the document. Error tracking, source code control server, Web portals and online collaboration tools will help to coordinate distributed projects. Terminal Services and Virtual Machine simplified remote testing and management.
Under the influence of the Internet, emerging market countries are also developing high-tech. Internet across the political boundaries, developing countries such as Russia and China, tens of thousands of young people to learn through its most advanced technology and improve their English. This access to quality education through the Internet to become the new wave of software engineers has also exacerbated the trend of offshore outsourcing.
However, the rapid growth of offshore outsourcing also raises the political debate. This discussion assumes the existence of offshore development has practical significance, but we will focus on maximizing the return on outsourcing employment brought. Political factors will not affect our decision, but we will make reference to McKinsey Global Institute has examined the resources available after the list, because this quantifies the outsourcing to the United States Jingjidailai of Yi Chu, but also rejected a number of outsourcing of Shenhua.
Agile Software Development Trend
Now to discuss the domestic situation. In China, many managers and engineers are pondering another trend is emerging: Agile software development. In today's changing business environment, the slow "weight" approach can not meet the requirements. Now need to produce more with less investment profits, and bureaucracy is no longer a return on investment (ROI) the best way. Agile has the advantage of collaboration, flexibility, and its software business value contribution is reflected in the "Agile Manifesto" core principles: the processes and tools based on independent work and interaction, in the integrated document based on the use of software, in contract negotiations on the basis of customer collaboration and plans in compliance with changes made based on the response (see resources).
Agile largely to meet the new Internet-based business (often referred to as Web 2.0). Some of the new venture by agile software development can pay less, more profitable, but also by a small team with a small budget to complete large projects. This short iterations and working principles are reflected in the software called "continuous testing" (constant beta) practice, the name stems from a number of Google products (their logo contains "beta" term).
However, agile methods are not "universal" approach. The method is most suitable for small, the same location to address the rapid changes in the team situation.
Figure 1. Point to point and service bus integration
Although in some cases, agile software development applications will encounter problems (for example, applied to the use of offshore outsourcing for distributed development), but in the past five years, I successfully applied agile development principles to the distribution type team, which demonstrates that if used properly, this development method can also bring great rewards.
Figure 2. 3 Integration Layer
There are other shows will bring the issue agile software development case. These cases are: a large development team (a separate project has involved more than 20 staff), the predictability of critical systems (life-critical applications), and the bureaucratic environment. We will not discuss these cases here, and we will assume that the company Yijing to agile development into their corporate culture, Bingqie listed here in Guandian intend to apply to less than 20 software team Zhong (here, 20 people are Zhi a number of specific team or project, rather than the number of the entire development team). We will discuss how to apply agile methods to distributed development, and particularly the traditional offshore outsourcing.