관리 메뉴

밤 늦게까지 여는 카페

[개발자의 서재] "실용주의 프로그래머" 4. 적당히 괜찮은 소프트웨어, 10. 예광탄 본문

리뷰

[개발자의 서재] "실용주의 프로그래머" 4. 적당히 괜찮은 소프트웨어, 10. 예광탄

Jㅐ둥이 2022. 9. 15. 09:30

적당히 괜찮은 소프트웨어

모든 기능이 완벽하게 구현되어 있고, 확장성과 유지보수성이 높은 아키텍처를 가지고 있는 완벽한 소프트웨어를 출시하는 것은 모든 개발자들이 꿈꾸는 이상적인 상황일 것이다. 하지만 애석하게도 하늘은 이상(理想)을 허락하지 않고, 이상(異常)만을 허락하셨다. 일정, 기술, 구조 등의 이유로 완벽한 소프트웨어를 출시하는 것을 방해한다.

 

그렇다고 개발자들이 절망적인 상황에 놓여있는 것은 아니다. 적당히 괜찮은(마음의 평화를 유지하면서 사용자, 협업하고 있는 개발자들이 사용할 수 있는 정도의) 소프트웨어를 만들도록 노력할 수 있다.

 

사용자의 피드백

그렇다고 지저분하고 아무렇게나 소프트웨어를 만드라는 뜻이 아니다. 소프트웨어의 이해관계자들의 의견이 요구사항과 프로젝트 일정에 적절히 녹여져야 한다. 사용자의 피드백만큼 직접적이고 효율적인 프로젝트 계획안은 없다고 생각한다. 실용주의 프로그래머는 프로그램의 코드를 깔끔하게 수정하거나 새 기능을 추가하기 위해서 사용자의 요구사항을 무시하지 않는다. 오히려 이를 이용해서 프로젝트의 예광탄 코드를 만들고는 한다.

 

예광탄 코드

탄알의 뒷부분으로부터 불빛을 내면서 날아가므로 육안으로 탄도를 관측할 수 있다. 적(敵)지역의 특정 표적을 지시할 때, 탄도를 수정해서 탄알을 표적에 명중시키기 위해서 사용된다. 녹색계통의 불빛을 내는 발광제로는 질산바륨, 적색계통에는 질산스트론튬, 황색계통에는 질산나트륨 등의 화학제가 사용된다.

주로 소총 및 기관총에 쓰이며, 특히 대공사격용 또는 군용항공기에 장치된 기관총에 사용하면 효과가 크다. 기관총의 탄띠에는 보통탄 4∼5발마다 한 발의 예광탄이 끼어 있어, 연속발사하면서 예광탄의 불빛으로 탄착지점을 확인하면서 수정사격을 하도록 되어 있다.
[네이버 지식백과] 예광탄 [tracer bullet, 曳光彈] (두산백과 두피디아, 두산백과)

 

네이버 지식백과에 있는 내용처럼 예광탄은 어두워서 보이지 않는 대상을 맞출 때 아주 유용하게 사용된다. 예광탄 코드도 마찬가지이다. 복잡한 기능 혹은 복잡한 시스템을 새롭게 개발해야 할 때 큰 힘을 발휘한다. 아주 간단하게 동작하는 것부터 시작하여 코드를 작성하면 프로젝트 이해관계자들은 아주 이른 단계부터 동작하는 소프트웨어를 볼 수 있다. 이로 인해서 강한 동기가 생성되고, 통합 작업을 시작할 기반이 생긴다. 피드백도 빨리 받을 수 있어서 방향 전환에도 큰 도움을 준다.

 

여기까지 오면 프로토타입과 굉장히 유사해보인다. 그렇지만 예광탄 코드는 한번 사용하고 버리는 프로토타입과는 다르게 계속 사용한다. 정확히 말하면 예광탄 코드와 프로토타입은 해결하려는 문제가 다르다. 프로토타입은 특정 레이어의 인터페이스를 확인하거나 기능을 임시로 확인할 때 사용된다. 예광탄 코드는 프로젝트의 전체적인 틀을 만든 후에 조금씩 기능을 구현해 나간다.

 

반응형