As a result, an inevitable tension exists between the groups that are trying to produce new software and features and the groups that are trying to make money with these new products and features.
Because software is so malleable and able to deliver new features, customers make purchasing decisions partly on current features, but often on “the next big thing.” As a result, the business side promotes, and often even sells, features that don’t yet exist. Naturally, customers want to know when these features will arrive. And naturally, software businesses promise to deliver features within a certain time frame.
Very often, those promises are hard to keep. Software development teams would love to be able to tell the business folks precisely when things will arrive, but, as noted above, they can’t. (They might say and act like they know, but they don’t know….) They are often pressured into giving a date. Much effort is put into predicting that date, but those estimates are almost always wrong. Sometimes they are spectacularly wrong.