Agile(에자일)과 Scrum(스크럼), 소프트웨어 개발 방법론에 대해서

소프트웨어 개발 방법론

소프트웨어 개발 방법론은 앱을 제작함에 있어서 필요한 개발 과정들을 정리하고 표준화하는 것을 의미합니다. 각 개발자들이 개발과정에서의 일관성을 유지하고 효과적인 협업이 이루어질 수 있도록 돕는 방법론입니다. 이번 글에서는 Agile과 Scrum 방법론에 대해 언급할 예정입니다.

즉 개발을 할 때 어떤 순서로 어떻게 배치 할 것인가?가 관건입니다. 

Agile(에자일)

Agile은 날렵한, 재빠른 이라는 뜻을 가지고 있습니다. 이 방법론은 빠르게 변화하고 있는 시장의 요구사항에 기민하게 대처하기 위한 방법론입니다. 

어떤 제품을 제작하려고 할 떄 기획, 디자인, 설계가 모두 끝나고 개발에 들어가는 것이 아니라, 사용자에게 중간 과정에서 제품을 직접 보여주고 피드백을 받으면서 시장의 변화에 맞는 제품을 만들어냅니다.

 

Scrum(스크럼)

Agile 방법론을 구체화한 여러 프로세스 중 한 가지입니다. 스프린트라고 불리는 1-4주의 짧은 개발 주기로 나누고 각 주기마다 개발, 리뷰, 회고 등에 과정을 거치는 것입니다.

1. 프로덕트 오너가 제품의 요구 사항을 백로그에 작성합니다.

2. 스프린트에 대한 계획을 구체적으로 설계합니다.

3. 1-4주의 스프린트 동안 기능을 개발합니다.

4. 데일리 스크럼 미팅을 진행합니다.

5. 산출물에 대한 리뷰와 피드백 과정을 진행합니다.

6. 스프린트를 회고합니다.

개발자 입장에서는 다른 부서와 긴밀하게 소통하는 것을 제외하면 크게 달라지는 점이 없습니다. 하지만 이런 방법론은 전체 프로세스를 본다면 급격하게 변화하고 있는 시장의 니즈를 따라 제품을 개발할 수 있게됩니다.

 

결론

실제로 시장에 발빠른 대응을 위해서 많은 기업들이나 스타트업에서도 해당 소프트웨어 개발 방법론을 채택하고 있습니다. 가장 많이 사용하는 툴은 JIRA가 될 수 있겠는데요. 하지만 이제 Notion 및 GitHub Project를 통해서 운용되고 있는 곳들도 생겨나고 있습니다.