Construx-10-Most-Deadly-Mistakes-in-Software-Development

 

 

1. 비현실적인 기대감
고객이 결과물에 큰 기대감을 갖는 것은 당연한 일이다. 고객들이 실망하지 않도록, 맨 처음부터 현실을 깨달을 수 있도록 하자!

2. 과도하게 낙관적인 일정
시간은 너무도 빠르게 흘러간다. 일정이 충분하지 않을 때에는 특히 그렇다. 나중에 재작업 시간을 마련하려고 애쓰는 것보다, 개발을 제대로 하기 위해 충분한 시간을 미리 확보해두는 것이 더 낫다.

3. 희망에 근거한 사고 방식
희망은 전략이 아니다. 환상을 깨뜨리고 현실적인 계획과 실행을 통해 스스로 행운을 만들어보자.

4. 점점 늘어나는 기능
새로운 요구 사항에는 반드시 시간과 노력이 투입되어야 한다. 일정과 목표에 대한 조정 없이, 새로운 기능을 프로젝트에 슬그머니 추가하지 않도록 하자.

5. 강요된 계획 포기
일정을 쥐어짜면 사람들은 계획을 수정하는 것이 아니라, 계획을 포기하고 일단 코딩하고 나중에 수정하는 암울한 상황으로 몰아넣는 경우가 많다.

6. 지나친 다중 작업
여러 프로젝트를 동시에 진행하는 것은 개발자의 몰입을 방해한다. 개발자들이 집중에 집중을 거듭할 수 있도록해서 생산성과 품질을 극대화하자.

7. 위험 관리 부족
프로젝트는 언제나 잠재적으로 오류를 만들 수 있다. 일찍 그리고 자주 위험 관리를 시행해서 악명을 피하도록 하자.

8. 거짓 품질 보증
품질은 최종 발언권을 갖는다. 일정 압박이 절차를 무시한 결과물, 형식적인 테스트, 리뷰 생략, 버그 투성이 릴리스를 유발하지 않도록 말자.

9. 목표에 대한 혼란스러운 추정
목표란 누구나 달성하기를 원하는 것이다. 추정은 빈틈 없는 분석을 바탕으로 해야 한다. 당신은 당신의 약속을 어디에 기반하고 있는가?

10. 시끄럽고 붐비는 사무실
개발자는 조용하고 사적인 업무 공간에서 가장 높은 생산성을 발휘한다. 산만함과 방해와 다중 작업을 최소화시킨 자리에 배치하자.