1. A method for effort esimation, comprising: creating at least one use case; classifying each use case according to a set of macro patterns; counting the number of times each macro pattern is applied; multiplying the number of times each macro pattern is applied by a metric corresponding to that macro pattern, to produce a set of macro pattern products; and summing the macro pattern product to determine a effort estimate.