애자일하게 작업 만들기
서비스를 개발할 때 핵심 가치를 만족하는 0.001 ver를 만들고 그것을 개선시키는 방향으로 개발하는 게 좋다는 이야기를 많이 들었다. 그런데 머릿속에 지식으로만 존재하지 전혀 체화되어서 활용은 못하고 있더라.
연말 전시에서 선보일 작업을 준비 중인데, 프로그래밍 베이스의 작업이 될 것 같다. 근데 이번에도 관성적으로 처음, 앞 단계부터 하나하나 모듈화 해서 개발하고 있더라. 그래서 다른 방식으로 작업을 해야겠다고 생각하고 짱구를 좀 굴렸다.
결과적으로 유효했던 접근은
1) 개발해야 하는 시스템별 기능을 모두 적어보고
2) 내일 서비스를 런칭한다면, ‘어떤 기능을 먼저 만들어야 하지?’라고 노려보기
3) 2)의 관점에서 덜 중요한 건 과감히 빼내기
였다.
해보니, 결국 각 시스템에서 핵심적인 모듈만 남게 되더라. 이것들을 우선적으로 개발하면, 핵심가치를 보여주며 동작하는 0.001 ver의 결과물을 만들 수 있을 것 같았다.
근데 막상 개발해보니 문제가 하나 더 있었다. 뽑힌 기능을 완전하게 개발하려고 하고 있더라. 예를 들어 여러 폴더에서 이미지를 여러 개 가져와서 어떤 로직을 수행해야 한다면, 이것을 간소화시켜서 작업하지 않는 것이다. 폴더를 읽고 파일들을 불러오는 함수들을 찾아볼게 아니고, 그냥 하드코딩으로 파일 하나를 읽어오게 만들고, 다음 로직으로 넘어가는 것이 중요한 것 같다.
그리고 1시간 넘게 특정 로직에 얽매여 있다면, 구현해야 하는 기능을 더 쪼개거나, 해당 문제를 접근하도록 하는 환기와 메타적 접근이 필요한 것 같다.