이방원님, 안녕하세요. 저는 16년차 개발자고요. 다양한 프로젝트를 잘못 설계해서 고생해본 적이 많아요... 😅 문제의 크기에 따라 다르겠지만 개인 프로젝트라면 차라리 프로젝트를 엎고 새로 시
이방원님, 안녕하세요. 저는 16년차 개발자고요. 다양한 프로젝트를 잘못 설계해서 고생해본 적이 많아요... 😅 문제의 크기에 따라 다르겠지만 개인 프로젝트라면 차라리 프로젝트를 엎고 새로 시작하는 편이 나았던 경우가 많았던 것 같습니다. 문제를 해결하는데 들어가는 시간과 노력이 많이 들어간다면 크게 고민할 이유가 없으니까요. 하지만 팀 프로젝트의 경우에는 소프트웨어 설계에 문제점을 발견했을 때는 동료들에게 문제를 투명하게 공유하고 함께 해결 방안을 모색하는 것이 매우 중요하다고 생각합니다. 문제를 팀원들과 함께 고민했을 때 더 나은 해결책을 찾은 경우가 많았거든요. 이 것이 쉬운 것 같지만 막상 문제가 발생하면 동료들에게 피해가 될까봐 숨기고 혼자 고민하다가 오히려 문제를 더 키우는 경우가 있거든요. 뿐만 아니라 가급적 비개발 직군의 동료들도 대략적으로 현재 어떤 문제를 겪고 있고 어떤 해결 방안들이 고려되고 있으며 이로 인해서 현재 진행중인 업무에 어떤 영향이 있을지 공유해주면 좋습니다. 간혹 비개발 직군의 동료가 다른 관점에서 문제를 보고 좋은 아이디어를 줘서 의외로 쉽게 문제를 해결한 적도 있거든요. 그리고 문제를 해결한 후에는 해결 과정에서 얻은 교훈들을 동료들과 회고하고 어떻게 하면 앞으로 더 나은 설계를 할 수 있을지 논의해보는 것도 비슷한 문제 때문에 고생하는 상황을 최소화하는데 도움이 될 것 같습니다. 마지막으로 드리고 싶은 말씀은... 기존에 최선이라고 생각했던 기술적인 결정에 대해서 나중에 후회하게 되는 경우에는 정말 흔하게 발생하는 것 같습니다. 비지니스 환경은 항상 격변하고 그에 따라 요구사항도 항상 급변하고, 게다가 항상 더 진화된 기술과 더 혁신적인 방법론이 나오니까요. 따라서 프로젝트를 잘못 설계하여 고생하는 상황은 어찌보면 불가피하며 이에 대해 크게 두려워할 필요는 없다고 생각합니다. 대신 프로젝트를 진행하면서 문제가 발생했을 때 문제를 훌륭하게 해결할 수 있는 능력을 키워가는 것이 더 중요하지 않을까요? 지금 돌이켜보면 그러한 실수들이 성장하는데 가장 큰 도움이 된 것 같습니다! 😄