A Brief History of the Software Business


In the beginning, hardware concerns far outweighed software worries. In Chapter 8, The History of Software Engineering, we saw that the EDSAC came to Cambridge essentially without software. Researchers wrote their own programs for the machines. Most users of computers in the 1950s also wrote their own software. This method quickly became expensive even for the big U.S. government contractors. User groups sprang up, like the aptly named SHARE, to exchange programs and ideas. SHARE was primarily made up of IBM (International Business Machines) users. The members gave each other software and asked questions of each other and the manufacturer.

There was only one way to make money in software during the 1950s and 1960s: as a contractor. Some contractors were independent, but they could not do the really big projects. Some groups came from a manufacturer s programming team. A good example is the joint IBM-American Airlines group that built the SABRE airline reservations system in the early 1960s. The IBM people knew the hardware; American employees knew what the problem was. Some companies were large system contractors independent of manufacturers. Another example is the Systems Development Corporation (SDC), which wrote most of the software for the huge SAGE air defense system.

Smaller, but very capable, specialty shops contracted for certain jobs. For example, the Charles Stark Draper (then Instrument ) Laboratory of MIT did the software for the guidance system for the Polaris missile, the Apollo spacecraft, the F-8 Crusader fly-by-wire aircraft, and the Space Shuttle backup computer. To this day, nearly 50 years later, it still does U.S. government contracts. Over the years , Draper developed a style (cyclic, rather than asynchronous priority driven) for operating systems. It also was able to reuse designs and code among its many projects.

The 1960s were a wake-up call to the computer industry. Some software projects began to be late and dysfunctional . A classic example is the IBM System 360 operating system, then one of the biggest software projects ever. Project leader Fred Brooks wrote his popular book The Mythical Man-Month [Brooks75] using material from this effort. Draper s Apollo software was also considered a mess, obscured by the 1967 fire that took the lives of three astronauts, and the subsequent nearly two-year redesign of the Apollo Command Module. At the same time, across the MIT campus, research work was underway on the MULTICS time-sharing operating system.

These groups of users, independent contractors, and manufacturing company software groups attended the first software engineering conference in Garmisch, Germany (see Chapter 8). That conference, coupled with some other events, changed the nature of software as a product forever. IBM 360s were very common, the Apollo Program culminated in a lunar landing, remote entry and time-sharing systems were stable, and Moore s Law for hardware made things easier on software. Moore s Law says that the power of hardware, both memory and speed, doubles every 18 months. Software got bigger to take advantage of this trend.

Another event of the late 1960s that had a huge impact on the software business was the decision of IBM to unbundle software from their hardware and sell it separately. Since this was the age of IBM, all its competitors changed their policies toward software in the few months after IBM s unbundling decision on June 23, 1969 (to take effect January 1, 1970). IBM also reduced hardware prices by 3 percent.

The seemingly paltry 3 percent reduction in hardware costs seemed to belie the reason for the unbundling: the cost of making software. This is actually a correct percentage. Even rolling in such costs as software research and development, few computers had software costs more than 5 percent of the total. There were no manufacturing or marketing costs [Campbell-Kelly03].

Some companies entered the market to sell software for large computers. Things such as sorts, searches, and databases had a lot of competition. Some software from that era, like IBM s CICS, is still in use today.

Microcomputers began to be sold in the 1970s. As the next decade began, big computer manufacturers like IBM and NCR began their own microcomputer projects. The industry, expecting IBM to sell the most personal computers, awaited its choice of operating systems.

At the time, the CP/M microcomputer operating system, built by Digital Research, was considered to be doing well in the marketplace . IBM chose DOS (Disk Operating System) by the then little-known Microsoft. IBM-style personal computers (often called PCs) took over the market as a standard. Soon, IBM opened its architecture to the other companies. The PC took command and Microsoft suddenly sold, it seemed, to everyone. Apple Computer s famous 1984 Super Bowl advertisement caused a brief flurry of activity around its Macintosh and its proprietary operating system. It never acquired more than a small part of the market. Even today, although the G5 64-bit dual microprocessor debuted as the fastest machine of its type, it is difficult to find software for it. Microsoft made versions of its Office suite of programs (Word, naturally, a word processor; PowerPoint , a viewgraph tool; Excel, a spreadsheet; and others) available for the Macintosh quite soon after it came out.

Unlike large computers, microcomputer sales took off in step with software. The VisiCalc spreadsheet program was the first popular software. It was available on early PCs. The sales of millions of computers are now possible due to the availability of free software network browsers. The World Wide Web as a whole is the killer app of today. Companies like Gateway and Dell sell microcomputers on the basis of easy Web access and the Microsoft Office suite of programs.

The rapid expansion of software creation in the 1990s meant that computer programmers were in short supply. This became part of the dot-com boom of Internet companies. One compensation method used by new companies was stock options. Employees would have periodic opportunities to invest in a growing company by purchasing its stock at deeply discounted prices. Thus, even secretaries could, and did, become millionaires [Ceruzzi01].

However, the general economic downturn and the growth of outsourcing (see Chapter 6, International Perspective on Software Engineering ) kept the software market from totally rebounding. Another big driver of the industry became, ironically, open -source, or free software. This hearkens back to pre-1970 IBM. Even more ironically, IBM is one of the biggest distributors of one of the most successful Open Source products, Linux, a modification of the Unix operating system begun by Linus Torvalds.

There are many Open Source products. Most have a group of software specialists who are the only ones able to touch the source code. This committee of programmers is bombarded with suggestions for improvements and defect fixes. Open Source products change regularly.

Software product producers and consultants (even if they only advise on how to use free products!) can still make money in software. We discuss how in the next section.

Tasks  

Explain how software became a product.

What are the two ways of making money in software?

Explain how stock options work.

Time-to-Market

Perhaps the most important trait of software products nowadays is the time spent in development. At one point, it was better, faster, cheaper; pick any two. Now, software products must be all three. This means that there has to be a high-quality product made inexpensively and quickly. No more (to quote the commercial) we will sell no wine before its time. There is a concept known as Internet Time, which means hardly any time from development to market for software.

There have been software development life cycle changes to capitalize on this concept. Rapid Application Development is one fashion [McConnell96]. However, one of the easiest developments to use for this purpose is eXtreme Programming (XP). Its explicit attention to returning value to the customer with each release makes it a perfect tool for speed.

Business value seems to have been finally discovered by the software industry. Organizations like the Software Engineering Institute (SEI) are paying attention to business value since many of their software architecture products have a business basis.

Basically, time-to-market is related to market share. This is truer now than in the nobody got fired for buying IBM days. No company is exempt anymore. Products delivered according to standards, rather than their speed of development, drives many customers.

The concept of market share means the early capture of a percentage of the market by an early release of software. Users become enamored with the functions in this version and willingly buy later versions. Thus, functions and qualities of initial releases must be good. Surrendering quality at this point is self-destructive. If the company is perceived as skimping on quality, it will not make further sales.

Tasks  
  1. What does market share mean?

  2. Why is it important to maintain quality while gaining market share?

Business Cases

Nothing is sadder (or seemingly more prevalent recently) than the one great idea companies. You know them. They are the ones begun by some brilliant engineer with an innovation that solves a problem that does not exist. Many bankrupt companies have this orientation. Most believe in the adage build a better mousetrap , and the world will beat a path to your door.

This is not always true. Perhaps a better restatement is, if the world wants a mousetrap, and you have the best one, the world will beat a path to your door. The best designs solve a problem people did not know they had. The worst solve a problem that does not exist.

The alternative to entering the marketplace blindly is making a business case for a product. The problem the product is trying to solve is clearly identified. The ways in which the product solves the problem is documented. A business case can serve as the basis for the requirements. Both functional requirements and quality attributes are discovered.

When a new product is envisioned might be a good time for a focus group of probable users (a small group of less than 10 people) to tell developers what they are looking for. This meeting can serve as the source of user stories, prioritization of requirements, and the need for new requirements.

Tasks  
  1. What are business cases?

  2. What are focus groups?

  3. How are requirements ranked by priority ?

Business Plans

Once the business case is made, a plan is developed for the company that will make the software. Let us assume this plan will contain a vision for the product(s), site of the company, a review of the competition, and marketing plan.

Vision: This is a section of the document that tells what the product will look like and what it will do. In other words, what problem it is likely to solve. For example, a vision might be increased fuel mileage. By generalizing the vision thus, the objective can be achieved either by automating the fuel/air mixture or by some other way of saving gas. We do not concern ourselves with how at this point, just what.

Site: A department store might need a corner lot downtown or prime space in a busy mall to generate enough traffic to break even or make a profit. Sites are just as important to the software business, but for other reasons. Alternatively, a more established company may have several sites already, increasing the value of remodeling, since workers want to come to a pleasant place to spend their day.

Review of the competition: This is the most important part of the business plan in general. It is assumed that the chief characteristics of your product have been determined. These characteristics are then compared to those already in the marketplace or definitely announced. In the 1960s, IBM was infamous for announcing that certain computer functions would become available long before they did, thus freezing the no one ever got fired for buying IBM crowd . Meanwhile, other companies rushed their products to market. The CDC 6600, thought by some to be a superior computer to the IBM 360, died in the marketplace while CIOs waited for IBM. The CDC 6600 was the basis of a lawsuit against the IBM 360, model 91 [Ceruzzi00].

Each and every threat to market share is listed and analyzed here. You need to know, in detail, who the enemy is and what their chief weapons are. Then you can plan to counter with your product. Finding nothing here is akin to not having a problem.

Marketing plan: Many computer practitioners who think of a good idea forget the key activity of marketing. Even if you have a better mousetrap and a mouse problem, if you don t bring them together, nothing results. Sales are very important; they are the lifeblood of a business. Many believe that Thomas Watson Sr. realized this, emphasized it, and made IBM into a market leader.

These are the parts of a decent business plan. Several concepts may seem obvious, but they are put here as reminders. Some are so obvious that they are frequently overlooked.

Tasks  
  1. What are the key components of a business plan?

  2. Why is a marketing plan important?

Statement of Work

If a product is going to be made for a single procurer (contracting), then a Statement of Work (SOW) may take the place of parts of the Business Plan for that software product. One of the most important things included here is the customer liaison, a person who will handle communications with the client and will be familiar with many ideas in this book. They are the human face of the software project.

The customer s response time ought to be fixed in a SOW. In other words, the time given to the client to think of the answer to a question should be determined and be constant. This is very important in out of sight development to keep it from becoming out of mind as well. It is amazing that many companies will invest a lot of money in contract software, but then ignore requests for requirements clarification . This is probably one big reason why many custom software projects wind up considered failures. It is certainly why XP advocates (see Chapter 2, Software Engineering Methods ) want to keep delivering business value through having an on-site customer.

Tasks  
  1. What is a Statement of Work (SOW)?

  2. What is the most important part of a SOW?




Human Aspects of Software Engineering
Human Aspects of Software Engineering (Charles River Media Computer Engineering)
ISBN: 1584503130
EAN: 2147483647
Year: 2004
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net