Test Driven Development (TDD)라고 들어보신 적 있으신가요? SW 개발자라면 한 번쯤을 들어봤을 단어라고 생각합니다. 혹시 아직 못 들어 보신 개발자 분들은 꼭 찾아보고 어떤 방식인지 알아보시길 권합니다. 이 개발 방법론이 만등은 아니지만 무언가를 개발해야 할 때 어디서부터 시작해야 할지 모르겠다면 그 힌트를 주는 최고의 기술 중 하나라고 생각합니다. 결과가 빨리 나온다고 말씀드리긴 어렵지만 결과가 확실하게 나온다고는 말씀드릴 수 있습니다.
소프트웨어 개발은 삶이 코드화 되는 과정이라고 생각합니다. 어떤 개발자는 요구사항이 말하는 그대로를 코드로 만들어 옮길 것이고 개발자들 사이에서는 코더라고 불리는 이들이고 어떤 사람은 요구사항이 말하는 바를 이해하고 그중 안정성과 체크 포인트들을 그대로 살리면서 필요 없는 부분들을 제거해 나가는 방식으로 프로그램을 만들게 됩니다. 이런 사람들을 개발자 혹은 프로그래머라고 부르게 됩니다.
하지만 어떻게 불려지는 사람이든 개발자가 아닌 사람들이 보기에는 똑같아 보이는 일을 하고 똑같아 보이는 결과를 보여주기 때문에 초기에는 큰 차이를 보이지 않습니다. 바로 이때 필요한 게 TDD입니다. 테스트 주도 개발, 테스트를 먼저 만들고 그 테스트를 통과하는 기능을 만들어 요구사항만큼은 완벽하게 수용하는 프로그램을 만드는 SW 개발 방법론입니다. (방법론은 그냥 만드는 방식이라고 생각하시면 크게 다르지 않습니다)
이 빠르게 실패하기는 삶에서 TDD를 수행하는 것처럼 보입니다. 최종 목표가 있을 때 첫 번째 작은 목표를 만들고 성공할 때까지 행하고, 그리고 성공하면 또 다른 작은 목표를 만들어 그다음으로 진행하는 생활 속 TDD라고 보입니다. (하늘 아래 새로운 것은 없다는 말이 떠오르는 책이었습니다)
혹시 삶에서 어떤 목표를 꼭 도달하고 싶으신 분은 한번 해보시기 바랍니다. 최소한 SW 만들 때 최종 목표까지 확실하게 갈 수 있도록 도와주는 방법이니 삶에서도 목표까지 꼭 도달하실 수 있으실 겁니다.
단 TDD는 리펙토링이라고 만들면서 수많은 수정을 진행합니다. 빠르지 않습니다. 하지만 빠르게 진행할 수 있습니다. 아마도 이 말을 이해하신다면, 아니 이해는 많이 하실 거고 느끼시는 분들은 완성된 프로젝트를 여러 개 가지고 계시는 분들일 거라 생각합니다. 삶을 SW 개발처럼 행하실 수 있을 겁니다.
[책리뷰] 평생 현금이 마르지 않는 투자법 - 박성현 (0) | 2022.12.22 |
---|---|
[책리뷰] 마흔에 읽는 니체 - 장재형 (0) | 2022.12.20 |
[책리뷰] 총균쇠 - 제레드 다이아몬드 (0) | 2022.12.16 |
[책리뷰] 불렛저널 - 라이더 캐롤 (0) | 2022.12.14 |
[책리뷰] 돈의 속성 - 김승호 (0) | 2022.12.10 |
댓글 영역