On Wed, Jul 3, 2024 at 10:46 AM Norman Wilson <norman@oclsc.org> wrote:
Steve Jenkin:

   I've never heard of a Computer Science or Software Engineering program
   that included a `case study' component, especially for Software
   Development & Projects.

[...]

   How about the course for which John Lions wrote his famous
exegesis of the 6/e kernel?


Norman Wilson
Toronto ON
This >>might<< be far from an OS >>developer<< perspective [i.e., for a practitioner of SW development for an OS]. However, I'm quite sure it is the same thing.    In Lion's case, he looks at the code and final system in the same manner to examine the technical output/result  (a complete timesharing system than in "modest HW", that a single person could understand as it was less than 9000 KLOCs).   This is like an architecture class might take apart drawings of Notre Dame Cathedral to examine how the structure was developed to carry such huge loads of stone, wood, and lead but still allow so much light in the building (such as the class on my CMU roommates who became a restoration architect for buildings like 30th Street Station in Philadelphia).  Case studies (which originated at HSB and are now de rigor in most B-schools) look at the choices made, given a set of initial conditions to create a (business) result [positively and negatively].   What could be learned from the conditions, choices, and results so that feature (business) leaders can recognize what might not be obvious? The idea is that you are teaching managers about choices that change/predict a future outcome.  This is not the same as field practitioners trying to make a structure/machine/program to >>operate<< to do some design function.

So, the place where a case study for SW projects (using books like Mythical Man Month) would be helpful is an in-software engineering course. Writing an HSB style case for something like UNIX, or Tenex or maybe Oracle; particularly to compared to something like Brook's book would be fascinating to read, I'm not sure Lion's text qualifies.   I think the content of such a "case" would be quite different.

Again, it comes back to what "success" is. If success is defined as winning the market, OS/360 was a huge success, as was DOS. But neither would I consider a success from the standpoint of building something that future generations of programmers would want to learn to emulate.