목적과 목표의 중요성은 누구나 알고 있습니다. 하지만 많은 분들이 ‘중요하다’는 사실만 알고, 구체적으로 ‘어떻게 정리해야 하는지’에 대해서는 잘 알지 못합니다. 유형을 불문하고 IT 분야의 프로그램 제작을 할 때에는 내부적인 목적과 목표의 중요성이 더욱 부각됩니다. 많은 비율로 외부 리소스, 그러니까 외주 업체에 돈을 지불하고 한시적으로 일을 위탁해 일을 진행하는 케이스가 대부분이니까요.
프로그램 제작을 앞두고 있다면, 그리고 확실한 목적&목표 설정을 안정적인 프로그램 제작을 완성하고 싶다면 아래 글을 정독하세요. 위시켓이 그동안의 프로그램 제작 경험을 토대로 프로그램 제작할 때의 목적과 목표를 정리하는 노하우를 공유해 드립니다.
✍️ 이 글의 순서
• 목적(Goal)과 목표(Objective)란?
• 프로그램 제작, 목적&목표 더 중요해요.
• S.M.A.R.T 목표 설정 기법이란?
• S.M.A.R.T 기법 ‘실무 활용 가이드’
목적은 프로그램이 달성하고자 하는 궁극적인 방향이나 의도를 의미합니다. 목표에 비해 추상적이고 광범위한 개념으로, 프로그램의 존재 이유를 나타냅니다. 예를 들어, “사용자의 업무 효율성 향상”이 한 프로그램 제작의 목적이 될 수 있습니다.
반면, 목표는 목적을 달성하기 위한 구체적이고 측정 가능한 단계들을 말합니다. 목표는 명확하고 구체적이며, 주로 수치화가 표현합니다. “6개월 내에 사용자의 작업 처리 시간을 20% 단축”과 같이 구체적인 성과를 제시합니다.
목적이 프로그램의 ‘왜’를 설명한다면, 목표는 ‘어떻게’를 나타냅니다. 효과적인 프로그램 개발을 위해서는 명확한 목적 설정과 함께 이를 달성하기 위한 구체적인 목표들을 수립하는 것이 중요합니다. 둘을 통해 개발 과정의 방향성을 유지하고, 프로그램의 성공을 측정할 수 있는 기준을 마련하게 되죠.
IT 프로그램 제작 프로젝트에서 목적과 목표의 중요성은 여러 측면에서 드러납니다. 우선, 명확한 방향성 제시를 통해 개발팀이 프로젝트의 전체적인 방향을 이해하고 일관된 노력을 기울일 수 있게 합니다. 모호한 지침으로 인한 혼란과 비효율을 예방하는 데 큰 이점이 있습니다.
구체적인 목표 설정은 자원의 효율적 배분을 가능케 합니다. 프로젝트 관리자는 설정된 목표를 바탕으로 인력, 시간, 예산 등의 자원을 적절히 분배하고 우선순위를 정해 중요한 기능에 집중할 수 있습니다. 이는 불필요한 낭비를 줄이는 데 크게 기여하죠. 또 목표는 프로젝트의 진행 상황을 평가하는 기준이 되기도 합니다. 개발 과정에서 목표 달성 정도를 주기적으로 확인함으로써 필요한 경우 전략을 수정하거나 보완할 수 있어, 프로젝트의 성공 가능성을 높이는 데 도움이 됩니다.
이렇게 잘 짜인 목적과 목표는 팀원 간 의사소통을 원활하게 만듭니다. 같은 비전을 공유하게 된 팀원들은 각자의 역할과 책임을 명확히 이해하고 효과적으로 소통할 수 있게 되어 협업이 물 흐르듯 진행됩니다.
목표를 보다 확실히 잡기 위해 활용되는 기법이 있습니다. 바로 ‘S.M.A.R.T 목표 설정 기법’입니다. 달성 가능한 현실적인 목표를 수립하고 효율적으로 달성하기 위한 일종의 프레임워크입니다. 이 기법은 IT 프로그램 제작을 포함한 다양한 분야에서 널리 적용됩니다.
목표는 명확하고 구체적이어야 합니다. ‘사용자 경험 개선’과 같은 모호한 목표 대신, ‘로그인 프로세스의 단계를 5에서 3으로 줄여 사용자 경험 개선’과 같이 구체적으로 설정해야 합니다.
목표는 측정 가능해야 합니다. 이는 진행 상황을 추적하고 목표 달성 여부를 판단할 수 있게 해줍니다. 예를 들어, ‘앱의 로딩 시간을 현재 5초에서 2초로 단축’과 같이 수치화된 목표를 설정하면 좋습니다.
목표는 현실적으로 달성 가능해야 합니다. 팀의 능력, 가용 자원, 시간 제약 등을 고려하여 설정해야 합니다. 너무 어렵거나 비현실적인 목표는 팀의 사기를 저하시킬 수 있습니다.
목표는 프로젝트의 전체적인 목적과 관련이 있어야 합니다. 즉, 이 목표를 달성함으로써 프로그램의 궁극적인 목적에 어떻게 기여하는지 명확해야 합니다.
목표에는 명확한 기한이 설정되어야 합니다. 이는 urgency를 부여하고 팀이 집중할 수 있게 해줍니다. ‘6개월 내에 새로운 기능을 구현하고 베타 테스트 완료’와 같이 시간 프레임을 명시해야 합니다.
이 S.M.A.R.T 기법을 사용하면 모호하고 달성하기 어려운 목표 대신, 명확하고 실행 가능한 목표를 설정할 수 있습니다. 또 프로젝트 팀에게 명확한 방향을 제시하고, 진행 상황을 효과적으로 모니터링할 수 있는 파생 효과도 누림과 동시에 팀의 동기 부여에도 적지 않은 영향을 끼치게 됩니다.
이어서 실무에서의 쉬운 적용을 위해 단계를 나누어 어떻게 적용해야 하는지를 정리해 드립니다. 특히 시도가 처음이라면 아래의 순서를 기록, 저장해 두고 데스크에서 팀원들과 함께 진행해 보시기 바랍니다.
먼저 개발하려는 프로그램의 궁극적인 목적을 명확히 합니다. 이는 S.M.A.R.T 목표 설정의 기반이 됩니다.
팀원들과 함께 프로그램의 주요 기능, 사용자 요구사항, 기술적 도전 과제 등을 나열해 봅니다. 이 과정에서 다양한 아이디어와 관점을 얻을 수 있습니다.
브레인스토밍에서 나온 아이디어들의 중요도와 시급성을 고려하여 우선순위를 정합니다. 이는 구체적인 목표 설정의 기초가 됩니다.
• Specific
: “사용자 인터페이스 개선”이라는 모호한 목표 대신, “메인 대시보드의 로딩 시간을 현재 5초에서 2초 이내로 단축”과 같이 구체적으로 명시합니다.
• Measurable
: “성능 향상”보다는 “데이터베이스 쿼리 응답 시간을 평균 500ms에서 200ms로 단축”처럼 측정 가능한 수치를 포함시킵니다.
• Achievable
: 팀의 기술력, 가용 자원, 시간 제약 등을 고려하여 실현 가능한 목표를 설정합니다. 예를 들어, 2주 안에 완전히 새로운 기능을 개발하는 것이 비현실적이라면, 프로토타입 개발이나 핵심 기능 구현 등으로 조정할 수 있습니다.
• Relevant
: 각 목표가 프로그램의 전체 목적과 어떻게 연관되는지 명확히 합니다. “사용자 등록 프로세스를 3단계에서 1단계로 간소화하여 신규 사용자 유입률 증대”와 같이 목표와 전체 목적의 연관성을 드러냅니다.
• Time-bound
: 모든 목표에 명확한 기한을 설정합니다. “다음 분기 말까지 새로운 결제 시스템 통합 완료 및 베타 테스트 진행”과 같이 시간 프레임을 명시합니다.
설정한 목표를 팀원들과 함께 검토하고, 필요하다면 조정합니다. 모든 팀원이 목표를 이해하고 동의하는지 확인하는 것이 중요합니다.
각 목표를 달성하기 위한 구체적인 행동 계획을 수립합니다. 이 때 필요한 자원, 책임자, 중간 점검 일정 등을 함께 정합니다.
정기적으로 목표 달성 진행 상황을 점검하고, 필요시 목표나 계획을 조정합니다. 이 과정에서 팀원들의 피드백을 적극적으로 수렴하는 게 중요합니다.
목표 달성 후에는 성과를 평가하고, 과정에서 얻은 교훈을 정리하는 시간을 갖습니다. 문서로 정리해 두면, 향후 프로젝트의 목표 설정에도 충분히 활용 가능한, 가치 있는 인사이트가 축적됩니다.
무엇이든 구조와 체계가 중요합니다. 미시를 들여다보기 전에, 거시를 조망하는 훈련이 필요합니다. 그래서 이와 같은 다양한 기법들을 알고 있는 게 실무에서는 많은 도움이 됩니다. 위시켓이 클라이언트 프로젝트에 드리는 도움의 상당수가 바로 이 지점에 있습니다.
유니콘으로 성장한 스타트업과 대기업들이 위시켓을 반복해서 찾는 이유입니다. 어떤 프로젝트든 특성에 맞는 거시 체계를 함께 고민하고, 미시적인 사항들을 보완해 갑니다. 남다른 안정감으로 프로그램 제작의 완성도 높은 아웃풋을 만드는데 기여합니다.
만약 유형을 불문하고 프로그램 제작을 염두에 두고 있다면, 위시켓을 꼭 저장해 두시기 바랍니다. 요구사항 정의서 작성은 기본, 건강한 외주 업체를 찾고 견적을 비교하는 일과 미팅 조율, 계약서 법률 검토, 완료 후 대금 지급까지. 1:1로 배정된 전담 매니저가 여러분의 프로그램 제작의 두 번째 기획자가 되어 드립니다.
🔖 함께 보면 도움되는 글
프로그램 만들기, ‘파이썬’의 단점과 대체 언어 3가지