카카두(KAKADU) 앱이 앱스토어에 정식등록이 되었다. 처음부터 프로젝트로 진행한건 아니고 스터디로 시작된 프로젝트였다 스터디를 시작한건 2016년 5월 즈음이었는데, TDD를 다시 공부해보려고 시작한 Xcode 프로젝트가 앱스토어에 출시까지 되어버렸다. 진행하면서 느끼고 배운것들을 공유하고 싶어서 글로 적어본다.

1. 스터디

처음엔 그냥 iOS TDD 스터디였다. 최신의 스위프트를 사용하고 (그때 당시엔 Swift2를 사용했다.) Test-Driven iOS Development with Swift을 기준으로 번역을 해가며 공부했다. 이곳에서 만드는 책들은 영어로 되어있어도 문법이나 단어가 어렵지 않아서 이해하는데에는 크게 문제가 안되었다. 그리고 단계별로 테스트를 빨간불로 만든 후 초록불로 바꾸는데까지 굉장히 자세히 설명과 예제를 제시하고 있어서 스터디를 하는데 굉장히 좋은 책이었다. 그러면서 어떻게 테스트 케이스를 작성하는지 고민하고 서로 부족한 점이 있으면 보완해주었다. 다른분들이 정말 열심히 해주어서 내가 스터디에서 다른분들에게 배우는게 더 많았다.

사실 TDD가 개념을 알겠지만 실제 프로젝트에서 적용해본적이 없어서 어떻게 테스트케이스를 만들어야 하는지가 더 어려운 문제였다. 근데 책에도 자세하게 나오고 하면서 이런부분에 테스트가 들어가야 겠다는 고민도 같이하면서 테스트케이스를 만드니까 조금씩 감이 생겼다. TDD는 단순히 이론만 알고있다고 할수 있는 개발방법론이기 보단, 실제로 많이 테스트 케이스를 작성해봐야 적용할 수 있는 개발방법이라고 생각되었다.

2. 프로젝트

TDD를 적용하면서 간단한 앱이 만들어 졌다. 그 다음을 고민하다가 이걸로 끝내는게 아닌 릴리즈를 하는것으로 목표를 변경했다. 모두 단순히 스터디만 하고 끝내기 보단 결과물로 나오는것이 더 의미있다고 생각되어 진행하게 되었다. 그렇게 실제로 프로젝트를 진행하면서 예측가능 결과를 테스트코드로 확인하기 위해 먼저 테스트를 돌려보고 빨간불에서 초록불로 바꾸는 작업이 번거로운 것은 사실이지만 테스트를 위한 코드를 작성하게 되면 좀더 모듈화를 생각할수 밖에 없었기 때문에 코드작성에도 도움이 된다는 것을 느꼈다. 실제로 코드를 수정했을때 결과가 다르게 나와 빨간불로 나오는것을 보고 다시 초록불로 수정하게 되는것도 경험을 해보니 TDD에 신뢰도가 생겼다. 나중에 이렇게 개발하는것이 굉장히 편하다는 느낌도 받았다.

3. 릴리즈

릴리즈까지 틈틈히 시간을 내면서 진행하는데 스위프트의 버전이 3으로 변경됐고 데이터베이스를 몇번 변경했다. 다행히 크지 않은 프로젝트라 빠르게 적용하고 진행할 수 있었다. 우선 릴리즈를 끝냈지만 역시 그 이후가 더 중요했다. 피드백을 받아야 하고 아직 고치고 개선해야 할 것들이 많이 남아있다. 그래도 함께한 프로젝트라 의미가 있고 특히 현재 나는 호주에 와있는 상태여서 항상 행아웃으로 원격을 지원해 스터디를 함께해준 분들(찬주님, 선재님, 정훈님) 에게 너무 감사하다. 그래서 앞으로 더 기대된다.