Computer programs are made up of a series of instructions that computers understand. This is no problem when your computer program is ten lines long, but some modern programs, like operating systems, might have millions of lines of code. Since it only takes one bad line of code to really mess things up, the length of computer programs becomes a problem due to increased complexity.
So the biggest problem that software development has faced has been one of organization. People have had to invent ways to keep computer programs more organized. When I was going to school in the 1980s, the buzzword was "structured programming", which doesn't really do that much. This was later replaced by "Object-Oriented" programming, which was a breakthrough in organizing computer code.
However, I keep thinking that there has to be a better way. I don't know what that better way is, but I'm sure that eventually someone will invent a new method.