본문 바로가기

개발자로 일하기

내 신박한 아이디어, 어떻게 하면 빠르게 개발할 수 있을까? feat. 애자일

지금은 취준을 위해 개인 프로젝트로 진행을 하고 있습니다. 하지만 이 프로젝트에 들어간 제 아이디어는 왠지 신박해서 시장에서 좋은 반응이 올 것 같다는 행복한 상상에 빨리 이 아이디어를 제품으로 만들어서 시장에 내놓고 싶어하는 마음이 듭니다. 하지만 제가 지금 가지고 있는 것은 메모장에 적힌 한 줄 자리 아이디어가 전부입니다. 어떻게 계획해야지 빠르게 개발할 수 있을까요?

애자일

빠르게 개발하기 위해서는 애자일 방법론을 적용하는 것이 좋습니다. 애자일 방법론은 개발 프로세스를 작은 주기로 나누어 진행하며, 각 주기의 끝에서는 작동하는 제품을 제공하는 것이 목표입니다. 이렇게 하면 개발자와 고객 모두가 제품을 보고 빠르게 피드백을 주고받을 수 있습니다. 또한, 애자일 방법론은 변경에 빠르게 대응할 수 있도록 하기 때문에, 아이디어를 빠르게 개발할 수 있습니다.

비전

이 아이디어의 우선순위를 정하고 내가 하는 일의 의미를 찾기 위해 비전을 세워봅니다.

이 [카테고리]에 해당하는 [내 프로젝트]는 [어떤 것을 필요로 하는 혹은 문제]를 가지는 [주요 고객층]에게 [해결책이나 경쟁사]와 달리 [차별성]을 갖고 [핵심 가치]를 제공합니다.

네모칸을 채워 보자.

유저스토리

유저 스토리는 제품의 사용자들이 어떤 요구사항을 가지고 있고, 제품이 그 요구사항을 만족시키는지에 대한 스토리로, 구체적으로는 "어떤 사람이 어떤 일을 하고자 할 때, 제품을 어떻게 사용하는가"를 설명합니다. 유저 스토리를 작성하면 제품 개발에 있어서 사용자 중심의 관점을 유지할 수 있고, 요구사항 및 기능에 대한 명확한 이해를 도와줍니다.

내 아이디어에 대한 유저스토리를 카테고리 별로 작성해보자.

[고객]은 [목적]을 위해 [필요/욕구]를 원한다.

스토리보드

유저스토리를 포스트잇에다가 작성하고 화이트보드에 사용자 여정 시간순과 기능별로 분리해서 붙여 봅니다. 우선 순위가 높은 유저스토리는 위로 붙입니다. 그러면 맨 윗줄의 유저스토리는 MVP가 됩니다. MVP는 이 제품이 시장에 출시되었을 때 돈을 벌어 올 수 있는 최소한의 기능입니다.

릴리즈 플래닝

유저 스토리를 어떤 스프린트에 넣을지 계획합니다.

스프린트

스프린트 첫 째날에 스프린트 플래닝을 통해 스프린트 목표와 스프린트 백로그를 도출합니다. 그리고 마감일 전 날까지 매일 스프린트로 달립니다. 또 매일 데일리 스크럼도 진행합니다. 그리고 마지막 날에는 리뷰와 회고를 합니다.

  • 스프린트 백로그
    • 해당 스프린트에서 진행할 여러 유저스토리를 가져옵니다.
    • 하나의 유저 스토리에서 여러 task로 나눕니다.
    • 각각의 task에 대한 시간 계획을 작성합니다.
    • 계획은 유저스토리는 일자 단위로 작성하고 task는 시간 단위로 작성합니다.

정리

평소에 번뜩이는 아이디어나 시대에 필요한 아이디어를 이제 빠르게 개발을 할 수 있을 것 같습니다. 하지만 기업 규모에서 이렇게 빠르게 아이디어를 제시하고 빠르게 개발을 한다면 아이디어에 대한 세세한 기능도 쉽게 바뀔 수 있을 것 같아 개발한 결과물도 엎어질 수 있는 위험도 같이 있을 것 같습니다. 그래서 안정적으로 개발을 시작하기 위해 폭포수 모델처럼 기획 단계에서 세세하게 기능에 대한 요구사항들을 문서화하는 방법도 좋을 것 같습니다. 폭포수 모델과 애자일 모델의 장점을 합쳐서 프로젝트를 시작하는 것도 하나의 방법일 것입니다!