Too Long; Didn't Read
Before the 2000s, software development was mostly done in a Waterfall approach. This meant that a software project would be shipped after going through a few long stages such as analysis, development and QA. This led to slow software development cycles and, consequently, improper decisions were made in the early stages of the lifecycle. Most great projects are developed in an Agile fashion, using philosophies like SCRUM or Extreme Programming. These methodologies promote fast software development by shortening the cycles and by shipping often.