Question - In the past, people made long-range life plans based upon the assumption of a stable economic structure. Changes occur much faster now as new computing and communications products such as the Internet are introduced. This promises to be quite disruptive of society. Do you consider this a problem? Jay Roberts (72073.2630@compuserve.com)

Answer - Change is both a problem and an opportunity. It's important to keep in mind, though, that technological advances alone aren't enough to drive social change. As least some people have to embrace change, or it won't happen.

Two tendencies cause new products to be adopted over prolonged periods rather than immediately. Products evolve slowly to meet the needs of the market, and the market adapts slowly to new opportunities.

In the beginning, most products are so expensive and perplexing that only a narrow set of people use them. As the number of users gradually increases, prices come down and refinements are made. This bolsters sales.

Telephones, televisions, electronic calculators and cellular telephones are examples of products that started out expensive and, in the early years, were used by only a small part of the population. Now the devices are much improved, relatively inexpensive and ubiquitous - and often used in ways nobody had foreseen. For example, I doubt anybody was thinking about electric vacuum cleaners when houses were first wired for electricity.

You can think of the evolution of a product as the process by which the product gets itself ready for mainstream use. It's half of what matters.

The other tendency, equally important, is that people only slowly adapt their patterns, mind-sets, skills and expectations to match the opportunities afforded by a new product. It takes years for people to hear about a product, try it, get used to it, rely on it.

Even if great VCRs had been inexpensive in the beginning, it would have taken several years for them to become popular. People decide for themselves the rate at which they want to change, to buy things in new ways, to trust new systems. Often patterns don't really change until a new generation, not wed to the old ways of doing things, comes of age.

The Internet will lead to many changes in society because it has the potential to be such an efficient way to bring buyers and sellers together (even when what is being "sold" is information offered free, as it so often is on the Web today). But the Internet, by itself, won't cause anything to happen. Although the mediation the Internet offers is extremely efficient, it's still human desires that are being accommodated.

If you want to work out of your house, is there somebody who wants to hire you? If you want to find a good doctor, are you comfortable using the Internet to help research your options?

There must be a critical mass of people using the tool or it is largely irrelevant. A new machine doesn't barrel at us at some arbitrary speed. The machine, in this case the Internet, matters only to the extent it satisfies human preferences and interests.

This gives me comfort, and I hope it does you too.

Question - Are you right-handed or left-handed? (chamber@atcon.com)

Answer - I'm left-handed for the most part, although I'm actually ambidextrous for a lot of things. As a student I took notes with either hand, using my right hand when I was bored and wanted a small challenge.

Question - With dozens of people working together on a software development project such as Microsoft Word, how do programmers link up all their parts to form the whole program? Darminder Singh, Singapore (daminder@singnet.com.sg)

Answer - Fourteen years ago, when we developed our first word processor, the development team had five members. It was an ideal number, large enough to accomplish a lot quickly but small enough to keep coordination manageable. Today it takes 50 or 60 software engineers to create a new version of a major software product, so your question is a good one.

How do we coordinate the intertwining work of so many people, especially when deadlines are tight?

For one thing, we continue to use teams that typically have only a few developers. Each team is devoted to one feature or set of features. We call them "feature teams." Each large software project consists of several feature teams.

For Microsoft Word 97, we used six teams: Internals and Performance, Programmability, Shared Code Integration, Web/Online Features, Basic Word Processing and Far East (for our East Asian versions of Word).

View Comments

Members of a team collaborate closely. Their offices are adjacent, and they fold their work into the product continuously, using automated testing tools to ensure that the pieces interlock and that the speed of key operations such as opening and saving files is maintained.

As each team nears completion of its tasks, there are periodic milestones where we stop adding new functionality and take time to examine everything carefully to make sure all the new pieces work together correctly.

Throughout the process, we test. Developers test half the time, and testers test all the time. As is true with most any of the world's complex engineering projects, we put more human-years into testing our products than we do into developing them. And that's before we begin "beta testing," in which customers test software before its official release.

One of our main beta testing sites is our own company. We didn't release the first version of a messaging product called Exchange until we had 20,000 people inside the company using it day in and day out. All in all, the development and testing process works well, and the inefficiencies are surprisingly small.

Join the Conversation
Looking for comments?
Find comments in their new home! Click the buttons at the top or within the article to view them — or use the button below for quick access.