본문/내용
1. 소프트웨어 위기의 개념
소프트웨어 위기란 시스템의 복잡성과 규모가 급증함에 따라 소프트웨어 개발, 유지보수, 관리 등에 여러 어려움이 발생하는 현상을 의미한다. 1960년대 후반 소프트웨어 공학이 등장하면서 처음으로 제기된 이 위기는 당시의 기대와 달리 빠르게 해결되지 않는 문제점들을 보여줬다. 특히 소프트웨어 위기는 프로젝트 일정 지연, 비용 초과, 품질 저하, 신뢰성 저하 등 다양한 문제를 야기하며 소프트웨어 산업 전반에 심각한 영향을 미쳤다. 통계 자료에 따르면 1995년 미국에서 진행된 연구에서 전체 대형 소프트웨어 프로젝트의 약 31%가 예산 대비 189%를 초과하는 비용으로 완료된 것으로 보고되었다. 이는 명백히 소프트웨어 개발 과정의 비효율성과 문제점을 보여주는 수치다. 또한, 프로젝트 실패율도 높아서 2012년 기준으로 세계적으로 약 20%의 소프트웨어 프로젝트가 완전히 실패하거나 부분 실패로 끝나는 것으로 나타났으며, 이는 기업에게 막대한 손실과 신뢰성 하락을 초래한다. 소프트웨어 위기는 복잡도가 심화됨에 따라 더욱 악화되고 있으며, 내부적 원인인 비효율적인 개발 프로세스, 불충분한 요구사항 분석, 전문인력 …