가끔 소프트웨어는 아무것도 포기하지 않으려 한다.
누구나 쓸 수 있고, 무엇이든 만들 수 있고, 언제든 바꿀 수 있고, 어떤 요구에도 대응할 수 있는 제품.
말만 들으면 좋은 제품 같다.
실제로 어느 정도는 좋은 방향일 수 있다. 사용자가 언제 어디서 무엇을 원할지 모르니, 가능한 한 유연하게 만들어두고 싶은 마음은 자연스럽다. 시장은 바뀌고, 요구사항도 바뀌고, 처음부터 너무 좁게 정하면 기회를 놓칠 수도 있다.
그런데 요즘은 그런 제품을 볼 때 조금 불안해진다.
아무것도 포기하지 않는다는 건, 때로 아무것도 선택하지 않았다는 뜻이기도 하니까.
뭔가를 만들고 있다는 감각은 꽤 강하다.
가만히 불안해하는 것보다 훨씬 낫고, 아무것도 하지 않는 것보다 나은 선택처럼 느껴진다. 문제는 그 감각이 가끔 진짜 질문을 가린다는 데 있다.
누가 이걸 쓰는지
왜 다시 돌아오는지
내가 이걸 계속 운영하고 싶은지
이 문제가 정말 풀 만한 문제인지
아니면 그냥 새로 시작하는 기분이 필요했던 건지
이런 질문들은 첫 화면을 만드는 일보다 훨씬 불편하다.
답이 없을 수도 있고, 답을 찾다 보면 지금 만들고 있는 것의 쓸모없음을 마주해야 할 수도 있다. 열어두고 싶었던 가능성을 닫아야 할 수도 있고, 좋아 보이는 아이디어를 포기해야 할 수도 있다.
그래서 종종 더 쉬운 쪽으로 도망간다.
질문을 선명하게 만드는 대신 기능 추가
사용자를 만나보는 대신 구조 다듬기
끝까지 미는 대신 새 프로젝트 시작
그렇게 하면 당장은 덜 불안하다. 분명히 무언가를 하고 있기 때문이다. 하지만 나중에 돌아보면, 문제를 푼 게 아니라 문제를 피해 더 만들고 있었던 것 같을 때가 있다.
요즘 여러 곳에서 비슷한 장면을 본다.
무언가를 빠르게 만들어 보고, 모든 가능성을 최대한 열어두고, 사용자가 무엇을 원하든 대응할 수 있게, 특히 AI로 만들 수 있는 속도가 빨라지면서 이런 감각은 더 강하게 또 쉽게 보는 것 같다.
일단 만들면 되는 것 아닌가
가능한 한 많이 열어두면 좋은 것 아닌가
나중에 사용자가 원하는 방향으로 바꾸면 되는 것 아닌가
모든 제품에는 트레이드오프가 있다.
쉬운 제품은 자유도를 일부 포기한다. 자유로운 제품은 사용 난이도와 운영 비용을 감당한다. 많은 사용자를 품으려는 제품은 깊이를 잃기 쉽고, 특정 사용자를 깊게 돕는 제품은 모두를 만족시키기 어렵다.
트레이드오프가 없는 것처럼 보이는 제품은 보통 둘 중 하나다.
아직 선택하지 않았거나, 누군가가 그 선택 회피의 비용을 대신 내고 있거나.
그 비용은 대개 코드에 쌓인다. 운영에 쌓이고, QA에 쌓이고, 예외 처리에 쌓이고, 나중에 누군가가 설명하고 고쳐야 할 부채로 남는다.
겉으로는 모든 가능성을 열어둔 것처럼 보이지만, 실제로는 결정을 미룬 비용이 누군가에게 내려오는 상태일 수 있다.
논리적으로 그리고 물리적으로 모든 것을 다 잘할 수는 없다. 모든 방향으로 열려 있는 제품은 결국 어떤 방향으로도 깊게 가지 못한다. 무엇이든 될 수 있는 제품은, 아무것도 아닐 위험을 함께 가진다.
그래서 요즘 나는 방향성이라는 말을 조금 다르게 보게 됐다.
방향성은 거창한 비전이 아니다.
“우리는 세상을 바꾼다” 같은 선언도 아니다.
오히려 방향성은 더 작고 구체적인 선택에 가깝다.
이 사용자를 먼저 본다
이 문제를 먼저 푼다
이 요구는 이번에는 하지 않는다
이 자유도는 열지 않는다
이 복잡도는 아직 감당하지 않는다
이 방식이 틀리면 여기서 멈춘다
그런 선택들이 쌓여야 제품의 방향이 된다.
이제는 만들고 있다는 감각만으로 안심하고 싶지는 않다.
그 감각이 진짜 문제를 풀고 있는지, 아니면 잠깐 불안을 덮어주고 있는지 확인하고 싶다.
그냥… 요즘 드는 생각이다.
