One way that errors can be introduced into software decisions is when the people designing and implementing the system make poor decisions either because they failed to consider the relevant criteria or because decisions were based on incorrect assumptions. Rationale management systems can be used to support and monitor the decision-making process and can help detect or even avoid some forms of decision-making error.