I just finished reading Skunk Works from Ben R. Rich and Leo Janos, a 400-page book about Lockheed Martin’s Advanced Development Programs unit and how they were able to develop some of the most advanced aircrafts of all time. What has amazed me the most is how some of the techniques and guidelines used by them are appliable today in software development.
Five years ago I decided to buy this book after seeing it mentioned several times in Hacker News. I bought it in Abebooks for less than 4$ and I left it in some bookshelf collecting dust. A month ago I finally started reading it and I have really enjoyed it, it has been both entertaining and instructive at the same time.
Skunk Works is the official pseudonym of a special unit of the aerospace company Lockheed Martin. These are some of their accomplishments:
- U-2 (1955): a reconnaissance aircraft capable of flying at 70000 feet of altitude, that was 15000 feet higher than any previous aircraft.
- SR-71 Blackbird (1964): a successor of U-2 with a improved radar section that could reach more than 80000 feet and it was capable of maintaining a cruise speed faster than Mach 3.
- D-21 (1964): a unmanned reconnaissance aircraft which could fly more than 5000 km and reach a speed of Mach 3. Yes, these guys were already building successful drones in the sixties.
- F-117 Nighthawk (1981): first operational aircraft to be designed around stealth technology. It’s prototype Have Blue was built in only 14 months to demonstrate the viability of the revolutionary stealth technology.
They didn’t not only use state-of-the-art-technology, but they were also capable of finishing those projects on time and inside the budget which is even more amazing.
Let me mention here some of the ideas extracted from the book and which I think that can be applied to software development almost directly:
- The development of a highly disruptive project, in a short period of time and without high-rocketing costs requires a smaller team. Forget about using big teams because all the bureaucracy and overhead involved, they are not efficient enough. That’s why such amazing aircrafts were built by Skunk Works and not by Lockheed Martin directly.
- A manager of such a project must delegate practically complete control in all aspects. Nevertheless he should be able to take quick decisions regarding technical, financial or operational matters. That was what Ben Rich and Kelly Johnson did at Skunk Works.
- All the people involved must be high-skilled and well paid, from the technicians in the lower levels to the the engineers in the higher levels. It isn’t so easy to find skilled workers, therefore they need to be rewarded properly, otherwise they will find better paid jobs. In Skunk Works not only the engineers were top-level, but also the technicians were highly trained. For instance, their workers could do the same or better maintenance of the advanced aircrafts with less than one third of the same staff as the Air Force.
- Communication is essential, not only between engineering teams but also between engineers and technicians. Do not build silos, try to get the engineers close to the technicians. In this way if something is wrong, the engineer can redesign it and test it as soon as possible. At the Skunk Works building, the offices were inside the plant itself where the aircrafts were built.
- Do not build everything from scratch; on the contrary, try to reuse as much pieces as possible from previous projects or just buy them. The team must focus in the new and innovative parts. The Skunk Works’ prototypes used off-the-shelf components when possible and reused engines from other models of Lockheed Martin.
- Do not aim from the beginning for the final product, try to build something that works first (proof of concept) and improve it later. In the case of Skunk Works, they first built a scaled wood model to check the radar section and to check the aerodynamics in the wind tunnel. Then they tried to have the first flight as soon as possible to be able to test absolutely everything in the real world and later improve all aspects of the aircraft.
- Use the proper tools and if they are not available build them yourself. Do not be shy on spending money on them, since you will be using them everyday for a long time and they should be as reliable as the final project. When Skunk Works started building the SR-71, which used titanium, they were forced to build their own precision drills and lubricants which costed more than a million dollars because the existing ones were not resistant enough or suitable for the work.
- Test everything, specially third-party components that you are using. It’s better to discard something at the development phase than later when you are testing your project in the real world. When Skunk Works was building the fuselage-cockpit section of the SR-71, they discovered that the titanium was brittle as glass and the manufacturer had a quality-control problem, so they set up a rigorous quality control for the titanium and were forced to reject more than 95% of it.