Blog Prologue (Start Here)

Fred Brook’s seminal work, The Mythical Man Month, was first published over 40 years ago.  In 17 concise essays, Brooks outlines a set of issues that confront managers of large scale programming projects.  The text is still relevant; little has changed. Expressions like “silver bullet” and “mythical man-month” are now embedded in the industry parlance.  The issues Brooks described in 1970 are as true today as they were then—especially in NASA. 

Building an affordable, reliable system for human or robotic space exploration is daunting.  Pushing out of the gravity well is expensive.  Pushing out of the gravity well with adequate on-board power and adequate shielding for humans or computers is really expensive.  To first order, basic advances in hardware are needed in propulsion, power and material technologies.  Over the years, NASA has invested in these technologies with modest results due to the state of the art.

However, a space system is not just hardware—the behavior of the system, including both flight and ground systems, is determined by software.  The use of system resources is determined by its software.  The operational concept and cost of operations are heavily influenced by software.  The system’s response to physical forces or hazards is largely determined by its software. 

This is not just a matter of developing new technology.  Basic changes are needed in the way software is developed.  In other words, to develop an affordable, reliable system for human or robotic space exploration, we must step up to the software challenges identified by Brooks nearly 40 years ago. 

In this blog, I will reflect on my experience as software manager using the Mythical Man-Month as a point of departure.  My goal is to discuss challenges that are likely to occupy the next generation of software managers who will be advancing the state of space travel systems built by teams working under government contracts in large bureaucracies.

I intend to focus on five challenges:
  • Understanding the complexity of a large system that must simultaneously reason about the physical environment and mission objectives
  • Developing software in a hardware-centric organization
  • Developing software for an enterprise dependent on government funding
  • Developing software in a large bureaucracy
In general I will attempt to organize our entries as follows:
  • Cite a brief passage in the Mythical Man-Month and summarize our understanding of the text. 1
  • Reflect on our experience in NASA as it relates to the cited passage
  • Speculate on new approaches that might be open to the next generation of software managers.
Perhaps these reflections will help stimulate some of the improvements needed to better realize the aspiration of safe and affordable space exploration.

To read more, here are links to the the initial and the most recent blog entries.


1. These brief citations will be used only for non-commercial comment in order to comply with fair-use standards.

No comments:

Post a Comment