
The inventor of the SR-71's rules for project management - valarauca1
https://en.wikipedia.org/wiki/Kelly_Johnson_%28engineer%29#Kelly_Johnson.27s_14_Rules_of_Management
======
fsloth
I resent calling Kelly Johnson merely the inventor of SR-71. He was the
father, the project manager and the organizational hustler who found Skunk
Works and defined it's working culture. He was a legendary aviation engineer
but also really _understood_ how to get a team of experts to produce results
and to co-operate with the manufacturing and operations to create feats of
engineering.

He found and ran a lean organization on grit and triftiness when toyota
production system was taking it's baby steps in japan.

I heartily suggest Ben Rich's 'Skunk works' to anyone who gets a kick out of a
true story what it actually means in terms of output when an innovative
engineering team actually works lean... in hardware.

~~~
Animats
That's an excellent book.

Kelly had a few other rules. One was that the engineers, the machinists, and
the airframe must be physically close, preferably in the same building. That
way, if a part wasn't working, the assembler, machinist, and designer could
all get together at the airframe and figure out what to do about it. HP also
had that approach to work in their glory days.

Another Kelly saying was "Kill problems, don't wound them". If some part is
causing problems, don't make one that has fewer problems, redesign it so the
problem goes away completely.

~~~
sanderjd
The "kill problems, don't wound them" idea reminds me of the idea in
programming to make invalid states unrepresentable. It's not always possible
to redesign problems away entirely, but if it is possible, it is a good thing
to do.

~~~
WalterBright
Absolutely. A common approach to programming bugs is to try and educate
programmers to not make particular mistakes. A more effective approach is to
redesign the language so those mistakes are impossible.

For example, the JSF C++ guidelines say not to use 'l' suffixes on numeric
literals, because they look like a 1. D simply makes the 'l' suffix illegal,
use 'L' instead.

~~~
Animats
_A common approach to programming bugs is to try and educate programmers to
not make particular mistakes. A more effective approach is to redesign the
language so those mistakes are impossible._

Exactly. That's why I'm bothered by Rust being _almost_ protected against
memory errors, and Go being _almost_ protected against race conditions. Even
if you give up some performance, it's a big win to eliminate entire classes of
errors.

(Still, both are way ahead of C/C++ in this area. So far, I don't think
there's been a CERT advisory for a Go program. Rust is too new to be attacked
yet.)

 _It has been (7) days since the last CERT security advisory for a buffer
overflow in a C /C++ program._

~~~
lucian1900
Rust fully protects against memory errors (and data races, for that matter).

Having "unsafe" is necessary for making useful software and, in fact, it is
also present in most other safe languages: Python, Java, Haskell, etc.

~~~
codygman
Unsafe is useful and necessary for many things, but most of the time it is
easier to avoid it.

However it is disingenuous to claim unsafe is necessary for making _any_
useful software.

~~~
sillysaurus3
Howso? Without unsafe, you can't do what you need to do. That's the definition
of "necessary for making useful software."

~~~
codygman
Can you define "what you need to do"?

For instance, if I want to download/parse an html webpage or make some sort of
web crawler or bot, why would I need unsafe?

------
ixtli
"Because only a few people will be used in engineering and most other areas,
ways must be provided to reward good performance by pay not based on the
number of personnel supervised."

The lack of this is the #1 problem with professional software engineering.

~~~
kamaal
Supervised! Yes, that's exactly the right word to use!

Instead of 'leader', 'manager', 'director', 'president' and all those
pointless buzzwords. If all you are really going to do is forward emails and
approve leaves.

Supervisor is the right word to use.

~~~
hessenwolf
Administer I like. A busy office can really do with a good quality
administrator. My best bosses have been precisely that.

------
guiomie
From the link: According to the book "Skunk Works" the 15th rule is: "Starve
before doing business with the damned Navy. They don't know what the hell they
want and will drive you up a wall before they break either your heart or a
more exposed part of your anatomy."

any examples out there?

~~~
mostly_harmless
In a more recent example, the F35 Jet is having delay and cost overrun
problems. I hear that one of the reasons is that there is 3 different version
of the same jet and it may have been cheaper to design 3 completely different
planes oriented toward each niche.

The 3 configurations are:

A) Conventional takeoff and landing (CTOL). A normal fighter jet, intended to
replace the F16.

B) Short takeoff and vertical landing (STOVL). This model essentially has a
big fan in it to allow it to hover and land on aircraft carriers.

C) Similar to A, but with larger, foldable wings and a stronger tailhook for
landing with a carrier arrestor cable.

Model B is intended for the Marine Corp, and C is intended for the Navy.

Now I admit that I am fairly uninformed about military hardware and design,
but I think something can be concluded from the F35 program issues.

~~~
Evolved
If I remember correctly, the Marines use amphibious assault ships that don't
have conventional runways (such as on Navy aircraft carriers) to take off/land
on thus the need for a VTOL aircraft. A VTOL wouldn't be necessary for a Navy
aircraft carrier (example: F18 Super Hornet). Another example of this is why
the Marines wanted to keep the Harrier around for so long before it became too
problematic and expensive hence why they wanted VTOL capabilities on the F35
JSF (also another factor in the cost/time overruns).

~~~
Evolved
Citations:

[1] [http://foxtrotalpha.jalopnik.com/7-things-the-marines-
have-t...](http://foxtrotalpha.jalopnik.com/7-things-the-marines-have-to-do-
to-make-the-f-35b-worth-1560672069)

[2] [http://www.funker530.com/397-billion-spent-on-
the-f-35-fight...](http://www.funker530.com/397-billion-spent-on-
the-f-35-fighter-jet-is-it-worth-it/)

------
onion2k
Point 6, "Don't surprise the customer", is the foundation of all good project
management. To manage that requires knowledge and communication in all aspects
of what you're doing. It's not a guarantee of success, but its definitely
something to aim for.

------
SocksCanClose
when it comes to DOD management rules, nothing beats Heilmeier's Catechism:
[http://en.wikipedia.org/wiki/George_H._Heilmeier#Heilmeier.2...](http://en.wikipedia.org/wiki/George_H._Heilmeier#Heilmeier.27s_Catechism)

------
marze
It is telling that the SR-71 has not been replaced with a better and faster
plane.

It appears that without Kelly and his organization, the government/contractor
world is simply incapable of the task. In spite of material sciences advances,
computing and CAD advances, etc., not only can today's system not produce an
improved version, it would not even be able to match the specs of the SR-71 in
a new design today.

Of course some may say that the successor may exist but is so secret no one
knows of it, but that is extremely unlikely. If it existed whoever created it
wouldn't be able to resist taking credit.

~~~
kjs3
Or...hyper-velocity, fly-over, manned surveillance platforms have been
replaced by increasingly sophisticated surveillance satellites, non-fly-over
surveillance technology (e.g. SLAR) and unmanned drones, making an undoubtedly
immensely expensive, manned SR-71 follow-on superfluous.

That or we got stupid since Kelly died. One of the two.

~~~
marze
No doubt, satellites can perform the role of the SR-71.

My point is that the system we have in the US could not create a new SR-71
class airplane right now, in my view. It would run over budget, miss the
performance targets, and be cancelled.

~~~
kjs3
Actually, satellites alone can't do what an SR-71 can. Satellites aren't an ad
hoc intelligence solution, since they are periodic in their orbit and can't
image something they aren't on-station to see. But combined with other tech,
they replace the SR-71 nicely.

As to your "point", it's trivial to say "we can't do something" when we
haven't tried.

------
tdicola
I find HN's infatuation with SR-71 kind of amusing. I think the site should
have a logo that's the SR-71 flying over a globe or something similar. If you
think about it the Y logo kind of looks like an SR-71... :)

~~~
nether
It's not just the SR-71, also that ancient, straight-winged laggard the A-10.
The internet loves these two aircraft.

~~~
angersock
The SR-71 was an impressive engineering feat because it successfully brought
together a bunch of really crazy tech and got it to _work_. All of this with a
relatively small team and stone-age (by modern standards) computational
ability.

The A-10 was an impressive engineering feat because it _perfectly executed_ a
very boring and conservative design. It did one thing, did it very well, and
was so reliable it arguably put its producer out of business.

If I had to draw a comparison to software, I'd compare the SR71 with Erlang,
and the A-10 with Postgres.

~~~
jbooth
Call the A-10 late 90s / early 2000s MySQL. Sinfully ugly and gets the job
done.

