The build has a clear scope, a clear end date, and a clear price. What almost never gets planned for: the feature people ask for two weeks after launch, because real users act differently than expected. The edge case nobody thought about until 200 people hit it at the same time. The "can we just add one small thing" that turns into a full week of work because it touches five other parts of the app.