How can we avoid costly assumptions in requirements engineering?