사라지는 창고에 대해 들어 보셨습니까? 어느 날,그것은 사라—하지 물리적 관점에서,하지만 잘 알려진 소매 업체의 자동화 된 유통 시스템의 조심스러운 눈에서. 소프트웨어 결함이 창고의 존재를 어떻게 든 지워 버렸기 때문에 창고로 향하는 상품은 다른 곳으로 다시 라우팅되고 창고의 상품은 쇠약 해졌습니다. 회사가 재정적인 말썽에서 이고 돈을 저축하기 위하여 다른 창고를 셔터를 닫고 있었기 때문에,”없는”창고에 직원은 조용하게 유지했다. 3 년 동안 아무것도 도착하거나 떠나지 않았습니다. 다른 컴퓨터 시스템이 급여를 취급했기 때문에 직원은 아직도 그들의 봉급지불수표를,그런데 얻고 있었다. 소프트웨어 결함이 마침내 밝혀 졌을 때,창고의 상품은 매각되었고,경영진은 직원들에게 에피소드에 대해 아무 말도하지 말라고 말했다.
이 이야기는 20 년 동안 정보 기술 산업을 떠돌아 왔습니다. 그것은 아마 외경,하지만 사업에 우리의 사람들을 위해,그것은 완전히 그럴듯한입니다. 왜? 이 같은 에피소드는 모든 시간을 발생하기 때문에. 예를 들어,지난 10 월,영국의 거대 식품 소매업체인 세인스버리 플립은 자동화된 공급망 관리 시스템에 대한 미화 5 억 2,600 만 달러의 투자를 상각해야 했다. 이 상품은 회사의 창고와 창고에 갇혀 있었다 및 상점의 많은 통해 점점되지 않은 것 같다. 세인은 수동으로 선반을 재고 약 3000 추가 점원을 고용하도록 강요했다.
이것은 그것의 길고,음침한 역사안에 최신의 단 것개 이다 비스듬히 간 계획사업. 대부분의 전문가들은 그러한 실패가 그들이해야 할 것보다 훨씬 더 자주 발생한다는 데 동의합니다. 더 많은 것은 인 무엇,실패는 보편적으로 편견:그들은 모든 국가에서 발생;대기업과 작은;상업,비영리,그리고 정부 기관;그리고 상태 또는 명성에 관계 없이. 이러한 실패의 비즈니스 및 사회적 비용—낭비 납세자 및 주주 달러뿐만 아니라 할 수없는 투자의 관점에서-지금은 10 억 달러에 잘.
문제는 유비쿼터스 성장으로 만 악화. 올해 조직과 정부는 전세계 하드웨어,소프트웨어 및 서비스에 약 1 조 달러를 지출 할 것입니다. 5 에서 15%로 시작 되는 그것은 프로젝트 포기 될 것 이다 전에 또는 곧 배달 후 절망적으로 부적 절 한. 많은 사람들이 늦게 도착하고 예산을 초과하거나 대규모 재 작업이 필요합니다. 몇 프로젝트,즉,진정으로 성공.
가장 큰 비극은 소프트웨어 오류가 대부분 예측 가능하고 피할 수 있다는 것이다. 안타깝게도 대부분의 조직은 실패 방지를 긴급한 문제로 보지 않습니다. 이 태도가 지속되는 이유를 이해하는 것은 단지 학문적 인 운동이 아니다;그것은 비즈니스와 사회에 엄청난 영향을 미친다.
소프트웨어는 어디에나 있습니다. 그것은 우리가 현금 지급기에서 현금을 얻을 수 있습니다 무엇,전화를 걸,우리의 차를 운전. 일반적인 핸드폰은 이제 200 만 줄의 소프트웨어 코드를 포함하고 있으며,2010 년에는 10 배 정도 될 것입니다. 제너럴 모터스 그때까지 그 자동차는 각각 1 억 줄의 코드를 가질 것으로 추정합니다.
평균 회사는 정보 기술에 대한 수익의 약 4~5%를 지출하고,금융 및 통신 회사와 같이 의존도가 높은 회사는 10%이상을 지출합니다. 즉,지금은 직원 비용 이외의 가장 큰 기업 비용 중 하나입니다. 그 돈의 대부분은 하드웨어 및 소프트웨어 업그레이드,소프트웨어 라이센스 비용 등으로 들어가지만,큰 덩어리는 조직과 고객을 위해 더 나은 미래를 만들기위한 새로운 소프트웨어 프로젝트를위한 것입니다.
정부 역시 소프트웨어의 큰 소비자이다. 2003 년,영국은 총$20.3 억 진행중인 프로젝트 100 개 이상의 주요 정부를했다. 2004 년 미국 정부는 1200 명의 민간인을 목록 화했습니다.이 프로젝트는 600 억 달러 이상,군사 소프트웨어에 160 억 달러가 들었습니다.
이 프로젝트 중 하나는 10 억 달러가 넘을 수 있습니다. 2 개의 현재 보기를 가지고 가기 위하여는,재향군인 업무의 미국 부에 컴퓨터 근대화 노력은$3.5 10 억을 달릴 것으로 예상되고,영국의 국민 건강 서비스의 건강 기록을 자동화하는 것은 발달을 위해 이상의$14.3 10 억 및 배치를 위해 또 다른$50.8 10 억을 요하기 위하여 할 것 같다.
한때 드문 메가소프트웨어 프로젝트는 이제 더 작은 운영이”시스템의 시스템”으로 결합됨에 따라 훨씬 더 일반적이다.”항공 교통 관제는 통신,날씨,내비게이션 및 기타 데이터를 제공하는 수십 개의 네트워크 간의 연결에 의존하기 때문에 대표적인 예입니다. 그러나 통합의 트릭은 학술 연구자들이 컴퓨터 과학 자체가 이러한 대규모 복잡한 시스템에 비추어 다시 생각해야 할 수도 있다고 점점 더 믿는 지점까지 많은 개발자를 방해했습니다.
프로젝트가 실패하면 조직의 전망을 위태롭게 한다. 실패가 충분히 크면 회사의 전체 미래를 훔칠 수 있습니다. 한 별의 붕괴에서,제대로 구현 자원 계획 시스템은 폭스 마이어 약물 공동 주도.,캐롤,텍사스에서$5 억 도매 마약 유통 회사는 1996 년에 파산으로 급락합니다.
정부의 실패는 국가 안보를 위태롭게 할 수 있다. 1 억 7000 만 달러 규모의 가상화폐 시스템은 에이전트가”점들을 연결”하고 이질적인 정보들을 추적할 수 있도록 하기 위한 검색 가능한 데이터베이스로,5 개월 전에 어떤 시스템도 배포하지 않고 끝났다.
실패는 또한 경제 성장과 삶의 질을 방해 할 수 있습니다. 1981 년에 미국 연방 항공국은 낡은 항공 교통 통제 시스템을 업그레이드하기 시작했지만 교체를 구축하려는 노력은 곧 문제로 가득 찼습니다. 1994 년,기관이 마침내 프로젝트를 포기했을 때,예상 비용은 3 배가되었고,26 억 달러 이상이 소비되었으며,예상 배달 날짜는 몇 년 동안 미끄러졌습니다. 때문에 그리드 잠금 스카이 웨이의 지연 모든 비행기 승객은 여전히이 취소를 느낀다; 다만 미국 항공에 모든 그 지연의 누적되는 경제 충격은(결코 여객을 꺼리지 않는다)$50 십억에 접근한다.
전 세계적으로,얼마나 많은 소프트웨어 프로젝트가 실패하는지 또는 그 결과로 얼마나 많은 돈이 낭비되는지 말하기는 어렵다. 실패가 전달되기 전이나 직후에 프로젝트의 전체 포기로 정의되고 5%의 보수적 인 실패율을 받아들이면 매년 수십억 달러가 나쁜 소프트웨어로 낭비됩니다.
예를 들어,2004 년,미국 정부는 소프트웨어(무기 시스템에 내장 된 소프트웨어를 포함하지 않음)에$600 억 지출;5%의 실패율은$30 억 아마 낭비 의미한다. 그러나,몇 십년간 후에 그것 고문으로,실패율이$10 백만 더의 예산이 있는 계획사업에는은을 위해 15 에 20 퍼센트 이다 고 나는 납득시킨다. 지난 5 년 동안 새로운 소프트웨어 프로젝트(정부와 기업 모두)에 대한 총 투자를 살펴보면 프로젝트 실패로 인해 미국 경제에 최소 250 억 달러,750 억 달러가 소요될 것으로 예상됩니다.
물론 750 억 달러는 예산을 초과하는 프로젝트를 반영하지 않습니다. 도 아니다 늦게 전달 프로젝트를 반영 않습니다—이는 대부분이다. 또한 프로젝트를 포기한 후 다시 시작해야 하는 기회 비용이나 반복적으로 재작업해야 하는 버그 발생 시스템의 비용을 고려하지 않습니다.
그런 다음,너무,제대로 구현 된 시스템에 대한 공급 업체를 고소 성난 고객의 소송 비용이있다. 이러한 모든 추가 비용을 합산하면 실패하고 문제가있는 소프트웨어에 대한 연간 탭은 미국에서만 600 억 달러에서 700 억 달러로 보수적으로 실행됩니다. 그 돈을 위해 우주 왕복선을 100 번 발사하고 전체 24 위성 글로벌 포지셔닝 시스템을 구축 및 배포하고 보잉 777 을 처음부터 개발할 수 있으며 여전히 몇 억 개가 남아 있습니다.
프로젝트는 왜 그렇게 자주 실패합니까?
가장 일반적인 요인 중:
- 비현실적이거나 명확하지 않은 프로젝트 목표
- 필요한 자원의 부정확한 추정
- 잘못 정의된 시스템 요구 사항
- 프로젝트 상태의 보고 불량
- 관리되지 않는 위험
- 고객,개발자 및 사용자 간의 통신 불량
- 프로젝트의 복잡성을 처리 할 수 없음
- 엉성한 개발 관행
- 가난한 프로젝트 관리
- 이해 관계자 정치
- 상업적 압력
물론,거의 프로젝트 하나 또는 두 가지 이유로 실패합니다. 이 프로젝트는 위에 나열된 많은 문제로 어려움을 겪었습니다. 사실 대부분의 실패는 기술,프로젝트 관리 및 비즈니스 의사 결정의 조합으로 추적 할 수 있습니다. 각 차원은 프로젝트 위험과 문제를 악화시키고 실패 가능성을 높이는 복잡한 방식으로 다른 차원과 상호 작용합니다.
간단한 소프트웨어 잡일 고려: 판매원이 고객의 주문을 입력하고 가격 및 계약 요구 사항에 대해 자동으로 확인하고 부품 및 송장을 창고에서 고객에게 보낼 수 있도록 정렬할 수 있도록 부품의 주문,청구 및 배송을 자동화하는 구매 시스템입니다.
시스템에 대한 요구 사항은 네 가지 기본 단계를 지정합니다. 첫째로,판매의 계산서를 창조하는 판매 과정 있는다. 이 법안은 잠재적 인 판매의 계약 조건을 검토하고 승인하는 법적 절차를 통해 전송됩니다. 선안에 제 3 의는 청구서를 발송하는 경리 과정에 선행되는을 위해 계약한 부속을 발송하는 지급 과정 이다.
의 첫 번째 프로세스로,판매,작성되고 있다고 가정 해 봅시다,프로그래머는 회사의 주요 위치에 배치 된 것처럼 모든 주문을 취급,회사는 여러 주와 국가에 지사를두고있다. 그 실수는 세금 계산 방법,어떤 종류의 계약이 발행되는지 등에 영향을 미칩니다.
생략이 빨리 감지되고 수정될수록 좋습니다. 그것은 스웨터를 뜨개질하는 것과 같습니다. 당신이 그것을 만들 직후 놓친 스티치를 발견하는 경우,당신은 단순히 원사의 비트를 해명하고 이동할 수 있습니다. 당신이 끝날 때까지 실수를 잡을 수없는 경우,당신은 단지 하나의 스티치를 다시 실행 전체 스웨터를 해명해야 할 수도 있습니다.
소프트웨어 코더 최종 시스템 테스트 때까지 자신의 누락을 잡을하지 않는 경우-또는 더 나쁜,시스템이 출시 된 후까지-오류를 해결하기 위해 발생하는 비용은 가능성이 그들이 여전히 초기 판매 과정에서 작업하는 동안 실수를 잡은 것보다보다 많은 시간이 될 것입니다.
그리고 스웨터에서 놓친 스티치와는 달리,이 문제는 정확하게 지적하기가 훨씬 어렵습니다;프로그래머는 오류가 나타나는 것을 볼 수 있습니다,이러한 여러 가지 원인이있을 수 있습니다. 원래 오류가 수정 된 후에도 다른 계산 및 문서를 변경 한 다음 모든 단계를 다시 테스트해야합니다.
사실,연구 결과에 따르면 소프트웨어 전문가들은 부가 가치 작업이라고 부르는 것보다 피할 수있는 재 작업에 약 40~50%의 시간을 소비합니다. 소프트웨어의 조각이 현장에 그것을 만들면,오류를 수정하는 비용은 개발 단계에서했을 것보다 100 배 높을 수 있습니다.
오류가 많으면 재작업이 폭풍 속의 작은 배처럼 프로젝트를 늪에 빠뜨릴 수 있습니다. 더 나쁜 것은 오류를 수정하려는 시도가 종종 새로운 오류를 도입한다는 것입니다. 그것은 당신이 그 작은 배를 구제하는 것처럼,그러나 당신은 또한 누출을 만들고 있습니다. 너무 많은 오류가 발생하면 시스템을 완료하는 데 필요한 비용과 시간이 너무 커서 계속 진행되는 것이 의미가 없습니다.
가장 간단한 용어로,재작업이 예산이 책정된 부가가치작업을 초과할 때 프로젝트는 보통 실패한다. 이 시드니 물 공사,호주에서 가장 큰 물 공급자에 무슨 일이 있었는지입니다,그것은 자동화 된 고객 정보 및 결제 시스템을 도입하려고 할 때 2002. 호주 감사관의 조사에 따르면,이 프로젝트를 파멸시킨 요인 중에는 부적절한 계획 및 사양이 있었으며,이로 인해 수많은 변경 요청과 상당한 추가 비용 및 지연이 발생했습니다. 시드니 물 6100 만 달러(3320 만 달러)를 지출 한 후 프로젝트 중반에 중단되었습니다.
이 모든 것이 우리를 명백한 질문으로 인도합니다:왜 그렇게 많은 오류가 발생합니까?
소프트웨어 프로젝트 실패는 비행기 충돌과 공통점이 많습니다. 파일럿이 결코 충돌할 의도가 없는 것처럼,소프트웨어 개발자는 실패를 목표로 하지 않는다. 상업용 비행기가 추락 할 때 조사관은 날씨,유지 보수 기록,조종사의 처분 및 교육,항공사 내의 문화적 요인과 같은 많은 요소를 살펴 봅니다. 마찬가지로,우리는 소프트웨어 실패의 뿌리에 도착하는 비즈니스 환경,기술 관리,프로젝트 관리 및 조직 문화를 볼 필요가있다.
비즈니스 요소 중 가장 중요한 것은 경쟁과 비용 절감의 필요성입니다. 그들은 소프트웨어 프로젝트를 투자로 보는 것이 아니라 통제되어야 하는 순수한 비용으로 본다.
정치적 급박은 또한 프로젝트의 일정,비용 및 품질에 혼란을 야기 할 수 있습니다. 덴버 국제 공항이 자동 수하물 처리 시스템을 출시하려고 시도했을 때 주 및 지방 정치 지도자들은 프로젝트를 비현실적인 일정으로 개최했습니다. 제 시간에 시스템을 제공하지 않으면 1995 년 공항 개통(당시 미국에서 가장 큰 공항)이 지연되어 재정적 영향이 더욱 커졌습니다.
시스템이 완성된 후에도,그것은 결코 안정적으로 작동하지 않았다:그것은 수하물을 씹어,그리고 주위에 셔틀 수하물에 사용되는 카트는 자주 탈선. 결국,유나이티드 항공,공항의 주요 세입자,시스템 계약자를 고소하고,에피소드는 정치적 편의의 위험에 대한 증거가되었다.
고위 경영진의 지원 부족은 또한 사업을 망칠 수 있습니다. 이것은 충분한 돈 및 인력을 명확하게 설치하기에 할당하지 못하기에서 조직 사업에 그것 계획사업 관계 달린다. 에 2000,소매 케이 마트 사,트로이,미시간.,시작$1.4 억 현대화 노력은 더 나은 벤턴 빌,방주,월마트 주식 회사와 경쟁하기 위해,판매,마케팅,공급 및 물류 시스템을 연결하기위한 것입니다. 월마트는하지만,너무 강력한 입증,18 개월 후,현금 묶여 케이 마트는 이미 투자 한$(130)만 달러를 쓰고,현대화에 다시 잘라. 4 개월 후,그것은 파산을 선언;이 회사는 오늘 투쟁을 계속합니다.
자주,그것은 프로젝트 매니저는 거짓말 쟁이의 포커의 형태로 투자 리조트를 얻을 열망,자신의 프로젝트가 무엇을 할 것인지 지나치게,얼마나 많은 비용,그것은 완료 될 때. 대부분의 소프트웨어 프로젝트는 너무 작은 예산으로 시작합니다. 이런 일이 발생하면 개발자는 일반적으로 생산성을 높이고 노력의 범위를 줄이거 나 검토 및 테스트 단계에서 위험한 단축키를 사용함으로써 어떻게 든 부족분을 만회해야합니다. 이 모든 것이 오류 및 궁극적으로 실패의 가능성을 높입니다.
예산 렌트카 컨소시엄이 주도하는 최첨단 여행 예약 시스템,힐튼 호텔,메리어트,아메리칸 항공의 부모 인 아 메르,적절한 경우입니다. 1992 년 3 년 반 동안 프로젝트에 1 억 6,500 만 달러 인이 그룹은 지나치게 낙관적 인 개발 일정과 관련된 기술적 어려움에 대한 과소 평가라는 두 가지 주요 이유를 인용하여이를 포기했습니다. 이 이전 상당히 성공적인 세이버 예약 시스템을 구축했던 동일한 그룹이었다,과거의 실적이 미래의 결과를 보장 없다는 것을 증명.
추락 사고 조사관들은 비행기 추락의 요인으로 날씨를 고려한 후 비행기 자체를 바라본다. 비행기 설계에서 충돌을 일으킨 무언가가 있었습니까? 너무 많은 무게를 짊어 졌습니까?
프로젝트 실패에서 프로젝트의 기술적 구성 요소,즉 시스템을 개발하는 데 사용되는 하드웨어와 소프트웨어 및 개발 관행에 관한 비슷한 질문이 항상 제기됩니다. 조직은 종종 기술적 명령의 사이렌 노래—경쟁 우위를 확보하기 위해 최신 기술을 사용하는 통제 할 수없는 충동에 의해 유혹된다. 기술이 빠르고 유망한 환상적인 새로운 기능을 변화,그것은 굴복하기 쉽습니다. 그러나 미숙 또는 검증되지 않은 기술을 사용하는 것은 실패에 대한 확실한 경로입니다.
1997 년,4000 만 달러를 지출 한 후,워싱턴주는 운전 면허증과 차량 등록을 처리 할 수있는 프로젝트를 중단했습니다. 자동차 관계자는 자신의 요구 사항을 충족하는 시스템을 구현하는 데 집중하는 대신 기술을 쫓는 데 몰두했다고 인정했습니다. 1 년 전에 폭스마이어 약물을 떨어뜨린 이 사태는 최첨단 자원 계획 시스템을 채택한 다음 실행 가능하게 할 수 있는 것 이상으로 추진하는 데서 비롯되었습니다.
프로젝트의 규모는 실패의 근원이다. 연구에 따르면 대규모 프로젝트는 작은 프로젝트보다 3~5 배 더 자주 실패합니다. 프로젝트가 클수록 정적 요소(소프트웨어,하드웨어 등의 개별 요소)와 동적 요소(하드웨어,소프트웨어 및 사용자 간의 커플 링 및 상호 작용,다른 시스템과의 연결 등)에 더 많은 복잡성이 있습니다. 아무도 정말 전체의 모든 상호 작용하는 부분을 이해하거나 테스트 할 수있는 능력을 가지고 있기 때문에 큰 복잡성은 오류의 가능성을 증가시킨다.
냉정하지만 사실:실제 크기의 시스템을 철저히 테스트하는 것은 불가능합니다. 로저 에스. 프레스맨은 그의 책에서 지적 소프트웨어 공학,현장에서 고전적인 텍스트 중 하나,”철저한 테스트는 특정 물류 문제를 제시….일부 중첩 된 경로와 20 회 미만으로 실행되는 단일 루프가있는 작은 100 라인 프로그램조차도 실행될 수있는 14 개의 가능한 경로의 10 제곱이 필요할 수 있습니다.”그 100 조 경로를 모두 테스트하기 위해,그는 각각이 밀리 초 단위로 평가 될 수 있다고 가정하면 3170 년이 걸릴 것이라고 지적했다.
모든 정보 시스템은 본질적으로 취약합니다. 큰 벽돌 건물에서는 벽을 붕괴시키기 위해 전략적으로 배치 된 수백 개의 벽돌을 제거해야합니다. 그러나 100 000 라인 소프트웨어 프로그램에서는 주요 문제를 일으키기 위해 하나 또는 두 개의 나쁜 라인 만 필요합니다. 1991 년,아탄담프 티의 전화 네트워크의 일부가 나갔고,1,200 만 명의 가입자를 서비스 없이 남겼는데,이는 모두 한 줄의 코드에 잘못 입력된 문자 하나 때문이었다.
엉성한 개발 관행은 실패의 풍부한 원천이며,프로젝트의 모든 단계에서 오류를 일으킬 수 있다. 조직이 소프트웨어 개발 관행을 평가할 수 있도록 돕기 위해 미국 소프트웨어 공학 연구소,피츠버그에서 기능 성숙도 모델을 만들었습니다. 그것은 증가 성숙의 다섯 가지 수준에 대한 회사의 관행을 평가한다. 레벨 1 은 조직이 임시 및 혼란스러운 개발 관행을 사용하고 있음을 의미합니다. 레벨 3 은 회사가 그 관행을 특성화했으며 이제이를 이해한다는 것을 의미합니다. 레벨 5 는 조직이 적용되는 프로세스와 관행의 변화를 정량적으로 이해한다는 것을 의미합니다.
1 월 현재 거의 2000 년 정부 및 상업 조직이 자발적으로 신고했습니다. 절반 이상이 레벨 1 또는 2 에 있다고 인정했으며 30%는 레벨 3 에 있었고 17%만이 레벨 4 또는 5 에 도달했습니다. 이것은 각자 선정한 그룹 이는 것을 너가 실현할 때 백분율은 더군다나 음침한 이다;명백하게,가장 나쁜에 회사는 연습할 것이다. 이는 소프트웨어 집약적 시스템을 만드는 조직의 능력에 대한 광범위한 평가를 목표로 합니다.
미숙 한 그것은 미국 운명 연습. 국세청의 40 억 달러 현대화 노력 1997 년,그리고 그들은 국세청의 현재 80 억 달러 현대화를 괴롭히는 것을 계속 했다. 그것은 단지 소프트웨어 코드에 세금 코드를 번역하는 것은 본질적으로 불가능 할 수있다—세법은 복잡하고 종종 모호한 법안을 기반으로,그것은 모든 시간을 변경합니다. 그것은 개발자의 관점에서,그것은 요구 사항 악몽. 그러나 국세청은 사내와 외부 프로그래머 사이의 열린 적대감,관련된 작업의 우스운 과소 평가 및 기타 많은 나쁜 관행에 의해 도움이되지 않았습니다.
비행기 추락 직전의 조종사의 행동은 항상 수사관들에게 큰 관심거리입니다. 조종사는 공예의 안전한 작동에 대한 책임 궁극적 인 의사 결정자이기 때문이다. 마찬가지로 프로젝트 관리자는 소프트웨어 프로젝트에서 중요한 역할을 하며 실패로 이어지는 오류의 주요 원인이 될 수 있습니다.
1986 년 런던 증권 거래소는 주식 거래 정착을 위한 시스템을 자동화하기로 결정했다. 7 년 후,6 억 달러를 지출 한 후,그것은 토러스 시스템의 개발을 폐기했는데,디자인이 지나치게 복잡하고 번거로웠을뿐만 아니라 프로젝트의 관리가 자신의 고위 관리자 중 한 사람의 말을 사용했기 때문에”망상.”조사 결과에 따르면 점점 더 많은 문제가 나타나고 마감일을 놓치고 비용이 치솟는 것처럼 아무도 프로젝트의 진정한 상태를 알고 싶어하지 않는 것 같습니다.
프로젝트 매니저의 가장 중요한 기능은 다양한 활동에 자원을 할당하는 것이다. 그 외에도 프로젝트 관리자는 프로젝트 계획 및 추정,통제,조직,계약 관리,품질 관리,위험 관리,커뮤니케이션 및 인적 자원 관리를 담당합니다.
프로젝트 관리자의 잘못된 결정은 아마도 오늘날 소프트웨어 실패의 가장 큰 원인일 것이다. 대조적으로 열악한 기술 관리는 기술적 오류로 이어질 수 있지만 일반적으로 격리되고 수정 될 수 있습니다. 그러나 프로그래머를 너무 적게 고용하거나 잘못된 유형의 계약을 선택하는 것과 같은 나쁜 프로젝트 관리 결정은 혼란을 야기 할 수 있습니다. 예를 들어,운명의 여행 예약 시스템의 개발자는 고정 가격 계약을 사용하여 부분적으로 다리를 절었다 고 주장합니다. 이러한 계약은 작업이 일상 될 것이라고 가정;예약 시스템은 아무것도하지만 밝혀졌다.
프로젝트 관리 결정은 퍼지 또는 불완전한 지식을 기반으로 한 트레이드 오프를 포함하기 때문에 종종 까다 롭습니다. 그것은 프로젝트 비용이 얼마나 오래 걸릴 것입니다 얼마나 추정하는 것은 과학만큼 예술이다. 더 크거나 더 소설 프로젝트,덜 정확한 추정. 그것은 프로젝트 추정치는 기껏해야 그들의 진정한 가치 75%의 시간 25%이내 업계에서 실행 농담입니다.
가난한 프로젝트 관리가 소프트웨어 프로젝트의 종말을 촉진 할 수있는 다른 방법이 있습니다. 펜실베이니아 주 뉴턴 스퀘어에있는 프로젝트 관리 연구소의 연구. 위험 관리가 모든 산업 분야에 걸쳐 모든 프로젝트 관리 분야의 가장 적게 실행되고,아무데도 그것 공업에서 보다는 더 드물게 적용되지 않는다는 것을 보여주었습니다. 효과적인 위험 관리가 없으면 소프트웨어 개발자는 무엇이 잘못 될 수 있는지,왜 잘못 될 수 있는지,위험을 제거하거나 완화하기 위해 무엇을 할 수 있는지에 대한 통찰력이 거의 없습니다. 또한 어떤 위험이 허용되는지 결정할 수있는 방법이 없으며,결과적으로 절충안에 관한 프로젝트 결정을 거의 불가능하게 만듭니다.
가난한 프로젝트 관리는 많은 다른 형태를 취한다,나쁜 통신을 포함하여,이는 매출 증가 황폐 한 분위기를 조성;직원 교육에 투자하지;정기적으로 프로젝트의 진행 상황을 검토하지. 이들 중 어느 것도 소프트웨어 프로젝트를 탈선시키는 데 도움이 될 수 있습니다.
비행기 추락 후 조사관이 조사하는 마지막 영역은 조직 환경입니다. 항공사는 강력한 안전 문화를 가지고 있습니까,아니면 무엇보다도 비행 일정을 충족 강조합니까? 이 프로젝트에서 개방성,정직,의사 소통 및 협업을 중시하는 조직은 재 작업이 압도적이지 않을 정도로 실수를 조기에 발견하고 해결하는 것이 더 쉽습니다.
나쁜 소프트웨어의 고문 역사를 통해 실행 테마가 있다면,그것은 현실을 직면하는 실패입니다. 수많은 경우에,미국 법무부의 감찰관,전문가들로 구성된 외부 패널,그리고 다른 사람들은 연방재판소의 수장에게 정의 된대로 가상재판소 시스템은 불가능하다고 말했지만,어쨌든 프로젝트는 계속되었다. 여행 예약 시스템,런던 증권 거래소의 황소 자리 시스템 및 연방 항공국의 항공 교통 통제 프로젝트를 담당하는 사람들 사이에 동일한 태도가 존재했으며,모두 두려움과 오만에 의해 주도되는 조직 문화를 나타냅니다.
영국 감사원의 최근 보고서에 따르면,정부가 아직 진행되지 않고 계속 진행하지 않는 것이 권장되는 사례가 많이 있습니다. 영국도 정부 부서가 실패 방지 혐의로 기소,하지만 보고서에서 언급 한 바와 같이,부서 감독 기관의 절반 이상이 정기적으로 조언을 무시. 나는 행동의 이 유형을 불합리한 계획사업 에스컬레이션 부른다—성공의 가능성이 급속하게 0 에 접근하고 있다 고 명백한 후에도 계획사업을 멈추는 무능력. 슬프게도,그러한 행동은 결코 독특하지 않습니다.
최종 분석에서,큰 소프트웨어 고장은 조종사가 경험이없는 그러나 대단히 발진이었다 최악의 상상할 수있는 비행기 충돌을 닮은 경향이 테스트되지 않은 항공기에 얼음 폭풍에 날아,교육 및 유지 보수에 다시 절단하면서 안전에 입술 서비스를 제공하는 항공사에서 일했다. 나중에 조사관의 보고서를 읽으면 머리를 흔들고”그런 충돌이 불가피하지 않았습니까?”
따라서 소프트웨어 프로젝트가 실패한 이유는 잘 알려져 있으며 수많은 기사,보고서 및 서적에 충분히 기록되어 있습니다. 그럼에도 불구하고 실패,거의 실패 및 평범한 오래된 나쁜 소프트웨어는 계속해서 우리를 괴롭히는 반면 실수를 피하는 것으로 알려진 관행은 기피됩니다. 그것은 시간에 예산 내에서 품질의 소프트웨어를 얻는 것은 대부분의 조직에서 긴급한 우선 순위가 아니라고 나타납니다.
그것은 옥스포드 건강 보험 주식 회사에있는 것 같지 않았다.,트럼 불에서,코네티컷.,1997 년. 이 회사의 자동 결제 시스템은 하단 라인에 매우 중요했다,아직 고위 관리자는 결제 시스템이 현재의 요구를 충족 할 수 있도록 보장하는 것보다 옥스포드의 사업을 확장에 더 관심이 있었다. 문제가 발생하더라도,송장과 같은’개월 늦게 발송되는,관리자는 거의 관심을 지불. 청구 시스템이 효과적으로 붕괴되었을 때,회사는 수천만 달러를 잃었고,주식은 하루에 주당 68 달러에서 26 달러로 떨어지면서 기업 가치로 34 억 달러를 닦아 냈습니다. 주주들은 소송을 제기했으며 여러 정부 기관이이 회사를 조사했으며 결국 규제 위반으로 3 백만 달러의 벌금이 부과되었습니다.
심지어 나쁜 소프트웨어 경험에 의해 불에 얻을 조직은 자신의 실수에서 배울 수 없거나 내키지 보인다. 2000 년 보고서에서 미국 국방 과학위원회,국방부의 자문기구는 국방부의 의뢰 다양한 연구는 소프트웨어 개발을 개선하기 위해 134 권장 사항을 만들었지 만,그 권고의 21 에 행동했다고 지적했다. 다른 113 여전히 유효했다,이사회는 지적,하지만 무시되고 있었다,국방부는 국방 소프트웨어 개발의 가난한 상태에 대해 불평에도!
영국 배스에서 소프트웨어 개발 회사 문제요 높은 무결성 시스템의 경험이 증명으로 일부 조직은 소프트웨어 품질에 대한 관심 않습니다. 또한,고객들이 이 프로젝트에 전념할 것을 요구하고 있습니다. 이 회사는 또한 고객의 요구 사항을 이해하고 정의하는 데 엄청난 시간을 소비하며 고객이 원하는 것과 이유를 설명하도록 도전합니다. 한 줄의 코드가 작성되기 전에 고객과 실천 모두 사용 가능한 리소스를 고려할 때 원하는 것,실현 가능한 것 및 관련된 위험에 동의합니다.
그 후,실습 오류 수를 제한하는 엄격한 개발 접근 방식을 적용합니다. 이 모형의 중대한 이점의 한개은 그들의 그것 필요조건을 분명히 말하기의 책임을 받아들이게 내키지 않는 많은 것 클라이언트에서 거르고 그들을 적당하게 실행하기 위하여 시간 및 돈을 소비한다 고 이다.
어떤 수준의 소프트웨어 오류가 항상 우리와 함께 할 것입니다. 사실,우리는 기술적,경제적 진전을 유지하기 위해 피할 수있는 실수와는 달리 진정한 실패가 필요합니다. 그러나 오늘날 발생하는 너무 많은 실패는 피할 수 있습니다. 그리고 우리 사회가 점점 더 크고,더 통합되고,더 비싼 시스템에 의존하게 될 때,실패의 비용은 비참하게 높아질 수 있습니다.
지금도 다음 번 큰 소프트웨어 사태가 발생할 위치에 베팅 할 수 있습니다. 미국 정부의 미국 건강 정보 커뮤니티,전자 의료 기록에 대 한 데이터 표준을 정의 하고자 하는 공공-민간 협력에서 발생할 것입니다. 이 아이디어는 일단 표준이 정의되면 전국의 의료 전문가가 환자 기록을 디지털로 입력하여 의사,병원,보험사 및 기타 건강 관리 전문가가 환자의 완전한 병력에 즉시 액세스 할 수 있도록 시스템이 구축 될 것입니다. 건강 관리 전문가들은 이러한 시스템 시스템이 환자 치료를 개선하고 연간 약 780 억 달러의 비용을 절감하며 의료 오류를 줄여 수만 명의 생명을 구할 것이라고 믿습니다.
그러나 소프트웨어 관행과 실패율이 오늘날과 같이 유지된다면 이러한 접근법은 단순한 파이프 꿈일 뿐이다. 심지어 가장 낙관적 인 추정에 의해,노력의 10 년,개발 비용$(320)억 운영 비용 연간$(20)억 필요합니다 전자 의료 기록 시스템을 만들 수 있습니다—더 실패,초과,일정 전표,보안 문제가 없다고 가정,또는 겉만 번지르르 한 소프트웨어. 이것은 거의 현실적인 시나리오,특히 대부분의 그것 전문가 고려 의료 사회 모든 전문 기업의 적어도 컴퓨터에 정통한 수 있기 때문에.
환자와 납세자는 궁극적으로 이와 같은 부도글의 개발 또는 실패에 대한 대가를 지불 할 것입니다. 오늘날이 관행을 감안할 때,실패는 뚜렷한 가능성이며 전례없는 규모의 손실이 될 것입니다. 그러나 전 세계 국가들은 항공,국가 안보 및 군사 분야에서 비슷한 규모와 영향을 미치는 많은 이니셔티브를 고려 중이거나 이미 노력하고 있습니다.
전기,물,교통,그리고 우리 인프라의 다른 중요한 부분처럼,그것은 빠르게 우리의 일상 생활에 본질적인되고있다. 몇 십 년,대규모 그것 실패는 비싼 불편 보다 더 될 것입니다: 그것은 우리의 삶의 방식을 위험에 빠뜨릴 것입니다. 소프트웨어 오류를 완화할 수 있는 업계 전반의 변화가 없을 때,우리는 얼마나 많은 미래에 이러한 엄청난 비용과 복잡한 시스템에 대해 기꺼이 도박을 할 것인가?
우리는 이미 소프트웨어를 잘 수행하는 방법을 알고 있습니다. 마침내 우리가 알고있는 것에 따라 행동 할 시간이 될 수 있습니다.