To start a software project, you have to pitch.
In order pitch, you need a business case.
For the business case, you need estimations.
For estimations, you need plans and feature sets.
Upfront.

Aaand back we are at waterfalls, PowerPoint and unrealistic expectations. What's your strategy to escape this circle of doom, @allenholub

@igelrocks The first two sentences are correct. The rest is nonsense, IMO. To create a business case, you need market analysis. Estimates are irrelevant.

@allenholub fine, so market analysis reveals that competition has X, but we can build Y that outcompetes X.
Therefore the cost of building and operating Y is part of the calculation.
Therefore we need to know what we will build before we actually started.

As much harm as this has caused to software teams, i find it hard to argue against the logic above. Everything seems to lead towards estimates.

@igelrocks You are chasing a chimera. We can't know exactly what to build until we build it and get feedback. Reduce risk by building very small and improving incrementally. We can use lean metrics like throughput and lead time to make projections based on the work, with no need for estimates. That is, estimate flow. Specification-based estimation will always be too inaccurate to make good decisions.