완벽한 계획은 성공하더라도 자체에 치명적인 오류를 내포하는 경우가 많다. 계획이 성공한 후에도 내가 원하는 상황이 펼쳐지지 않을 수 있기 때문에 ,내가 틀릴 수 있고 내가 접하는 세상은 다른 사람이 접하는 세상과 다를 수 있으니, 각자 저마다의 이유로 틀릴 수 있다는 걸 항상 염두에 두어야 한다.

그래서 계획은 항상 헐겁게, 변경가능하되 쉽게 뜯어서 변경할 수 있도록 최소한의 골격만 가지고 빠르게 시작하고 실천하는 것이 중요하다. 이것을 소프트웨어에서는 작게 만들어서 시작하고 테스트하고 수정해서 오류가능성을 최소화시켜 발전시켜나가는 방법을 사용하곤 한다(Agile방법론)

애자일개발의 원칙은

1.작은 단위로 쪼개서 개발하고 초기 단위부터 테스트를 염두에 두고 개발 매 순간 단위테스트 할 것

2.지속적으로 리팩토링으로 품질을 개선

3.변경관리를 계속 저장해서 언제든 오류가 발견된 시점 이전으로 돌아가서 다시 검토

4.빌드 자동화로 컴파일등 단순 반복작업을 최대한 줄이고 수작업에서 나올 수 있는 오류 가능성 차단

5.자주 바뀌는 부분과 공통적으로 사용되는 부분 데이터가 저장되는 부분의 상호의존성을 줄임. 셀단위테스트와 분업화로 한 부분이 바뀌어도 다른 부분이 바뀌는 일이 적어지도록 설계

6.변경분 출고시기를 늘 정해진 일자에만 해서 사전검토기간을 거침

반응형
Posted by cocon