Skip to main content

skip to main content

developerWorks  >  Rational  >

Software engineering in China: The next big thing

developerWorks
Document options

Document options requiring JavaScript are not displayed


New site feature

Check out our new article design and features. Tell us what you think.


Rate this page

Help us improve this content


Level: Introductory

Gary Pollice, Professor of Practice, Worcester Polytechnic Institute

15 May 2005

from The Rational Edge: China is gearing up to become a serious contender for American and European software development outsourcing contracts. This column reports on what the Chinese government -- and the country's universities and businesses -- are doing to train professionals and upgrade domestic software development practices.

illustrationSoftware is ubiquitous. It runs our businesses and controls our phones, entertainment devices, appliances, automobiles, and countless other things that humans manufacture. Even sneakers! Adidas recently announced that its latest running shoe has an embedded computer chip to adjust the shoe's performance for each individual step during a run.1 Although the United States now has the greatest number of companies that depend on automation, the rest of the industrial world isn't far behind. Just observe how many people in cities around the globe are walking down the street -- or worse, driving a car -- with cell phones glued to their ears.

Years ago, the term software crisis entered our everyday vocabulary because it was clear that we needed more software than we could produce. How can we keep up with the demand without sacrificing software quality?2

Many companies have turned to international outsourcing, where India and Eastern Europe lead the market for software services. Both offer an educated workforce available at low cost for high-quality work. But today, another important contender is entering that marketplace: The People's Republic of China. For years, the Chinese educational system has been gearing up to meet the demand for software engineers who can compete in the global marketplace. Below, we will look at China's emergence first from the perspective of Professor Haiqing Liu of Wuhan University, a visiting scholar at Worcester Polytechnic Institute during the 2004-2005 academic year. Then, I will report what I learned from my own informal, Web-based research on the state of the Chinese software industry.

Two phases of development

According to Professor Liu, Chinese software engineering has proceeded in two distinct phases. In the first phase, people recognized the need for software engineering instruction in the college curriculum. Now, in the second phase, software engineers are graduating from the universities and moving into the marketplace.

China began to consider software engineering as a serious discipline around 1982, when China Machine Press and McGraw-Hill published a first edition translation of Roger S. Pressman's Software Engineering, A Practitioner's Approach as a joint effort. This triggered a period of research and development in the universities, or academies.

Several Chinese academicians entered into software engineering research in the early 1980s, and a major milestone during this period was the publication of A Programming Development Environment Conforming to Various Ways of Programming by Professor Zhisong Tang of the Institute of Software, Chinese Academy of Sciences (ISCAS). An Academy member, Professor Tang is well known for his work in temporal logic and perhaps best known for a set of tools he developed, known as the XYZ tools. He constructed several software development environments using the tools that included a set of hierarchical languages based upon temporal logic. In Chinese, the system of languages is called Xiliehua Yuyan Zu; hence, the XYZ label.

According to Professor Liu, another major contributor to Chinese software engineering is Professor Fuqing Yang, a Chinese Academy of Sciences member and the leader and chief scientist of the Jade Bird project. Started in 1983, this is China's largest and most important software technology research project; it has received funding and support through five consecutive state-sponsored five-year plans. With more than 300 contributors from more than 20 institutions, Jade Bird represents academic collaboration and cooperation on a scale unparalleled by any project here in the United States -- although many programs administered by the National Science Foundation and the National Institutes of Health do have as many contributors to the different sub-projects.

Jade Bird's goal is the development of the Chinese software industry through "doing research and practice of industrialization of software production, providing advanced software engineering technologies tools for software development enterprises, and helping them to improve their software processes."4 The project has introduced many modern software engineering practices, such as component-based development and product families, to Chinese software engineering students and practitioners.

Professor Liu describes Jade Bird as a series of releases that have evolved into a modern software development environment. Significant milestones include:

  • Initial release in 1990 supporting structured software development

  • Second release in 1995 adding object-oriented development support

  • In 1997, addition of component-based reuse and support for product families

Today, the ongoing work involves adding new features, improving usability, and developing a component library to promote high-level reuse.

A third notable in Chinese software engineering is Professor Jiafu Xu from Nanjing University, who has done extensive work in software theory, program transformation, and formal program representation. He was also influential in founding the State Key Laboratory for Novel Software Technology hosted at Nanjing University.

His efforts are at the forefront of program analysis. While his work on security and reliability is quite theoretical, his results are applicable to the development of reliable software.

Professor Liu claims that the second, practical phase of software engineering advancement in China began in the 1990s and has produced more than 3,000 software enterprises. Although most are small-to-medium-sized enterprises, a few number more than 1,000 people.

Professor Liu claims that fewer than ten of these enterprises have achieved the Capability Maturity Model (CMM) Level 3 (defined), which means having standard process descriptions and procedures in place to achieve predictable software development quality, cost, and schedule. Perhaps this means that important software engineering knowledge has not yet found its way from the universities into industry.

For China to compete effectively with India for outsourcing business from the Americas and Europe, these companies must improve their CMM levels. At present, India has perhaps the highest percentage of software companies rated at CMM Level 3 and above. Often, large corporations are compelled to award contracts only to suppliers with CMM certification,5 so the rewards for Chinese companies who establish software process improvement programs could amount to hundreds of billions of dollars.



Back to top


An outsider's view

Based on Professor Liu's descriptions, I sat down at my computer to look for other indicators of contemporary Chinese software engineering practices. I found more references than I could possibly pursue, but as I browsed, a picture emerged of a country with a clear set of goals and a plan for attaining them.

Programs included in the government's comprehensive five-year plan (encompassing many concerns beyond the software industry) receive high levels of funding and support. The current five-year plan -- tenth in the series -- expires later this year and includes these major objectives:6

  • Maintain a relatively rapid speed for economic development and further economic restructuring; improve economic growth, quality, and efficiency. All these will lay a solid foundation for achieving a 2010 GDP double that of 2000.

  • Build modern corporate systems within state-owned enterprises and establish a sound social security system.

  • Increase employment opportunities and improve living standards in urban and rural areas, while continuing to strengthen protection of the environment.

  • Speed up the development of science, technology, and education to further improve the quality of people's lives.

This plan also has a major emphasis on information technology, as this text from the plan's summary illustrates:

The first five to ten years of the 21st Century is an important period for our national economic and social development. It is also a crucial time for the rapid development of the information industry. Rapid advancement of and keen market competition in the global information industry and information technology brings a valuable opportunity for our information industry, but on the other hand, it brings about a great challenge. The Fifth Plenary Session of the 15th Central Committee of the Communist Party of China clearly pointed out that informatization is the key in promoting industrial advancement, industrialization and modernization. Therefore, national economic and social informatization should be the first priority. Putting effort into promoting national economic and social informatization is a strategic action in the fulfillment of the whole modernization construction plan. It aims at using informatization to promote industrialization and actualize the expeditious development in productivity. It is the very first time for the Central Committee of the Communist Party of China to put informatization in such a high strategic position. This is a great strategic decision made by our Central Committee, which stands at the forefront of this era. This decision has a great and deep historical and reality-oriented meaning. Hence, fostering our IT manufacturing industry, telecommunications industry, and software industry; and promoting the progress of the national economic and social informatization in our country is the top-priority mission of the Ministry of Information industry in the "Tenth Five-Year" period.7

My Web search confirmed that the program to improve Chinese software engineering practices is already in full swing in the universities. The challenge now is to move it to industry as quickly as possible.

At the end of 2001, the Chinese university system instituted the Master of Software Engineering degree. Acceptance for programs at the fifty-one universities now offering this degree is highly competitive, and the schools are producing a steady stream of trained software engineers for industry. At Beijing University alone, more than 1,000 students were enrolled in the program during 2002.

We should start to see the effect of these programs during the next five-year plan. A back-of-the-envelope calculation indicates that at least 30,000 Chinese graduates with MSE degrees should enter the software marketplace each year. This is in addition to the number of undergraduates and programmers trained in other trade school curricula, which brings the yearly entry total of trained employees to more than 100,000. In 2002, only about 250,000 people were employed in information technology jobs in China; this number should increase five- to tenfold during the next few years.

The Chinese government describes the MSE program as follows:

... the course of study for the Master of Software Engineering is different from that offered at most colleges in computers and software. The curriculum will follow an international model of software education in training senior software engineers. Courses will stress practical education and technical ability aimed at fulfilling the demands of software enterprises as well as fostering senior, practical, complex, and international senior software talents and managers. People who hold the Software Engineering Master's Degree should be capable of designing and developing software as well as organizing and managing projects and have good command of foreign languages and the ability to face international competition.8

Clearly, Chinese officials recognize that for China to become a major outsourcing alternative for the rest of the world, its software professionals must be able to communicate in their customers' language. This ability has helped the Indian outsourcing industry achieve prominence. In addition to being technically well-trained and disciplined, Indian software engineers have had extensive training in English. The Chinese have not yet attained the same level of English fluency, which may be the biggest fly in their ointment.

Of course, education is not the only factor that will move the Chinese information industry ahead. On-the-job experience, better equipment, more effective business practices, and many other factors will also be critical for success. I have no doubt that the Chinese will overcome these obstacles and become a major partner in the worldwide IT industry. And as this happens, businesses in other countries will also need to change in order to keep up and prosper.

Although I don't have a crystal ball, I see many win-win opportunities ahead for the international information industry. Each society and culture will develop core proficiencies and find ways to collaborate and advance; collectively, we will overcome the software crisis. As long as our industry enjoys support from programs like the Chinese software engineering initiative, international cooperation, innovative tools, and process improvement, we will continue to live in interesting times.



Back to top


Coming next month

Next month's column will focus on my experiences with using the Eclipse platform in my courses over the past two years. During that time, as I have witnessed advances in the technology and examined many Eclipse plug-ins, I have also gathered anecdotes, statistics, and student feedback that reveal how Eclipse is making a difference in the way we can teach software engineering and the types of projects students can work on.



Back to top


Notes

1 The adidas_1 is the first commercially available running shoe with an embedded microprocessor that adjusts the level of cushioning as you run.

2 For an excellent description of the software crisis, see the Trends in Computing column, Scientific American, September 1994.

3 See http://www.china.org.cn/e-15/ for information on the current five-year plan.

4 Information about project Jade Bird can be found at http://www.sei.pku.edu.cn/en/jadebird.jsp.

5 See Bursting the CMM Hype, at http://www.cio.com/archive/030104/cmm.html.

6 These objectives were reported in China Daily, 10/12/2000. See http://www.china.org.cn/e-15/15-3-b/15-3-b-2.htm.

7 See http://www.trp.hku.hk/infofile/china/2002/10-5-yr-plan.pdf.

8 Taken from http://www.china.org.cn/english/2002/Jun/33834.htm.



About the author

Author photo

Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a BA in mathematics and an MS in computer science.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top