Why Some Programs Work and others Fail