많은 소프트웨어 프로젝트가 실패하는 10가지 이유
-BBC 디지털 미디어 이니셔티브(DMI)는 거버넌스 실패와 전달 지연으로 인해 실패했습니다. BBC의 프로덕션을 디지털화하기 위한 것이기 때문에 모두가 주목한 프로젝트였습니다.
-FBI의 VCF(Virtual Case File) 실패에는 여러 가지 이유가 있지만 비현실적인 기대도 주요 원인 중 하나였습니다. 이 프로젝트는 약 1억 450만 달러의 세금을 낭비했습니다.
– 미 연준의 새로운 시스템이 가동된 첫날 밤 난동을 부렸고 잘못된 회원 은행에 이자로 280억 달러를 전달했습니다.
잘 계획된 소프트웨어 프로젝트가 어떻게 실패할 수 있습니까? 그들은 정말로 잘 계획 되었습니까? 아니면 그렇게 생각했습니다. 안타깝게도 많은 프로젝트가 실패합니다. 사실 그것은 실패를 겪어야 했던 사람들을 제외하고는 사람들이 그것에 대해 거의 이야기하지 않고 토론할 정도로 흔한 사건이 되었습니다. 2013년 프로젝트 관리 회사인 Innotas는 조사 대상 기업의 약 50% 가 프로젝트 관리 실패를 겪었다고 밝혔습니다. 4년이 지난 지금, 그 이야기는 크게 다르지 않다. 소프트웨어 프로젝트가 실패하는 원인은 무엇입니까? 우리는 관찰을 바탕으로 몇 가지 이유를 조사했습니다. 어떻게 생각하십니까?
1. 비즈니스 목표와 프로젝트 결과의 불일치
회사마다 우선 순위가 다르다고 말할 수 있습니다. 어떤 회사에서는 비즈니스 목표를 달성하는 데 초점을 맞추는 반면 다른 회사에서는 프로젝트를 시간과 예산에 맞게 제공하는 데 중점을 둡니다. 이것은 그들이 잘못된 길을 택하고 길을 잃는 여행입니다. 비즈니스 목표와 프로젝트 결과가 서로 일치하면 소프트웨어가 실패하지 않을 가능성이 있습니다. 하지만 이렇게 하는 것은 전혀 쉬운 일이 아닙니다.
2. 무엇을 우선시해야 하는지 이해하지 못함
어떤 프로젝트가 중요한지 우선 순위를 정하지 못합니다. 프로젝트 관리 책임자는 이해 관계자 및 회사의 다른 권위 있는 책임자와 함께 프로젝트의 우선 순위를 결정합니다. 그런 다음 리소스와 인력을 할당하고 예산과 시간을 고려합니다. 때로는 비즈니스 목표를 프로젝트 결과와 일치시키는 동안 일이 잘못될 수 있으며 이는 우선 순위를 올바르게 지정하지 못했기 때문일 수도 있습니다.
3. 모호한 요구 사항
모든 소프트웨어 개발 주기의 첫 번째 단계 중 하나는 클라이언트 요구 사항을 이해하는 것입니다. 요구 사항이 명확하게 차트로 작성되고 고객이 승인하지 않는 한 두 사람 모두
개발 주기가 끝날 때 동일한 페이지.
4. 시간 제약
시간 제약으로 인해 개발자가 클라이언트로부터 프로젝트 명확성을 얻지 못하는 경우가 많으며, 이는 회사에 대한 부정적인 홍보를 반영하면서 많은 재작업과 더 많은 리소스 할당으로 이어질 수 있습니다. 따라서 실제로 프로젝트를 개발하기 직전에 요구 사항 분석을 수행하고 클라이언트를 포함한 모든 사람이 최종 제품의 모양에 대해 명확하게 확인하는 것이 중요합니다.
5. 잘못된 일정 추정
개발자는 인간이며 하루에 일할 수 있는 시간에는 제한이 있습니다. 프로젝트가 예상대로 완료되고 개발자가 계속 살아서 다른 프로젝트를 수행할 수 있도록 논리적인 방식으로 시간을 예약합니다.
6. 데드라인을 미룰 준비가 되지 않았다
프로젝트 관리자와 이해 관계자는 개발자 팀을 작업에 투입할 때 신중해야 합니다. 예, 추가 근무일은 비용을 증가시키지만 장기적으로는 그만한 가치가 있습니다.
7. 이상한 비현실적인 시간 척도를 부여하면 프로젝트가 지연될 뿐입니다.
이해관계자 및 프로젝트 관리자의 생각과 달리 비현실적인 시간 척도를 설정하면 회사에 큰 손실만 가져올 것입니다. 항상 작업량에 따라 기대치가 합리적이도록 프로젝트를 계획하십시오.
8. 커뮤니케이션 갭
잘못된 의사 소통은 인생에서 많은 실패의 원인입니다. 실제로 대인 관계 기술에 대한 전문 과정을 수강하는 것은 프로젝트와 관련된 모든 사람에게 매우 중요하므로 확실히 플러스 포인트가 될 것입니다. 의사소통과 메시지는 적절하게 공유되어야 합니다. 상충되는 견해와 의견은 프로젝트가 시작되기도 전에 중단될 수 있기 때문입니다. 프로젝트 관리자는 팀과 관련된 모든 사람 간의 중재자 역할을 담당합니다. 메시지가 모든 사람에게 전달되도록 하세요. 특히 프로젝트 결과에 관한 것일 때는 더욱 그렇습니다.
9. 적합한 사람을 채용하지 않음
부적절한 인력 배치는 프로젝트 실패의 또 다른 이유입니다. 좋은 개발자 팀이 있습니다. 그러나 당신은 그들이 “만능” 종류의 팀이라고 생각합니까? 그들에게 할당된 모든 종류의 프로젝트를 처리할 수 있습니까? 기술에 따라 사람을 할당해야 할 수도 있습니다. 비용이 많이 들더라도 적절한 사람들이 있으면 도움이 될 것입니다. 결국 프로젝트의 품질이 저하되어서는 안 됩니다. 비효율적이거나 평범한 개발자는 프로젝트를 지연시키고 10x 개발자는 프로젝트의 고삐를 손에 쥐게 됩니다.
10. 부실한 테스트
소프트웨어 테스트에 실패했습니다. 모든 작업이 완료된 후 아직 수정되지 않은 코딩 문제가 있음을 알게 됩니다. 코드 개발 단계를 관리하는 이정표가 없으면 프로젝트가 실패할 수 있습니다. 테스터가 스크립트를 작성하고 다른 소프트웨어를 사용하여 애플리케이션/소프트웨어의 다양한 기능을 테스트하는 자동화 테스트를 시작할 수 있습니다. 다양한 유형의 소프트웨어 테스트는 다음과 같습니다.
- 단위 테스트
- 통합 테스팅
- 기능 테스트
- 시스템 테스트
- 스트레스 테스트
- 성능 시험
- 사용성 테스트
- 수락 테스트
- 회귀 테스트
- 베타 테스트
시간이 많이 걸리지만 확실히 노력과 시간을 들일 가치가 있습니다. 테스트를 통해 프로젝트의 품질을 이해할 수 있습니다. 일종의 확인 및 유효성 검사 프로세스입니다.
결론
먼저 프로젝트를 이해한 다음 리소스와 인력을 할당하는 것이 중요합니다. 프로젝트 작업을 할 수 있는 충분한 시간과 필요할 때 자원을 제공하십시오. 위에서 언급한 팁을 따르면 급여를 받을 가능성이 높습니다.
A 마지막 말씀: 시스템 요구 사항이 적절하게 정의되고 규정되어 있는지 확인하십시오. 소프트웨어가 준비되면 시스템에 딸꾹질을 할 여유가 없습니다.
좀 더 자세한 정보는….
Flickr.com/ 파트리치오 쿠시토