Jump to ratings and reviews
Rate this book

The Technical and Social History of Software Engineering

Rate this book
“Capers Jones has accumulated the most comprehensive data on every aspect of software engineering, and has performed the most scientific analysis on this data. Now, Capers performs yet another invaluable service to our industry, by documenting, for the first time, its long and fascinating history. Capers’ new book is a must-read for every software engineering student and information technology professional.”

— From the Foreword by Tony Salvaggio, CEO and president, Computer Aid, Inc.

 

 

Software engineering is one of the world’s most exciting and important fields. Now, pioneering practitioner Capers Jones has written the definitive history of this world-changing industry. Drawing on several decades as a leading researcher and innovator, he illuminates the field’s broad sweep of progress and its many eras of invention. He assesses the immense impact of software engineering on society, and previews its even more remarkable future. Decade by decade, Jones examines trends, companies, winners, losers, new technologies, productivity/quality issues, methods, tools, languages, risks, and more. He reviews key inventions, estimates industry growth, and addresses “mysteries” such as why programming languages gain and lose popularity. Inspired by Paul Starr’s Pulitzer Prize–winning The Social Transformation of American Medicine, Jones’ new book is a tour de force—and compelling reading for everyone who wants to understand how software became what it is today.

 

COVERAGE INCLUDES

• The human need to from ancient times to the modern era

• Foundations of Alan Turing, Konrad Zuse, and World War II

• Big business, big defense, big IBM, mainframes, and COBOL

• A concise history of minicomputers and the birth of Apple and Microsoft

• The PC DOS, Windows, and the rise of commercial software

• Innovations in writing and managing structured development, objects, agile, and more

• The birth and explosion of the Internet and the World Wide Web

• The growing challenges of legacy system maintenance and support

• Emerging innovations, from wearables to intelligent agents to quantum computing

• Cybercrime, cyberwarfare, and large-scale software failure

 

488 pages, Kindle Edition

First published September 12, 2013

7 people are currently reading
37 people want to read

About the author

Capers Jones

30 books11 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (5%)
4 stars
6 (30%)
3 stars
6 (30%)
2 stars
4 (20%)
1 star
3 (15%)
Displaying 1 - 7 of 7 reviews
5 reviews
October 10, 2014
This book has been sitting on my desk for more than a month since I finished reading it. The thorny question was, how to review it. So, what's the problem? Well, on the one hand it's quite interesting, and would be useful to someone trying to write a history of computing. On the other hand the title is a complete misnomer. It's nothing much to do with the social history of software engineering, and a somewhat lopsided view of the technical history, concentrating on business applications and the rise of function point metrics, which the author champions.

After a brief nod towards aspects of pre-digital computing, the book is basically a linear description of the commercial market.The earlier chapters clearly make use of a lot the information contained in the Wikipedia. This was not a wise choice. The Wikipedia's striving for academic respectability has resulted in vast swathes of material relating to personal computing in the 1980s and 90's being removed. They were either oral history, or from long defunct computing magazines, and therefore had no 'proper' citations, according to the Wikipedia. In social history terms this is a critical omission.

Allied to this is the complete absence of any discussion about the role of computer games in the history of computing, both as an introduction to using computers, and as an influence on software practitioners. The author briefly mentions this problem later on in the book, but makes no attempt to rectify it. It is understandable that the author is not familiar with the games industry, coming as he does from a commercial background. However, he should have made himself familiar with the industry if he wanted to write a book on the history of computing (social or otherwise). The attitude shown is redolent of a common theme in certain parts of the industry until the start of the current century. It is an attitude that considers games to be a waste of otherwise useful computing power.

Almost completely absent from the book is any attempt to discuss the social history of computing - either its effects on society, or the social development of its practitioners. For instance, the rise of open source software is as much about the politics and sociology of computing, as it is about technical development, and yet the topic is barely touched in the book. Neither are the very early struggles of programmers of the very first computers to become recognized in their own right, instead of being considered mere lab technicians by the academics who wanted to study 'computing'.

From the point of view of a technical history there is no feel of an overall concept, leading to a large proportion of the book being one or two page summaries of selected companies in the industry. Even at this level there seems to be no understanding of the extent to which the big 'non-computing' businesses have become, over the period covered, software houses specializing in whatever was their business before the rise of cheap computing power. The classic case for this is, of course, the big banks who have gone from being banking houses with a software department to being software houses with a banking license. The fact that most boards of directors of these bodies have not yet caught up with the reality of their business does not absolve the author of a book on software engineering history from noticing the metamorphosis!

All in all, a rather disappointing read...

The reviewer is a professional programmer, and holds a degree in Sociology from Leeds University
Profile Image for Graham Lee.
119 reviews28 followers
February 4, 2017
True to form from a software engineer, this book doesn't actually deliver the features that were promised in the marketing materials. It's not a history of software engineering, neither social nor technical. There's a litany of companies - some hardware, some software, some business process - organised by decade, in which every other paragraph promises that a concept is "interesting" before failing to expand on it.

The main sop to the field of software engineering is an odd predilection for the function point metric, so that the commitment by Brazil to use function points as a size estimate for software contracts is given equal billing with the founding of Facebook.
Profile Image for Alejandro Teruel.
1,332 reviews254 followers
November 1, 2020
The annoying thing about this book is that while it is history, it can scarcely be said to be a history of Software Engineering,let alone a social or even a technical history. In this sense I fully agree with the Goodreads reviewers Alan Lenton and Graham Lee. While Alan Lenton provides an excellent review, Graham Lee’s review acerbically sums up the book and summarily dismisses it (ouch!).

Capers Jones has written a very quirky and amateurish history. The first chapter (“Prelude: Computing fromAncient Times...”) is overly ambitious, badly organized and very poor. It confuses computing with language and with counting. Neither the information processing needs of ancient civilizations nor Donald Knuth’s fascinating 1972 article on “Ancient Babylonian Algorithms” are even mentioned -if you are going to hark back to prehistory in a prelude, you have to make a serious effort at uncovering history.

Jones’ history is more of a non-technical history of computing machinery -and I use this somewhat archaic sounding term still embedded in the ACM (Association for Computing Machinery) deliberately.

After his offputting prelude, Jones provides a number of chapters focusing on decades, from 1930 on. He mentions but does not adequately explain analog computing and focuses first on machines and then on brief potted histories of computing companies which appeared in that decade. There is very little flow to the book and it reads somwhat like an enciclopedia of such companies sorted first by the decade in which it appeared and within the decade alphabetically. Even if the book is very US-centered, Capers Jones does make occasional efforts to include some key companies particularly in the UK and to a lesser degree France, Australia and Germany, mentioning some interesting Soviet developments up to 1960 and a few eye-catching developments in China in the 2010s. At the end of each chapter, from the 1950s on, there is a table which provides an overview of percentage of applications per each of 15 categories such as scientific, military and defense, civilian government, systems and middleware, embedded software, commercial, IT, US outsource, Games and entertainment, and, web applications. No explanation is provided as to these categories, so for example whether a web-based game is classified as as a web application or games and application is left to the reader’s imagination. From the chapter on the 1950s on, the book also includes a section (is this what makes it a technical history for Jones?) on “Function Points” which lists average application size (measured or estimated per function point), the (main?) programming language used, reuse percentage (as an interval, e.g. 0% to 10%), (main) methodology used, productivity measured in function points per staff months, defects per function point, defect removal efficiency, delivered defects per function point, ratio of development personnel to maintenance personnel, average language levels (unexplained, possibly either average number of programming languages used per application or number of programming languages used per programmer) application sizes (estimated in function points) and average (?) number of programming languages used per application, among other. A little more explanation on some of these metrics would have been very helpful. Particularly interesting is the trend in the increasing ratio of maintenance to development, with maintenance overtaking development for the first time in the 2010s (55% to 45% according to Jones).

The author also mentions Operations Research, but in passing and sometimes to lash out at the lack of OR use in government agencies -it is particularly jarring to find him gratuitously, and fortunately infrequently, taking potshots at Obamacare and, to his mind, overgenerous pension schemes and badly thought out taxes for the rich (!). There is no mention however of systems engineering, a surprising omission in a history of software engineering with little border control. Software development methodology is also given surprisingly short shrift, focusing very superficially on “cowboy” development (that is, no methodology), waterfall, TSP, RUP, Agile (but in this case , he only mentions Scrum and XP) and hybrid (Agile- RUP). This is very disappointing for what is supposed to include a technical history of software engineering. There is next to no coverage on key software engineering related issues such as UI design, computing for disabilities (only mentioned in one of the last chapters on the future of computing, in connection to Google glasses), virtual and augmented reality, modeling, safety, privacy, architecture and design, software reuse and maintenance, software evolutuion, management ofpeople, , quality assurance or compliance. There is no attempt to suggest links between Software Engineering, Computer Science and Computer Engineering.

His last chapter is on cybersecurity, but the main focus is on problems, not on software engineering efforts to counteract safety and security threats. He also includes a chapter that briefly covers some known software failures which is much more in line with software engineering, since he tries to analyze whether the use of a number of verification and validation techniques might have caught the faults.

Since he finished the book in the midst 2010s, the chapter on the decade 2010-2019 includes some projections into what the future up to 2020 would bring. Nothing earth-shaking: advances in Big Data, challenges in cybercrime and cyberwarfare, more crowdfunding and a very techno-optimistic view of wearable computing, crowd intelligence and education. In education, he rather missed the mark by predicting virtual campuses rather the online learning platforms..but, in his defence, it must be remembered that both Coursera and edX started in 2012.

Is the book worth reading? It is true you come across some interesting information in the book. Capers Jones was well positioned in the computing community and particularly in his field which is software productivity metrics, but he lacks a true historian’s necessary gifts. In my opinion, he lost sight of the book’s goals and was distracted by fleshing out a table of companies founded per decade.

In conclusion, a history of software engineering has yet to be written.
Profile Image for Jeanne Boyarsky.
Author 28 books76 followers
January 6, 2014
“The Technical and Social History of Software Engineering” sounded like an interesting book. Plus it is written by Capers Jones, who I've heard of because of function points.

Most of the book covers computer history by time periods. It starts with the history of counting and goes to the present. Well, actually the future as Capers includes some speculation about the rest of this decade and his thoughts for beyond. For example, Google Glass could provide closed captioning for the deaf.

While I don't know exactly how old Capers is, the preface says he was born before World War II. (1939). This allows him to include a good number of personal experiences as he went through the history. I liked this as I would never have imagined things like the National Institute of Health time sharing on IRS computers.

The chapters by decade show the approximate penetration and distribution of application types. I would have liked to see this in a summary graphical form at the end. Similarly for the statistics of applications by function point.

There were a few non-technical historical summaries. Some seemed relevant. Others seemed like more commentary on society and politics which is something I'd rather not see in a computer book.

I learned a lot in the book. From a “computer” originally being a person who computes to how headhunters got started. I also liked the examples of how modern tools could have prevented historical famous software errors.

---
Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.
Profile Image for Ben Linders.
Author 4 books40 followers
April 27, 2014
The book The Technical and Social History of Software Engineering starts by describing the human drive towards faster computation, followed by 9 chapters that cover developments in software engineering from 1930 until 2010.

Major software failures that have happened in these years are explored in a separate chapter. The final chapter of the book describes ongoing developments and provides a projection of the future until 2019.

I did an interview with Capers Jones for InfoQ about advancements and events in software engineering and the effects that they have had on our society. See Interview and Book Review of The Technical and Social History of Software Engineering.
26 reviews10 followers
February 28, 2014
This book was a gift from a close friend. Because the author and I had both gotten into computer science about the same time, my friend thought I would relate to and enjoy Jones' reminiscences of that era.

I definitely found the historical materials the most interesting. Unfortunately, this narrative was repeatedly broken up by lists (and lists, and lists) of what I would consider irrelevant information. It's as if the author had compiled these lists for some other reason, and decided to get some extra mileage out of them by reusing them here. The book would have been much more readable without them.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.