a Japan that can fail

ave you ever asked yourself why 80 percent of software projects fails, why there’s so much argues and debates in our IT community? If you have the courage to look deeply into yourself, to see our nature and the nature of the IT field, you would figure out things quite easily. Pity that most people can not do this. I read the article below for quite some times. It’s idea is quite straight-forward, however, I made a Vietnamese translation for one who still can not get it.

Bạn thân của bạn muốn nói với bạn một số điều mà anh ta biết có thể làm bạn đau. Cả hai cùng đến một câu lạc bộ riêng tư nào đó, nơi không ai khác nghe thấy được. Anh ta không muốn nói một chút nào, nhưng là một người bạn tốt anh ta phải nói. Sau một vài ly, câu chuyện sau đây được kể.

CÂU CHUYỆN MỘT NƯỚC NHẬT CÓ THỂ THẤT BẠI

Đối diện những đe dọa đau đớn của sự hủy diệt, các nền văn hóa thường từ chối tự nhận chân chính mình. Họ rút lui vào một xó xỉnh nào đó, bày tỏ thái độ bàng quan, và tìm kiếm an ủi trong những huy hoàng của dĩ vãng. – Fouad Ajami – The New Republic 8/91.

Sau chiến tranh thế giới lần thứ 2, nước Mỹ thống trị kinh tế toàn cầu, hơn bất kỳ thế lực nào khác đã (thậm chí là sẽ) làm được. Dù cho các doanh nghiệp Mỹ tin rằng điều này sẽ kéo dài mãi mãi, đó thực sự là một trạng thái không tự nhiên, các doanh nghiệp ngày càng trở nên nặng nề và lười biếng.

Lấy thí dụ điển hình là công nghiệp ôtô. Vào lúc người Nhật bắt đầu xâm nhập và cạnh tranh trên trị trường này ở Mỹ, thì các doanh nghiệp Mỹ đã trở nên quá thiếu hiệu quả và ngại thay đổi. Điều này khiến người Nhật nhanh chóng chiếm lĩnh những phân khúc lớn của thị trường. Các công ty Mỹ đã quên kỹ năng cạnh tranh trong một thời gian.

Tuy vậy, người Nhật phát triển được nền kinh tế siêu cường của họ, phần lớn dựa vào các ưu điểm của văn hóa Nhật Bản hơn là dựa vào thực tế công nghiệp sản xuất ôtô Mỹ lúc đó đã quá cồng kềnh và kém hiệu quả. Và người Nhật cũng bắt đầu tin rằng sự thống trị của họ trong một số ngành công nghiệp là tự nhiên và sẽ kéo dài mãi.

Còn nguy hiểm hơn, họ cho rằng, áp dụng các phương pháp, công thức Nhật Bản vào các ngành công nghiệp khác sẽ mang đến thành công tương tự. Cuộc sống sẽ là quá dễ dàng nếu chỉ là như thế. Hầu hết doanh nghiệp Nhật Bản còn tin chắc rằng cứ kiên trì phương pháp của mình, sớm hay muộn họ sẽ thành công.

Đây là khởi đầu cho câu chuyện nước Nhật có thể thất bại. Lấy ví dụ trong các sản phẩm mang tính nghệ thuật (phim, đĩa nhạc, phần mềm…) nước Nhật không đóng một vai trò đáng kể nào. Các công ty Nhật có thể mua lại các công ty Mỹ, và thuê người Mỹ làm ra các sản phẩm Mỹ, để bán trên toàn thế giới, nhưng thực sự số lượng sản phẩm xuất khẩu này rất ít. Nhật Bản không thực sự là một tay chơi lớn trên loại thị trường này.

Vấn đề không phải là người Nhật đã không thử. Hầu hết đều nhận ra là làm phần mềm có lãi hơn là phần cứng. Trong thời đại kinh tế thông tin, lãi sinh ra từ các băng đĩa VCR thì ít, mà từ các phim ảnh ghi trên đó thì nhiều.

Vấn đề cũng không phải là họ thiếu những con người tài năng. Một đất nước sản sinh ra được những Yukio Mishima và Akira Kurosawa là đã có đủ những nguyên liệu thô cần thiết để sản sinh những tài năng xuất chúng của thế giới. Nhưng liệu những người như thế có làm việc cho các công ty Nhật không, hay các công ty Nhật có thuê những người đó hay không? Ngày nay, không có chỗ cho Soichiro Honda, người chưa từng tốt nghiệp trung học giữa những nhân sự tất cả đều tốt nghiệp đại học Tokyo và cũng xin vào một vị trí thử việc.

Vấn đề thực sự ở đây là người Nhật xem phần mềm như một ngành kỹ nghệ. Hầu hết các công ty lớn của Mỹ cũng mắc phải sai lầm này, đó là lý do chỉ một số ít công ty lớn của Mỹ thành công về phần mềm (trừ trường hợp của Microsoft, những công ty thành công là những công ty vừa và nhỏ về nhân sự).

Phát triển phần mềm có hai đặc trưng cơ bản khiến nó có tính nghệ thuật hơn là khoa học. Thứ nhất là quá trình thiết kế phần mềm. Phần mềm sẽ tương tác với người dùng như thế nào, và làm sao làm được điều đó? Quá trình thiết kế vừa tiếp diễn, vừa tập trung tại mọi công đoạn. Ngày hôm qua là thiết kế trên nền DOS, hôm nay đã là Windows. Từng ngày một trong quá trình phát triển đều có những quyết định mang tính thiết kế, dù nhỏ, dù to. Bạn không thiết kế phần mềm để rồi sau đó viết một cuốn sách về nó.

Cũng giống như làm phim, bạn không thiết kế đến từng chi tiết rồi sau đó tiến hành. Đạo diễn, người quan trọng nhất của một cuốn phim không thực sự làm việc cho đến khi bắt đầu bấm máy. Đến lúc đó, từng diễn viên mang phần đóng góp trên vai của mình vào cuốn phim, và quá trình thiết kế tương tác và tiếp tục suốt quá trình làm phim. Chỉ một diễn viên, hay đạo diễn tồi có thể làm hỏng bộ phim, cũng như cách một lập trình viên kém làm hỏng toàn dự án.

Đặc tính thứ hai của phát triển phần mềm là: quá trình giải quyết vấn đề cần đến những cải tiến liên tục. Mỗi ngày lại có một lập trình viên nào đó có một cách tốt hơn để giải quyết vấn đề. Nếu bạn cứ phụ thuộc vào những phương pháp cũ, phần mềm của bạn sẽ lạc hậu rất nhanh chóng. Một đối tượng hiển thị phông chữ cố định (fixed font) sẽ không được dùng (cho dù bạn test nó nhiều như thế nào) nếu mọi người đều muốn dùng phông chữ tỉ lệ (proportional font). Máy tính cũ hơn 5 năm sẽ bị vất đi ở Mỹ cùng với các phần mềm đi kèm với nó.

Và điều quan trọng là: cải tiến và sáng tạo không xảy ra trên dây chuyền sản xuất. Nó không xảy ra vào một giờ cố định trong ngày. Nó không xảy ra khi lệnh và sự vâng lời được xem trọng hơn là ham muốn tạo ra một sản phẩm nổi bật.

WEB BẰNG THÉP KHÔNG RỈ

Khi tự tin thoái lui, ngờ vực ngự trị. Khi ngại khó, “ti mít” chiếm thượng phong, thì trí tượng tượng, sự chủ động mà mọi công ty cần có để giữ vững tốc độ tăng trưởng bị thách thức bởi những xoi mói, phê bình ác ý. Đây là nguyên nhân khiến cho các công ty trở nên tê liệt và thụ động, ngay cả khi đã có được đồng thuận về vấn đề, về những hành động cần có, và ngay cả về những thay đổi cần thiết. Khi đó, một đề nghị thay đổi sẽ bị kẹt cứng trong một mạng lưới (web) bằng thép không rỉ, cơ hội tồn tại của nó trước những kẻ bàng quan thờ ơ thật quá xa vời. – John Walker – The Final Days, Autodesk, Inc. Information Letter #14

Các công ty Nhật Bản cần phải tự thay đổi. Câu hỏi không phải là phát triền phần mềm theo cách nào?. Không có câu trả lời tường minh nào cho điều đó, tuy vậy, chỉ cần có một thay đổi toàn diện và triệt để trong cách quản lý công ty. Tôi không muốn lặp lại những gì đã viết trước đây (bài Software Design, tháng 11, 1991). Điều quan trọng là vất bỏ phương pháp công xưởng, nhà máy ra khỏi quá trình phát triển phần mềm. Thay vào đó, bạn tạo các nhóm nhỏ độc lập, mỗi nhóm có cách của riêng mình. Bạn sẽ chọn lọc và thay thế các cách cũ bằng những cách tốt hơn. Và mỗi nhóm được tự do đi theo cách của riêng mình, miễn là nó hiệu quả.

Những quy luật cũ, dù tường minh hay ngấm ngầm đều phải được bỏ đi. Cá nhân là quan trọng hơn nhóm, nhóm là quan trọng hơn cả công ty. Mỗi cá nhân đều được khuyến khích SÁNG TẠO. Khi mỗi cá nhân đi lệch một chút trên hướng đi của họ, ý tưởng mới sẽ nãy sinh. Và mỗi người giải quyết một mảnh của vấn đề, công việc được giải quyết theo một cách mới và tốt hơn.

Các công ty Nhật vẫn có thể là những tay chơi lớn vì dù xu hướng cá nhân trong văn hóa Mỹ rất mạnh, điều đó lại không phổ biến trong lĩnh vực phần mềm này. Tôi đã gặp một vài lập trình viên Nhật Bản, khi đi phỏng vấn ở Nhật và ở MSKK (chi nhánh Nhật của Microsoft). Hầu hết những người này, nếu xét riêng, cũng giỏi như những nhân sự giỏi nhất ở Mỹ. Họ đáng được cho những cơ hội được làm việc như những lập trình viên, vì với những người đó, sáng tạo là một phần thưởng cá nhân quan trọng hơn nhiều so với phải làm việc trong một môi trường nhà máy.

Cũng như các công ty ôtô Nhật đã nhận ra rằng nhân sự Mỹ thật sự tốt và đã mở các nhà máy ở Mỹ, các công ty phần mềm Mỹ cũng sẽ nhận ra những tài năng tiềm ẩn trong những nhân sự Nhật Bản và mở những trung tâm phát triển phần mềm ở đây.

Tuy vậy, ngồi không mà không làm gì tiềm ẩn những hiểm họa lớn. Nhật Bản sẽ vẫn còn phụ thuộc Mỹ ở những công nghệ phần cứng cốt lõi nhất. Giải quyết những vấn đề này sẽ phải vi phạm một vài nguyên tắc cơ bản nhất của văn hóa Nhật. Với một số người, cái chết là lựa chọn tốt hơn so với việc đánh mất danh dự.

Nghệ thuật cũng phy lý tính như là âm nhạc. Nó điên khùng trong vẻ đẹp riêng của nó – George Jean Nathan (1882-1958)

PHẦN KẾT

Kết thúc những lời này, người bạn tốt nhìn vào chính bạn. Anh ta hy vọng là những lời nói dữ dội này không ảnh hưởng đến tình bạn giữa hai người. Điều quan trọng là anh ta hy vọng bạn sẽ nhìn nhận sự thật này trước khi quá muộn. Vì thường thì khi vẫn đề đã trở nên rõ ràng không chối cái được nữa, thì cũng là lúc đã quá muộn để sửa chữa.

 

Your best friend needs to tell you something that he knows will pain you greatly. The two of you go to your private club and you sit where no one else can hear you. While your friend’s greatest wish is to not talk about this, he knows that as a true friend he must tell you what he believes. So over drinks he tells you of a problem that he thinks affects your entire future. This is what he tells you.

A JAPAN THAT CAN FAIL

On pain of extinction, cultures often stubbornly refuse to look into themselves. They retreat into the nooks and crannies of their perceived history, offer up the standard evasions, fall back on the consolations they know. – Fouad Ajami in The New Republic 8/91.

Shortly after World War II, the United States dominated the world economy more than any other country ever has (or probably ever will). Although businessmen in America came to believe that it would continue indefinitely, this was an unnatural state of events and many of our industries became fat and lazy.

The American automobile industry is a prime example. By the time Japanese companies started competing in America, the American companies were so inefficient and resistant to change that the Japanese companies quickly captured a large segment of the market. The American companies had forgotten how to compete.

Japan took its economic accomplishments as a sign of its superior culture rather than a sign of fiercely competitive companies taking on some rigidly structured, inefficient American car manufacturers. As with America after WW II, Japan is starting to believe that its dominance in certain industries is a natural state of events that will continue indefinitely.

Even more dangerous, many Japanese believe that by applying the Japanese method to any industry, they will be able to dominate it too. Life would be so easy if it were so. Unfortunately, when the Japanese method is applied to industries like software it fails. Even more unfortunate, most Japanese companies convince themselves that if they continue to use the same old methods, sooner or later they will succeed.

This is the Japan that can fail. In the world markets for artistic products (movies, records, software, etc.), Japan isn’t even a player. Yes, Japanese companies can buy American companies that hire American workers in America to create American products that sell all over the world; including Japan. However, I doubt that Japan’s exports for these types of products are greater than that of any single European country. This is a market that America totally and unequivocally dominates and Japan isn’t even a player.

This isn’t for lack of trying. Most Japanese companies realize that its more profitable to write software than to build hardware. In the information age, economic power won’t come from building the VCR. It comes from producing the movies on the tapes.

The problem isn’t for lack of qualified people. A country that produced a Yukio Mishima and Akira Kurosawa has the raw talent to produce some of the greatest artistic efforts in the world. However, does anyone think either of these people could ever have worked for a modern Japanese company? Or that a Japanese company would hire them? Where is there room for a Soichiro Honda who never graduated from high school among all of the graduates from Tokyo University competing for entry level jobs?

The major problem is that Japanese companies treat software development as engineering. (Most large American companies make this same mistake which is why you see very few large companies even in America successfully producing software.) Unfortunately, object-oriented programming gives the factory approach a whole new way to become even less efficient. Software companies can now produce object after object and document each one so that someone else can find it and use it.

The problem is that people are now spending a lot of their time documenting their objects and searching for other objects. And when you do find an object, it usually turns out that it’s not quite what you wanted anyway. And finally, even when objects give you what you want, your core problems haven’t been eliminated.

Software development has two basic characteristics that make it an art. The first is the design process. How is the software going to interact with the user and what will it do? This design process is ongoing and occurs at every stage of development. Two years ago programs were written for DOS. Now they are written for Windows, which requires a totally different design. Virtually every day of programming includes design decisions; some big, some small. You do not design and then write a book.

You do not design to the last detail and then shoot a movie. The director of a movie is considered to be the single most important contributor to a movie yet they are generally not involved until the shooting arts. Each actor & actress brings their own interpretation of their character to the movie, creating an ongoing design of the movie. In the same way, just as a bad actor or director can ruin an otherwise great movie, one bad programmer can ruin an otherwise good program.

The second basic characteristic is that problem solving requires constant innovation. Every day some developer somewhere comes up with a better way to solve a problem. If you continue to depend on existing methods, pretty soon your software is so outdated that no one will use it. An object that only displays a fixed font is of no use, no matter how well tested, in a world that now requires proportional fonts. Computers that are five years old are being thrown out in America as useless and the same should be happening with almost all code written that long ago.

Constant innovation and creativity don’t happen on an assembly line. They don’t happen during certain hours of the day. They don’t happen when concensus and order are more important than creating an exceptional product.

THE STAINLESS-STEEL WEB

When self-confidence fails, caution rules. When timidity and unrestrained risk-aversion gain the upper hand, the kind of imaginative and bold initiatives that companies must make in order to sustain their rapid growth are forced to run a gauntlet of analysis and criticism that no suggestion, no venture not already proven successful, has a chance of surviving. This is the source of paralysis, why companies fail to act even when there is, within the company, a broad concensus that problems exist, action is needed, and even agreement on the nature of the changes required. Even then, each specific recommendation finds itself stuck in a stainless-steel web; the chances of it surviving all the individual sign-offs needed to be implemented are remote. – John Walker in The Final Days, Autodesk, Inc. Information Letter #14.

The world is changing today. Russia has become one of the greatest capitalists of all with its offer to sell the Kurile Islands back. Who would ever have thought that Russia wouldn’t care if Japan gets the islands back as long as they get as much money as possible for them. For the last quarter, Microsoft’s profits were almost as great as those of IBM; a company with 40 times the number of employees. What worked yesterday is no guarantee for tomorrow.

Japanese companies need to change too. The answer isn’t to find a Japanese way to develop software, its to use they way that works – steal it from America. There is no great secret to how to effectively develop software, however, it does require a complete change in how Japanese companies manage software development.

I don’t want to repeat what I have written earlier (see the article in the November 91 issue of Software Design) but essentially the factory needs to be thrown out of the software development process. To replace it, you create small independent teams that will each develop in their own way. You will replace one method with many methods. And each group is totally free to try any way they want – as long as it works.

The old rules, both explicit and implicit must be cast off. The stainless-steel web must be destroyed. Concensus and deliberation no longer dominate. The individual becomes more important than the group. The group becomes more important than the company. Each individual is encouraged to CREATE. And as each developer goes off in their own direction something wonderful starts to happen – new ideas come in. As people solve each part of a problem, it’s done in new and better ways.

Japanese companies can be a major player in the world software market. While the American culture has an advantage with its emphasis on individuality, it’s not an overwhelming one. I met a number of Japanese programmers, both when I was interviewed for a job managing developers in Japan and developers from MSKK (Microsoft’s Japanese subsidiary). Most of these are people who, if let loose, could be the equal of the best in America. Moreover, these people should be given the opportunity to be developers. For most people, creating is much more rewarding personally than working in a factory environment.

Just as Japanese car companies discovered that there is nothing wrong with the American worker and opened plants in America, American software companies will discover the talent hidden in Japanese developers and open software development centers in Japan.

The risks of not acting are great. Japan will be dependant upon American companies for the brains in their hardware. Solving this problem requires violating some basic tenets of Japanese culture. To some, death may be preferable to dishonor.

Great art is as irrational as great music. It is mad with its own loveliness. – George Jean Nathan (1882-1958)

THE END

After he has finished your friend looks at you. He is hoping that speaking this bluntly did not hurt your friendship. More importantly, he hopes that you will see the truth before it’s too late. Because by the time a problem is inescapably obvious, it’s usually too late to rectify it.