Exploring how Russia`s nascent software industry measures up to other countries.
I`ve written my last two columns on the Japanese software industry (July 2005) and the Irish software industry (October 2005). This time, it`s Russia`s turn.
In October 2005, I gave a talk on the state of software engineering and the software business as well as a workshop on software entrepreneurship at the first annual Software Engineering Conference-Russia (2007.secrus.org). This conference was held in Moscow, and had more than 500 attendees. Intel, Borland, Microsoft, Telelogic, IBM, and Siemens were conference sponsors. The organizers were RUS-SOFT (www.russoft.org), the Russian National Association of Software Development Companies, and RUSSEE (www.tekama.com), a 20-person venture based in Moscow that is actively engaged in education and consulting on best practices in software development. Artem Ikoev of RUSSEE was the conference executive director and worked tirelessly to make this event a success. RUSSEE`s two founders, Ilya Antipov and Dmitry Dakhnovsky, both studied computer science at Carnegie Mellon University, worked in U.S. industry, and have retained close ties to the university and the Software Engineering Institute (SEI). I used this opportunity to learn something about Russia and its software industry, though I want to frame my comments within a broader context.
In The Business of Software, I offered some generalizations on how I thought the software business differed in different parts of the world. With regard to Europe, I suggested that too many companies I had worked with tended to treat software as a science. My experience has been with various software groups and telecommunications producers, ranging from startups like Business Objects to Siemens, Alcatel, and Nokia. I also have studied the history of the computer industry, where many inventions (not the least of which is the Web) have come out of excellent European and British universities and research labs. True, there are a few successful global product companies, led by SAP in Germany, and global IT services companies, led by CapGemini in Paris, and several Irish companies that have made a good business of software outsourcing and local customization. But most of the European programmers I worked with seemed mainly concerned with excellence and elegance in program architecture, design, and construction, incorporating the latest technologies, or building custom systems for the various European markets. Often I found myself frustrated at how long they took to ship products and how little money they made from their considerable software skills.
In Japan, where I lived for seven years, it seemed to me that programmers and managers largely treated software as a problem in production. It is not surprising that Hitachi, Fujitsu, NEC, and Toshiba tried to institutionalize the best IBM engineering practices by establishing "software factories" during the 1970s and 1980s. They successfully built large-scale systems and customized industrial applications relying heavily on standardized development processes, rigorous quality-assurance techniques, extensive tool support, reuse libraries, and low-cost labor, especially at networks of coding subsidiaries and subcontractors. We continue to see programs with remarkably few defects coming from Japan. The great weakness of the Japanese factories, however, was their focus on mainframes and staff largely consisting of employees with little or no background in computer science. The factories had trouble migrating to the world of client-server, Windows, and the Internet, and became highly priced as Japan became one of the most expensive places in the world. The Japanese are slowly training a new generation of programmers and learning to build more up-to-date computer systems. But they still focus on derivative customized applications for the local market (except for the video-game business and some consumer electronics and embedded software). Overall, Japanese computer science departments remain far behind the West, and Japanese software development remains high cost.
I also observed that the Japanese factory-like approach to software process management and quality control migrated to Indiain the 1980s and 1990s. Infosys, Tata, Wipro, Satym, Patni, and several other Indian software companies have made their mark on the outsourcing industry by treating software as a service and service as the business. (Full disclosure: I speak from experience here as well. I have been a member of the board of directors of Patni Computer Systems, Ltd., for the past two years.) Most of these firms have achieved CMM Level 5 status and exploit it as a marketing tool. In comparison to the Japanese, the Indian companies have benefited from ubiquitous English language skills, much lower wage levels, a strong process focus, and excellent university training in computer science, mathematics, and other engineering and science subjects.
One could argue that Russia will have great difficulty escaping the paradigm of treating software primarily as a science.
A central argument in my book was that there is something unique about the U.S.-based software business. To be sure, the U.S. has great university departments and programmers who are second to none in their knowledge of the science. It also has many firms, beginning with companies such as the old System Development Corporation (once part of the RAND Corp. and now part of Unisys) as well as IBM, who pioneered factory-like approaches to large-scale software development as far back as the 1970s. It has the world`s largest IT services companies, with IBM and Accenture at the top of the list. But the U.S. industry is known worldwide for several generations of software startups – including Microsoft, Computer Associates, Oracle, Lotus, People-Soft, Intuit, and Netscape – that focused on building "good enough" products for enterprise and consumer mass markets. I think the premier European and Japanese firms would never have shipped pioneering versions of products such as MS-DOS, Quicken, Windows, and Navigator or other early applications due to inelegant architectures, clumsy features, or large numbers of defects. But these are precisely the kinds of products, running on hardware like the IBM PC and compatibles, that brought cheap and powerful computing to the masses, and generated billions of dollars in revenues and profits.
So I found myself asking the question serving as the title of this column: Where does Russia fit into the global software business? Will companies there go the way of many other European firms and emphasize the science more than the business, and on expertly meeting the needs of local industry, but encounter limited success in global product markets? Will Russia go the way of India and emphasize service companies that will do anything the client wants at highly competitive prices but fail to build a products-based business? Will Russia become a lower-cost Ireland, with many small companies and lots of technical expertise, but too much emphasis on leisurely lifestyles and independence from venture capital and the stock markets? Or will Russia become something different?
One could argue that Russia will have great difficulty escaping the paradigm of treating software primarily as a science. The Russian software industry is characterized by thousands of Ph.D.s or other highly trained researchers with extensive backgrounds in mathematics and physics. The defunct government of the Soviet Union put them to work building defense-related military and communications systems. But what remains is a remarkably talented pool of people who understand how to solve complex "system" problems. They can clearly help foreign technology companies build new wireless communications systems or other types of software with sophisticated algorithmic underpinnings. But can they build "good-enough" products or invent technologies that come to market quickly and capture the imaginations of mass-market enterprise or individual users?
One could also argue that the Russians will have great difficulty escaping the paradigm of treating software primarily as a service. RUSSOFT claims that programmer wage levels in 2004 were similar to India and the Philippines, with annual salaries topping out at about $9,000, compared to top levels of $36,000 in Ireland and $20,000 in Singapore. These numbers seem to include a myriad of small, local Russian companies. More established Russian firms with international offices and clients pay average programmer salaries more in the range of $14,000, with managers or senior architects receiving considerably higher compensation, which is also true in India. Nonetheless, many U.S. and European companies, including Intel, Microsoft, Motorola, Sun Microsystems, Alcatel, Siemens, and Borland, already have set up facilities in Russia to take advantage of relatively inexpensive, highly trained people.
And here, most likely, is where Russia`s competitive advantage lies: the ability to perform highly sophisticated technical work at relatively low cost. Even as wage levels rise, the technical skills of the Russians should continue to guarantee a vibrant software business for years to come. The infrastructure (transportation, roads, office space, electrical supply, Internet access, sewer and water systems) seems better than in India. Both Moscow and St. Petersburg have excellent universities and are far more accessible from Europe and the U.S. than India. A number of Russian companies already boast overseas clients and offices, and hundreds of employees. For example, Luxoft, Russia`s largest custom software firm and a CMM Level 5 shop, was founded in 2000, grew to $24 million in revenue in 2004, and in 2005 had 1,400 employees. Other companies I learned about include Mirantis, which uses its headquarters in California to provide access to Russian software developers; Reksoft, which is based in St. Petersburg but has strong ties to the Swedish market; and StarSoft Development Labs, which has offices in St. Petersburg and the Ukraine as well as a headquarters in Cambridge, Mass. StarSoft, which has CMM Level 3 certification and employs some 400 people, has tripled revenue since 2003 and expects sales to exceed $11 million in 2005. Another notable firm, Telma, is located in the science city of Nizhny Novgorod and specializes in telecommunications and embedded software. It received CMM Level 5 status in 2003 and had 700 employees in 2005. A larger global outsourcing firm, EPAM, a CMM Level 4 shop based in Budapest, Hungary and Princeton, NJ, has some 1,200 employees and is noted for large development facilities in several Russian locations as well as Belarus.
My initial impressions are that the Russians still need to work on several things to make their companies stronger outsourcing partners and sources of technology – English language skills and software engineering processes, which companies can control, and confusing tax laws as well as weak anti-piracy laws, which will require government action. In addition, most local companies are small (under 20 people) while export-oriented firms with more than 100 people are rare. So scaling up or consolidating to handle large outsourcing projects is a challenge. But it is only a matter of time before Russia gives India and Ireland a run for their software money. China, which seems more product-oriented and contains an enormous domestic market - more than 1.1 billion people, compared to less than 150 million in Russia – is perhaps the most interesting software market in the making, but I leave that country to a future column.
Michael A. Cusumano, a professor at the MIT Sloan School of Management
COMMUNICATIONS OF THE ACM February 2006/Vol. 49, No. 2