TIL no.64 - Software Development Process

박준규·2019년 10월 28일
0

오늘은 소프트웨어 개발 과정에 대해 알아보겠습니다.


1. waterfall

먼저, waterfall 방식 먼저 알아보겠습니다.

결론부터 말하자면 waterfall 방식은 비효율적이며 지양하는 방식입니다.

기회, 분석, 설계, 코딩, 테스트, 배포
순으로 이루어져 있으며
이러한 순서는 기존의 제조업, 건설업에서 사용되는 process입니다.

각 단계가 완벽하게 마무리되어야 다음 단계로 넘어갈 수 있습니다.

하지만, 이러한 방식은 소프트웨어 개발에는 맞지 않았습니다.

왜냐하면, 예상치 못한 문제와 직면해 예산과 데드라인을 초과할 수도 있으며 빠르게 급변하는 소프트웨어 생태계의 특성상 코딩을 하는 중간에 기획이 바뀔 수도 있기 때문입니다.


2. Agile, Scrum

위처럼 waterfall 방식의 단점을 보완하고자 도입된 것이 Agile 방법론입니다.

Agile이라는 단어 뜻 그대로 빠르게 개발을 한다는 것입니다.

일정한 주기를 가지고 끊임없이 프로토 타입을 만들어 내면서 그때 그때 문제를 해결하고 수정사항을 반영합니다.

그리고 이러한 Agile 방법론 중 하나가 Scrum입니다.

위 그림은 Scrum이 어떻게 진행되는지 보여줍니다.

Scrum의 핵심인 Sprint가 어떻게 진행되는지 알아보겠습니다.

  1. To Do List
    유저의 요구 사항 목록을 만듭니다.

  2. planning
    planning 미팅을 갖고 sprint동안 할 일을 결정합니다. sprint를 진행하면서 각자 주어진 일을 완료합니다.

  3. stand up meeting
    매일 stand up meeting을 통해
    팀원끼리 진행사항을 공유합니다.

  • 어제 했던일
  • 오늘 할 일
  • 다른 사랑에 의해 막혀있는 것(blocker)

이러한 주기를 한 Sprint라고 표현합니다. 그리고 프로젝트가 끝날 때까지 반복합니다. scrum을 진행하면서 kanban board를 활용해 가시적으로 프로젝트의 진행사항을 체크합니다.

profile
devzunky@gmail.com

0개의 댓글