이것은 전적으로 프로젝트에 달려 있기 때문에 단일 답변은 없습니다. 여기서 두 가지에 대해 생각해야합니다. 최종 목표는 무엇입니까? 당신은 어떻게 거기에 도착할 것으로 예상합니까?
최종 결과
당신은 화성 궤도 제어 소프트웨어를 작성하고 있습니까? 그런 다음 가장 강력한 코드를 작성하고 있는지 확인하십시오. 모든 예외가 제정신 문제로 처리되는지 확인하는 것이 좋습니다.
당신은 당신 만이 실행할 프로그램을 작성하고 있습니까? 그런 다음 예외로 귀찮게하지 마십시오. 무거운 아키텍처를 신경 쓰지 마십시오. 그것이 당신을 위해 일하는 지점으로 작동하도록하십시오.
당신은 어떻게 거기에 도착할 것으로 예상합니까?
필요한 것을 알아내는 데 많은 시간을 할애하는 무거운 폭포 개발을하고 있습니까? 그렇다면 위에서 언급 한 목표 품질을 상당히 일찍 달성하려고합니다. 처음에 모든 오류 점검 인프라를 계획하십시오.
일주일 또는 2 주일 동안 무언가를 모으는 대규모 애자일 개발을하고 있습니까? 이해 당사자들에게 표시 될 것입니다. 당신이 목표를 칠 때까지? 그렇다면 무언가를 얻는 것이 더 나을 수 있지만, 빨리 깨지기 쉬우 며, 제품 요구 사항이 강화 될 때 벨트와 서스펜더 만 추가하면됩니다.
폭포 또는 민첩한 결정 (실제로는 이진 선택이 아닌 연속체)을 제어 할 경우 예상되는 변경에 따라 결정을 내립니다. 최종 결과가 어떤 모습인지 정확히 알고 있다면 폭포가 최선의 선택입니다. 당신이 끝내야 할 것에 대한 모호한 개념 만 가지고 있다면 민첩성이 최선의 선택입니다. (애자일은 기본적으로 더 나은 것이 아니라 두 번째 상황이 훨씬 일반적이기 때문에 요즘 더 인기가 있습니다.)
이제 나만의 답을 찾으십시오
대부분의 경우 답은 중간 어딘가에 있습니다. 프로젝트에 관한 두 가지 질문에 모두 답하십시오. 기본 방향으로 안내해야합니다.
나는 자주 abysmally 설계되고 어떤 것도 검사하는 오류가없는 일회용 스크립트를 작성한다면 스스로 말할 수 있습니다. 또한 오류 처리 및 아키텍처가 많은 관심을받는 프로덕션 코드를 처리합니다. 그것은 모두 당신이하는 일에 달려 있습니다.
마지막주의 사항 : 빠르고 더러운 일을 할 수있는 일회성 스크립트를 수행하기로 결정한 경우 확인하십시오. 불행히도, 흥미로운 일을하는 빠르고 더러운 스크립트가 다른 사람들이 알아 차리면 광범위하게 사용되는 경우가 종종 있습니다. 이 경우 경화 시간이 주어져야합니다.