System R and The Birth of SQL

The Beaver's dilemma

System R and The Birth of SQL

There’s an old adage of a beaver talking to a rabbit in front of the Hoover Dam. “No, I didn't build it myself,” the beaver explains, “but it's based on an idea of mine.”1 The same could be said of SQL and the System R team at IBM’s Almaden Research Center in the 1970’s.

Taking credit, once and for all

Argumentation

System R provides a unique example of cooperation and argumentation in analytics teams. “These people would go at each other, I mean just hurling thunderbolts, about better and worse, complicated and simple, and mathematical foundations, and who cares,” recalled one of the team’s early managers Irv Traiger at a reunion in 1995.3 Traiger worked with E.F. “Ted” Codd, whose landmark paper introduced the concept of relational models and data normalization.

Hands-off, Small Size

While Codd kept his distance from the daily machinations of System R, his research proved highly influential for the group of “young and insecure (untenured),”3 researchers at IBM. A hands-off management style and cross-pollination between subgroups seemed to define Almaden. “People might play Ping-Pong together at lunch – there was a lot of Ping-Pong then – but essentially no technical interaction . . . And we knew that this man was over there named Ted Codd and that there were some disagreements . . . At one point, Ted Codd suddenly showed up in the Systems Department and after some delay he built up a small group of people – it was actually three people originally.” A Berkeley paper later said, “from the beginning, System R was a group effort [and] the inspiration for constructing a relational system came primarily from [Ted] Codd.”4 Another noteworthy aspect of this anecdote besides IBM’s low-key management is the small size of the team. With the Bell Labs example, too, we consistently found examples of small groups doing big things.

Un-Agile

To be sure, the team did not follow the typical agile framework of software development common to modern analytics teams. System R evolved through three different “phases” of development reminiscent of a large waterfall style project. “We should have been trying to take slightly smaller steps but toward a much more attainable goal,” recounted team-member John Nauman. Not all the team members were argumentative, either. Team members recalled another effective team-member Morton Astrahan “didn’t really like to argue, and just about everybody else in the project liked to argue a lot . . . everybody would have meetings all week and do a lot of shouting over some technical issue, and by the time the dust sort of cleared, here would be Morton, who hadn’t come to the meeting and sat in his office and wrote code all week, and he’d have the problem solved.”

Eventually the team reached a critical mass though, IBM lost its leading role in the information age. SQL though, became known for its portability, rather than the productivity tool developed by System R.4 As for the way the team worked, you might say that the argumentative style bled into the beginnings of Silicon Valley start-up culture. Its hands-off management style too has a lot in common with Bell Labs. However, the team-members seem to have missed the opportunity to adopt the agile framework gaining popularity at the time.5 The beaver could take note.

Citations

1. Ridley, M. (2021-05-18). How Innovation Works: And Why It Flourishes in Freedom. HarperCollins. Retrieved from https://www.harpercollins.com/products/how-innovation-works-matt-ridley?variant=32280902795298

2. McJones, P. (Ed.). (1995). The 1995 SQL Reunion: People, Projects, and Politics. Retrieved from https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf

3. Brewer, E. A. (1981). A History and Evaluation of System R. Retrieved from https://people.eecs.berkeley.edu/~brewer/cs262/SystemR.pdf

5. Abrahamsson, Pekka et al. (2002). Agile Software Development Methods: Review and Analysis. arXiv. Retrieved from https://arxiv.org/ftp/arxiv/papers/1709/1709.08439.pdf

 

Join the conversation

or to participate.