관점 - 프로그래머가 보는 시각

비자아적 프로그래밍

프로그래밍 할때는 자아를 버려야 된다. 자존심과 자만을 버리고 동료에게 협력을 구하자 코드를 작성할때는 자기 능력을 뽐내는것이 아니라 코드가 더 좋아지는 것에 초점을 맞추어야 한다.

  • 자기 자신도 실수를 저지른다는 점을 이해하고 받아들인다.
  • 작성한 코드는 자기 자신이 아니다.
  • 아무리 끝까지 간 것 같아도 위에는 그이상이 있다.
  • 상담 없이 코드를 재작성하지 않는다.
  • 자기보다 기술이 떨어지는 사람에게도 존경과 경의, 인내를 가지고 대한다.
  • 세상에서 유일하게 변하지 않는 것은 변한다는 사실뿐이다.
  • 진정한 권위는 지위가 아니라 지식에서 생겨난다.
  • 신념을 위해 싸운다. 다만 패배는 깨끗이 수용한다.
  • 방에 틀어박혀 있어서는 안 된다.
  • 사람에게는 관대하고 코드에는 엄격하게, 사람이 아닌 코드를 비평한다.

한걸음씩 조금씩

하나씩 작은 단위에 일을 수행하자. 한번에 여러작업을 하지않고 하나의 일만 하자.

TMTOWTDI(There’s more than one way to do it)

방법은 하나가 아니다. 여러가지 선택지를 준비해야 한다.

기법 - 프로그래머의 도구 상자

예광탄

최종 형태에도 남는 골격 코드 실제 환경과 똑같은 제약 조건에서 발사할 수 있기 때문에 그만큼 얻어지는 정보의 정밀도는 높아진다.

  • 사용자에게 피드백을 얻을수 있다.
  • 프로그래머가 할약할 수 있는 무대를 조기에 정비할 수 있다.
  • 디버깅과 테스트를 빠르고 정확하게 할 수 있다.
  • 데모 가능한 소프트웨어를 확보할 수 있다.
  • 진척 상태가 명확해진다.

프로토타입과의 차이

프로토타입이란 실제 동작하지 않아도 되고 유사하게 동작만 인식시켜주면 된다. 예광탄은 소프트웨어 전체가 어떤식으로 연계되는지 명확히 한다.

프로토타입은 견본품이자 시제품

견본품- 사용자의 요구사항을 정확하게 파악하는것이 목적 시제품 - 개발 방법을 검토하는 것이 목적

참조