This is a metaphor comparing software engineering and design to "management" of software. This may involve the management of people ("project manager"), but the focus here is on software. It is doing similar things that one would do with staff, but on the code instead. Management involves: * Knowing what the code is supposed to do * Knowing how the code does it, or at least knowing how to find out how the code does it. * Knowing how to navigate the code ("find stuff") * Knowing how to inspect the code. * Knowing how to understand the code. * Forecasting possible future changes or crises. * Preparing for possible future changes or crises. * Understanding the trade-offs of design decisions. * Communicating the trade-offs of design decisions. * Knowing how to test the code. * Knowing how to verify the code. * Tracking changes to the code. --Top