In many software application domains, constant evolution is the dominant problem, shaping both software design and the software process. Telecommunication software is the prototypical example of such an application domain. This paper examines how requirements engineering, formal description techniques, and formal methods should be adapted to work well in these application domains.