the methodological process of building reliable, robust, efficient, accurate, and useful computer programs
takes a disciplined approach to developing software that is reliable efficient, affordable, user friendly and scalable
(postoptimality analysis) the study of how sensitive solutions are to parameter changes