Successful extreme programming: Fidelity to the methodology or good teamworking? | Synapse