The authors describe a software development process that they call a metrics-guided methodology. Metrics are used throughout the software life cycle. They are used to indicate the complexity of the software at each phase, to help in deciding if the present phase has been satisfactorily completed, to help make decisions about manpower allocation and deadlines, to suggest ways to reduce the complexity at that level, and to help in choosing between alternative decisions in proceeding to the next stage. The authors propose requirement-level metrics for the specification language RSL and discuss techniques to use metrics at the requirement phase for the traditional waterfall development model. They believe that the techniques could be modified for use in other development approaches. They have applied the techniques to a moderately complex example.