프로그램을 만들 때 처음부터 자동차를 만들지 않고 싱싱카 → 자전거 → 오토바이 → 자동차 순으로 만들어 가며 점진적으로 개선해 나가는 방식을 좋아합니다. 프로그래밍을 오래 하다 보니 어느새 자연스럽게 몸에 밴 방법입니다.
그러다 이 방식이 소프트웨어 공학에서 말하는 반복적·점진적 개발(Iterative and Incremental Development) 기법이고, 린 스타트업이 강조하는 MVP(최소 기능 제품) 개념과도 맞닿아 있다는 걸 나중에 알게 되었습니다.
바퀴, 엔진 같은 부품을 따로따로 완성도 있게 만든 뒤 조립해 자동차를 완성하는 사람도 있겠지만, 이 방법은 저한테 맞지 않았습니다. 이 방식은 최종 조립이 끝나기 전까지는 자동차에 탈 수 없습니다. 반면 싱싱카에서 자전거, 오토바이로 나아가는 방식은 단계마다 어쨌든 '탈 수 있는 무언가'가 손에 남습니다. 매 단계가 그 자체로 쓸 수 있는 완성품인 셈이죠. 이 방식이 좋은 이유는 자꾸 실행해 보며 테스트하고 개선하는 것을 제가 좋아하기 때문입니다.
그래서인지 저는 초기에 간단히 동작하는 것을 먼저 만든 뒤, 거기서 조금씩 개선해 나가며 원하는 걸 완성하는 흐름을 자연스럽게 택해 왔습니다. 요즘은 AI를 활용해 프로그래밍을 하다 보니 이 방식이 예전보다 훨씬 체계적으로 자리 잡았습니다. 일단 동작하는 것을 만들어 두고 아이디어를 하나씩 붙여 나가면, 어느새 완성도 있는 프로그램이 만들어집니다.
지금 개발 중인 틈틈일기 앱도 같은 방식으로 키워 가고 있습니다. 꾸준히 테스트하면서 부족한 점과 개선할 점을 찾고, 그렇게 얻은 피드백을 다음 개선에 반영합니다. 만들고, 써 보고, 거기서 배운 걸 다시 만드는 데 쓰는 것. 돌이켜 보면 이게 린 스타트업에서 말하는 '만들기-측정-학습' 순환과 다르지 않았습니다.
이 방식으로 두 달쯤 해 보니 꽤 괜찮은 앱이 만들어지고 있다는 느낌이 듭니다. 물론 아직 부족한 점도, 더 다듬어야 할 점도 남아 있습니다. 사용자에게 처음부터 완성도 높은 프로그램을 내놓으려 애쓰기보다는, 매일 조금씩 나아지는 모습을 보여주며 앱을 키워 가고 있습니다.
'개발이야기' 카테고리의 다른 글
| 블로그에 더 이상 코드 구현 과정을 올리지 않는 이유 (0) | 2026.06.04 |
|---|---|
| CLAUDE.md를 안 써도 뭐든 만들 수 있다고 생각했는데 바뀌게 된 계기 (0) | 2026.06.02 |
| 같은 통계, 다른 판단 — 클로드 웹과 클로드 코드의 차이 (0) | 2026.05.19 |
| 개발자가 통계와 친해지는 법 (feat. 클로드) (0) | 2026.05.18 |
| AdMob, 아이폰을 테스트 기기로 등록하는 확실한 방법 (0) | 2026.05.16 |