a systematic problem-solving strategy, with criteria and constraints, used to solve a problem, design or satisfy human needs
systematic problem-solving strategy, with criteria and constraints, used to develop many possible solutions to solve a problem or satisfy human needs and wants for one solution
makes software a commodity, and places onus on companies to leverage that software effectively.