How reuse influences productivity in object-oriented systems | Synapse