The Apollo era of the space race, was one of the most exciting and energetic periods in the scientific community with many of the foundations of software engineering being pioneered that are still in use today.
One of the best TV series to articulate the challenges that had to be overcome is the Tom Hanks HBO TV “From the Earth to the Moon” series. This drama-documentary has one particular episode, “Spider”, that illustrates some of the challenges that every developer/engineer and manager faces on any project.
The premise of this episode is to look at the huge responsibility that was bestowed on Grumman Aircraft Engineering, to design, build and deliver the lunar module. They had 7 years to do it and the vast majority of the parts, processes and techniques had never been developed before, so they had to literally make it up as they went.
While there are many smaller stories that this episode explores, there are main 4 stories that any engineer, architect or manager will instantly recognize and sympathize with.
Believe in yourself, find the spirit of the requirement
The lunar module called for large windows. It was felt that since the astronauts were traveling such a long way, it would be good if they could actually see the moon. However, the windows were heavy. Weight is a killer in any space mission. The problem was that the original requirement called for the astronauts to be seated as they were piloting the lunar module.
Months went by as they tried to hold dear to this original requirement, until one Grumman engineer had a bold idea of simply making the astronauts stand, thus reducing the need for a huge window down to a very small one with a large field of view. At first this idea was rejected – the manager “couldn’t see it”.
However the engineers were undeterred. They turned around to the team and said “okay so let’s make him see it” and proceeded to spend the night mocking up a life-size cardboard prototype to illustrate just how the idea would work in reality.
The manager came in and was indeed impressed and gave them the green light – he could see it.
Sometimes what seems obvious to an engineer/developer doesn’t communicate well up the chain of command. When making a radical design decision, time spent bringing everyone along, is time never wasted. Use whatever analogies, drawings, objects available to you to allow you to convey your idea, while not losing sight of the original objective you are trying to solve. As you work through this, sometimes you may actual find your idea not working as you expected. This is okay too, all part of the process.
Remember, you are there for your innovative solutions. It is your duty to speak up and attempt to convince through reasoned arguments and not remain silent.
Mistakes happen; stand up and be counted
We are human. We are fallible. We get tired. We get fatigued. We make mistakes. However, as the old saying goes, the measure of a person isn’t how they handle success, but how they cope with failure.
Over at Grumman, they had been breaking lunar legs in every test for the last few weeks and no one could figure out why. Working late one night, a junior engineer discovers a mistake in his calculations. Before the days of Excel/AutoCAD, it was pen and paper, and in the haze of development a simple mistake was introduced that then went on through unnoticed.
The engineer was rightly anxious and scared for the project and of course his career. He could be out on the street if this mistake was uncovered. He decides to go to the boss, late one night, and present his findings. Naturally the manager is furious, “this is so bad”, he mutters as he pours over the evidence laid out in front of him.
He then looks at the nervous engineer, asking him to “Go home”. With a heavy heart, the young man stands up, prepared to leave his job, when the manager finishes, “get some rest and sleep. this is very bad, but you didn’t hide it, and you brought it to me as soon as you found it. Come back tomorrow rested and let’s fix this”.
Every one will make a mistakes in their career. Some will be bigger than others. Some will go unnoticed and be rectified quickly without making a fuss. The big ones however, requires a swallowing of pride, standing tall, and making yourself accountable. You will gain far more respect from both your peers and your managers. Honesty will trump any cover up or pointing fingers.
Users are way more intelligent than you give them credit
Anyone that has had to deal with users of their system, usually look upon them as second class citizens, people that need to be saved from themselves. You build in lots of safe guards, safety traps, process so they can’t screw up. However, the complexity that comes with all of that is huge, all because you don’t trust the users of your system.
Grumman was faced with a similar problem. The lunar module had two primary purposes: get the astronauts down to the moon, and even more important, get them off the moon to dock with the space craft in lunar orbit.
The problem they were faced with was the number of the docking hatches that they thought they needed. Landing on the moon was easy enough, that was standard flying controls. Taking off from the moon wasn’t so easy. They were so fixated on keeping it easy for the users they were building in so much complexity, including a second docking hatch, adding a huge amount of weight and complications to the module.
One engineer, flippantly said “if only the astronauts could fly upside down we would be solved”. Once the initial absurdity laughter died down, someone noted that the solution had merit. It was likened to working with a mirror, left would be right, up would be down, it would be completely reversed. But as the manager noted, the astronauts are very clever and highly trained pilots, they will be able to figure out. Problem solved.
Users are the most important part of your system. Don’t treat them like children and dumb your software down to the point where they don’t feel in charge.
Time – the cancer in all projects
Every software engineer is the most chronologically challenged person you are ever likely to meet. The most optimistic of races, they will always believe a task will never take as long as it really does. A good project manager will know when to add in the “time tax” in some cases, doubling or even quadrupling the time that was confidently proclaimed.
Our friends at Grumman faced the same problem. The manager is seen getting off what is obviously a tense call with NASA who are concerned the project is late, but he assures them it is on time and there is no worries.
Cut to him sitting at the board table addressing his team “okay fellows, I need to know if we are on schedule or if I need to raid the safe and make a run to Bolivia”. One by one, they go around the table, each group head, nods that everything is in order and they are on time. Except one person. He admits, they could do with an extra 3 weeks. Oh no. Silence.
Then one by one, the others who previously said everything was fine, also throw their hat in the ring, noting that an extra few weeks would be wonderful for them too.
Humans hate telling people bad news, we’re not programmed to tell people what they don’t want to hear. When it comes to project management, while no one wants to hear a project is late, hiding that fact helps no one. Early warnings is the key. Don’t wait until the last day to note you are going to be late. Keep everyone honest and updated on every step and as soon as you feel things slipping, let your manager know.
Sometimes making up the time at the moment it feels like its getting away is much easier than trying to do everything on the 11th hour.
It will launch
There is a beautiful scene near the end, just before NASA takes delivery of the first lunar lander, when the managers right hand man says “remember a time when 7 years felt a long time?”. At the start of a project there is so much hope and excitement. Delivery seems such an easy goal to achieve and we’ll do it way quicker than anyone expects. Then the project begins and before too long delivery seems a pipe dream.
Reality rarely meets that initial optimism.
However, by holding true to some basic principals you can keep things honest and on plan. Have faith, it will launch. After all, this is what you do. This is your career, your passion, your desire. The weight of the project isn’t on your shoulders but carried by everyone on the team.
It will be a beautiful thing as you see your project out in the wild servicing the needs of your customer. As our Grumman manager noted at the end, he felt he was watching a child take its first steps and head out into the world without him, he had an emotional connection.
Software projects can yield the same connection. Embrace it. No better feeling.
All images captured from the episode, Spider – From Earth to the Moon.
CTO | Partner | Investor | Java Champion | Author | Podcaster | Speaker | Architect