یک پروژه مهندسی موفق، در موعد مقرر و با هزینه و کیفیت از پیش تعریف شده بر اساس نیازمندی¬های واقعی مشتری انجام می¬پذیرد. بررسی علل شکست یا موفقیت پروژه¬های بزرگ نرم¬افزاری نشان می¬دهد که بکارگیری اصول مهندسی در فرایند تولید نرم¬افزارهای بزرگ و پیچیده ضروری است. این موضوع، به دلیل ظهور نیازمندی¬ها و فناوری¬های جدید و همچنین گسترش روزافزون صنعت نرم¬افزار، ضرورت بیشتری نیز پیدا کرده است. شکست بسیاری از پروژه¬های صنعتی و عمر کوتاه آن¬ها در بهره-برداری، متخصصان را به این باور رسانده ¬است که بدون رعایت اصول مهندسی، شکست، اجتنابناپذیر است...