
The problem was not just the piece of foam that struck the wing, it was a failure of imagination — NASA had seen foam fall before and decided it was normal, after Columbia, normal was not good enough.
They redesigned the external tank to keep the foam attached.
They decided to never again assume the ship was safe. They would prove it, every time.
For each mission, a fifty-foot boom with a laser and camera was attached to the robotic arm — After launch, the crew would spend a day inspecting every inch of the heat shield. They looked for the smallest crack, the slightest damage.

They also developed kits, for spacewalking astronauts. To patch them holes in the wings edge – And every mission went to the International Space Station.
It was a safe harbor. If the ship was too wounded to come home, the crew could wait there for a rescue.

They learned a hard lesson, a man must always check his work.
On-orbit inspections.
To recap for those who are just tuning in, during the launch of STS-107, the orbiter, Columbia, was hit by a piece of foam insulation that came off the external tank. The foam punched a hole in Columbia’s wing. When Columbia reentered the Earth’s atmosphere, almost 16 days later, hot gasses entered the wing through the hole and damaged the wing’s structural integrity. The vehicle and crew were lost.
After Columbia, NASA decreed that the orbiter would always be inspected while in orbit, and if similar damage was found to have occurred, there would have to be a way to rescue the crew. (Even if NASA had known about the damage to Columbia, it’s not at all certain that they could have rescued the crew.)
After the Columbia accident, it happened that all but one of the remaining flights was scheduled to fly to the International Space Station (ISS). This meant that the orbiter could be externally inspected by the ISS crew, and if the orbiter was damaged in any way, the crew could just hang out on the ISS until a rescue shuttle or a couple of Soyuz capsule could be launched.

(Above: Discovery gets a once-over after its launch in 2006.)
The only shuttle mission that did not go to the ISS post-Columbia was STS-125, which performed a repair mission to the Hubble Space Telescope. The mission was flown aboard the orbiter Atlantis. The crew used the shuttle’s robotic arm to perform an inspection.
If a problem had been found on STS-125, the shuttle Endeavor was prepared to fetch Atlantis’s crew. The rescue mission was dubbed STS-400, and a crew of four had trained for a rescue, in case it were needed. Thankfully, no rescue was necessary, and Atlantis returned as planned.
