David Alan Grier is currently the president for the Computer Society and has spent much of the past decade helping the Society develop new electronic products, editing its periodicals, and writing for its members. He has served as editor in chief of IEEE Annals of the History of Computing, as chair of the Magazine Operations Committee and as an editorial board member of Computer. Grier formerly wrote the monthly column The Known World. He is an associate professor of science and technology policy at George Washington University in Washington, DC, with a particular interest in policy regarding digital technology and professional societies. He can be reached at email@example.com.
The Center of the Universe
Koichi, a friend of mine, asked me to visit his office a few weeks ago to talk about the state of computing research. He has a lovely office, located near the center of Washington, DC, and enjoys a beautiful view of the region. Perhaps more importantly, he is an officer in one of the large government research organizations and near the center of the computing university. When I visit his office, I get a lot of information about the state of research in computer science and software engineering. I learn what subjects are new fields of research, which projects are yielding promising results, and which are past their prime and no longer topics of interest.
As I prepared for this meeting, one of my colleagues suggested that I ask Koichi for more research funding. "He controls everything," my colleague said. I didn't correct my colleague, but I also didn't think that his statement was true. Koichi is more of an advocate for computing than a dictator. He argues for the importance of computing research, raises funds, and explains the accomplishments of the field. Others make most of the decisions about who gets research funding: panels of peer reviewers, advisory boards, program directors.
When I arrived at Koichi's office, we quickly started discussing computer research and the broad impact of computer science. Koichi had just attended a couple of new conferences and had much to report. "We are at the center of every question in the sciences and social sciences, " he said with great excitement. "Computer scientists and computer engineers have something to say about every major research activity. We deal with crucial issues in physics, chemistry, psychology, economics, and sociology."
I have spent enough time at universities to know that every academic field makes this claim. You need spend only a little time with faculty from the smallest, most obscure departments of a university and you will hear the claim that dairy science, or lubrication theory, or jazz performance is the most important intellectual field in the world. However, computer scientists can make a fairly strong argument for their field. Many of the most significant questions of scientific research deal with symbolic models. Researchers are trying to understand how to best build those models, best manipulate the elements of those models and best understand the results that come from those models.
As Koichi enjoys a good academic debate, I decided that I would question his claims. Though I actually agree that the symbolic analysis of computer is now a part of almost any kind of research, I also think that one of the great benefits of computing is its ability to coordinate different kinds of human activity. "Computing is more important than that," I countered. "It allows us to divide the work of research into small jobs, coordinate those jobs, and combine the results into a finished product."
Now, I had been thinking about the problem of dividing research because I had been working with a midsized company, Acme Data Products and Services. I had become involved with the group to help them solve technical problems but I had recently started helping them with organizational problems. The company had been started 50 years ago as a collection of researchers who worked independently and rarely had any interaction with each other. Though it was successful for many years, it had been losing money for the past decade and was trying to find a way to make a profit again.
The President, Jack, had decided that the company was too disorganized and that he would unify the organization by bringing all the computing services into one division. He argued that the company had been spending more and more on computing and getting less and less for its investment. So one morning, he decided that he would bring all computing services into one office and would develop a fixed budget for that office in order to keep costs under control.
Jack did not expect the kind of reaction that he got from his employees. Many protested his ideas. Some yelled at him in the hallways. At one meeting, a low-level manager burst into tears. All of them felt, rightly or wrongly, that computing gave them independence. It allowed them to control their own schedule and make their own decisions about how they would approach their own customers. By centralizing computing, they argued, Jack was taking away their independence.
As a company, ACME Data Products and Services, was organized as a decentralized or federated company. It had many small units that were designed to meet the needs of a specific part of the market. In the Untied States, this style of organization was developed in the 1920s by Alfred P. Sloan, who was the president of General Motors. He divided the automobile market into five segments, each segment being defined by the price that the consumers in that field were able to pay for a car, and the features that they needed. He then created five companies within General Motors to deal with each segment. Chevrolet offered the cheapest and simplest cars. It was followed by Oldsmobile, Buick, and Pontiac. The most expensive cars were made and sold by Cadillac.
Distributed or Federated organizers were championed by the management consultant Peter Drucker. A distributed company "has great clarity and considerable economy," he explained. "It has high stability and is yet adaptable." However, until computing became inexpensive, few companies could afford to operate as a distributed organization. Only when small computers became common in the 1970s and 1980s were most companies able to use distributed methods. With the small computers, a company could establish a small division, let that division operate itself, and still be able to get the information that it needed to be able to manage the entire organization.
Cloud computing has made it even simpler to create distributed organization. On the cloud, you can create a central computing system, design computing systems for each organization and connect them all with a cloud network. All of these things are software. You pay for only the computing resources that you actually use. I know several small companies in Silicon Valley that use a distributed model for organizing their work. One has four divisions working in four parts of the world and yet it only has nine employees.
While distributed companies have many advantages, they can be difficult to manage even with good computer systems. You need to find the right balance between centralized control and independent operation. If you let the individual units make all of their own decisions, you will have anarchy. When I started working as a manager, I learned the old lesson "If left to their own choices, your employees will spend all of your money for all the right reasons and will eventually bankrupt you." If you try to exert too much control, you get a situation like ACME Data Products and Services, in which the employees feel that they have no freedom at all and cannot make the best decisions about their work. In either case, the organization fails.
When you try to use computing to coordinate an organization, you usually need a gentle hand. You have to let the individual organizations make their own decisions and yet, you have to have common standards, common reports and, common ways of controlling their money. Managing any activity usually involves using computing systems to balance these things and finding the right way of coordinating the work among the various units.
Koichi's office, which sponsors computing research, is indeed a highly decentralized organization. They give funds to research labs and let the labs identify problems, create software, and publish their results. Yet, over the past decade or so, it has increasingly used computer systems to coordinate the work of these different labs. They use systems to make sure that the laboratories are addressing problems that experts believe are important, are spending their funds in an appropriate manner, and that their results are being publicized to others. Nothing is worse than good research that is forgotten or unused.
When Koichi talks about being at the center of the universe, he is really saying that he is at the middle of a very diverse and distributed field. He has little direct control over the thousands of workers who contribute to the research. However, his office helps define the problems of computing, identify the best workers, and collect the final results so that others can see the progress. This kind of operation would be impossible but for the computing technology that his organization has helped to develop.