Effective Decision Making in a Software Environment