NASA: 100+ Lessons Learned for Project Managers

Jerry Madden, the former Associate Director of Flight Projects at NASA Goddard Space Flight Center (GSFC), collected 122 lesson learned nuggets from a variety of sources that are instructive to managers of NASA spaceflight projects.

While these are mostly around NASA projects and problems, many are very applicable outside as well.

Here are a few to get you started:

  • Don’t be afraid to fail or you will not succeed, but always work at your skill to recover. Part of that skill is knowing who can help.
  • Experience may be fine but testing is better. Knowing something will work never takes the place of proving that it will.
  • Reviews are for the reviewed and not the reviewer. The review is a failure if the reviewed learn nothing from it.
  • Mistakes are all right, but failure is not. Failure is just a mistake you can’t recover from; therefore, try to create contingency plans and alternate approaches for the items or plans that have high risk.
  • The first sign of trouble comes from the schedule or the cost curve. Engineers are the last to know they are in trouble. Engineers are born optimists.
  • Software now has taken on all the parameters of hardware, i.e., requirement creep, high percent-age of flight mission cost, need for quality control, need for validation procedures, etc. It has the added feature that it is hard as hell to determine it is not flawed. Get the basic system working and then add the bells and whistles. Never throw away a version that works even if you have all the confidence in the world the newer version works. It is necessary to have contingency plans for software.
  • Reviews, meetings, and reality have little in common.
  • You cannot be ignorant of the language of the area you manage or with that of areas with which you interface. Education is a must for the modern manager. There are simple courses available to learn “computerese,” “communicationese,” and all the rest of the modern ese’s of the world. You can’t manage if you don’t understand what is being said or written.
  • People who monitor work and don’t help get it done, never seem to know exactly what is going on.
  • There are still some individuals who think important decisions are made in meetings. This is rarely the case. Normally, the decision-makers meet over lunch or have a brief meeting to decide the issue and then (at a meeting called to discuss the issue) make it appear that the decision is made as a result of this discussion.
  • Management principles are still the same. It is just the tools that have changed. You still should find the right people to do the work and get out of the way so they can do it.
  • Integrity means your subordinates trust you.
  • There are rare times when only one man can do the job. These are in technical areas that are more art and skill than normal. Cherish these people and employ their services when necessary as soon as possible. Getting the work done by someone else takes two to three times longer, and the product is normally below standard.
  • Never assume someone knows something or has done something unless you have asked them. Even the obvious is overlooked or ignored on occasion– especially in a high-stress activity.
  • A person’s time is very important. You must be careful as a manager that you realize the value of other people’s time; i.e., work you hand out and meetings should be necessary. You must, where possible, shield your staff from unnecessary work; i.e., some requests should be ignored or a refusal sent to the requester.
  • The project manager who is the smartest man on his project has done a lousy job of recruitment.
  • Never ask management to make a decision that you can make. Assume you have the authority to make decisions unless you know there is a document that states unequivocally that you cannot.
  • The boss may not know how to do the work, but he has to know what he wants. The boss had better find out what he expects and wants, if he doesn’t know. A blind leader tends to go in circles.
  • In political decisions, do not look for logic– look for politics.
  • Too many people at Headquarters believe the myth that you can reduce the food to the horse every day till you get a horse that requires no food. They try to do the same with projects, which eventually end up as dead as the horse.

GrumPHP – PHP quality control tool

GrumPHP is yet another quality control tool for PHP. But unlike a million other – PHPUnit, PHP CodeSniffer, and the like – this one is more of a tying knot. GrumPHP integrates via git hooks. It runs one more of the other tools, making sure that the changes you are committing are up to the par.

The support for other tools is excellent. You’ll find anything from the basic unit tests and coding style checks to commit message formatting and content, Robo tasks, and even custom shell scripts.

eDEX-UI – a sci-fi terminal

eDEX-UI is a science fiction terminal that runs on most operating systems. It was heavily inspired by the user interfaces in sci-fi movies, like TRON, Minority Report, and others. While it’s not very practical for the day-to-day use for anyone heavily using command line, it’s a lot of fun to run when there are non-technical people around, staring at your screen.

The installation is pretty simple:

git clone https://github.com/GitSquared/edex-ui.git
cd edex-ui
npm run install-linux
npm start

I think it works even better with a large touch screen, but I don’t have one around to try it on.

Technology, Ranked

Technology, Ranked” is the list of the 100 most important technologies ever invented by the human kind. Given how much technology we have invented, I think it’s much harder to compile such a list than to argue the choices and order. Overall, it’s quite a fair representation, with, maybe, slightly biased look towards the USA than the global population.

Monorepos: Please don’t!

I have only recently discovered the concept of monorepos. It does sound interesting and I am yet to try it out, or, at least, dig deeper into the subject. But then, there are people who have strong opinions against them, and I the reasoning makes all the sense to me. Here’s a nice one: Monorepos: Please don’t!