Readings in the History of Programming

A list of resources intended for programmers, testers, software craftspeople and so on who care to understand the history of their profession.

View the Project on GitHub Morendil/programming-history

A worksheet for studying Royce’s “Managing the development of large software systems”

Published in 1970, this article by Winston Royce has long been the focus of much attention when it comes to understanding one of the major themes in the evolution of the discipline of software engineering: the controversy over “waterfall” and “agile” software development.

This worksheet is intended to help anyone who would like to figure out for themselves the meaning and significance of this article, placed in the broader context of the history of our field. It doesn’t presume there are “right” or “wrong” answers to any of the questions asked.

The historical context

The “basic approach”

Royce’s attitude to management

The problem

The solution: step 1 (“program design comes first”)

The solution: step 2 (“document the design”)

The solution: step 3 (“do it twice”)

The solution: step 4 (“plan, control, and monitor testing”)

The solution: step 5 (“involve the customer”)

The solution - general considerations

The article in context