Product Details
Free Press, March 2004
Hardcover, 352 pages
ISBN-10: 074321580X
ISBN-13: 9780743215800
Preface
My goal in this book is to provide an overview of the software business for managers who are already working in the business, programmers who would like to be managers, and anyone who would like to be a software entrepreneur. I focus mainly on firms selling what we can call "enterprise software" to other companies and large organizations, although much of what I say about products, services, and software development also applies to companies selling software to individual consumers. My primary concerns are with strategy and business models, a historical look at software entrepreneurship, best practices in managing software development, and the do's and don'ts of founding a software start-up. The examples and topics reflect my personal experiences as a researcher, teacher, consultant, director, and company founder. I have used a version of this book in my MIT class "The Software Business." The material should also be a useful reference for investors and analysts who follow software companies and for anyone else interested in how high-tech firms deal with problems of strategy and product development in rapidly changing markets.
Chapter 1 starts out with a personal sketch of my involvement in the software business and how the business seems to differ around the world. I also sketch out the experiences of two firms that I have worked with recently and that demonstrate many of the strategic and business-model issues that I take up in subsequent chapters: Business Objects in France and i2 Technologies in the United States.
Chapter 2 focuses on strategy for software companies -- the most important things that managers and entrepreneurs, as well as programmers, should think about. I begin with the most fundamental question: Do you want to be mainly a products company or a services company? I also talk in more detail about a third alternative: hybrid solutions. Other key issues are the kinds of customers and markets (enterprise, consumer, mass-market, niche, vertical, or horizontal) that the company will target, as well as platform versus complementor decisions.
Chapter 3 probes these issues of strategy, management, and entrepreneurship in more depth. I use history to suggest where most opportunities in the business have come from and how the industry has evolved from services to products and now back, to some extent, to a renewed emphasis on services, especially in bad economic times, when customers are reluctant to buy more software products. I also examine the history of IBM and end with a discussion of open-source and "for free" software.
Chapter 4 presents what I have learned about how to manage the most fundamental technical activity in a software company: software development. The discussion is not specifically for programmers, but is more for managers of programmers and general managers who need to know what goes on in software projects and how best to deal with issues ranging from architecture and teams to project management and testing. I begin with basic problems in software development and how organizations introduced "software factories" and process improvement initiatives from the Software Engineering Institute (SEI). I then discuss practices that provide an effective balance of structure and flexibility. In particular, I review "synch-and-stabilize" techniques that have characterized software products companies such as Microsoft and Netscape, and how managers can apply these concepts in different settings. I also include some preliminary observations from survey data on the practices and performance of software companies in the United States, Japan, India, Europe, and elsewhere.
Chapters 5 and 6 apply ideas about the software business to start-ups. I give my view of how to interpret entrepreneurship in times of boom and bust and reflect on what the most important elements in a successful software venture are. I then evaluate ten case studies of start-ups I have been involved with since the mid-1990s. I also use these examples to illustrate strategic issues as well as differences among the three main business models for software companies: products, services, and hybrid solutions.
Chapter 7, the conclusion, offers some final thoughts on the three basic models and the different capabilities they require, and contrasts the "ideal" software business with a more realistic business model. I also make some suggestions on how to run a successful software business, whether you are a products company, a services company, or something in between.
Copyright © 2004 by Michael A. Cusumano