Understanding and controlling software costs | Synapse