Agile Software Development, Agile Scrum Sprint 란?

dogbird·2024년 4월 19일
0

OOAD

목록 보기
5/12

DevOps(Development operations)의 개발주기는 다음과 같이 나타낼수 있다.

Agile Development란?


Agile Development는 일관된 일정에 따라 사용 가능한 소프트웨어를 생산해서 개발 수명 주기를 단축 할 수있다. 그래서 최종 사용자에게 품질을 제공하는데 지속적으로 집중하며 client와 지속적인 colaboration을 하면서 진행하기 때문에 전체 프로젝트에 요구가 빠르게 적응될 수 있다.

Agile Development는 반복적인 소프트웨어 개발에서 사용한다. 반복 소프트웨어 개발을 위해 Sprint(스프린트)라는 개념을 사용한다.

Scrum

Scrum이란 Agile의 하위 개발 방법론 중 하나로, 프로젝트를 진행하는데 사용되는 프레임워크다. 이는 팀이 제품 또는 서비스를 개발하고 제공하는 데 사용되는 일련의 지침, 규정 및 도구의 집합이다. Scrum은 특정한 방식으로 역할을 배치하고, 회의를 조직하고, 작업을 추적하고, 문제를 해결하는 등의 활동을 수행함으로 프로세스를 정의한다. Scrum은 팀이 작업을 관리하고 짧은 주기로 공동의 문제를 해결하는데 사용되고, Scrum 프레임워크는 개발 팀이 Sprint를 효율적으로 관리하고 실행할 수 있도록 지침을 제공한다. Agile의 원칙을 구체적인 artifact, Use case및 역할 집합으로 구현하는데 여기에는 일일 스탠드업 미팅, 백로그 관리, 스프린트 리뷰, 스프린트 회고 등이 포함된다. 따라서 Agile은 개발 방법론의 철학을 나타내고, Scrum은 이를 구체화하고 실행하는 하나의 방법이다.

Sprint

Sprint란, Scrum 프로세스에서 사용되는 용어로, 고객에게 가치 있는 소프트웨어를 제공하기 위해 개발팀이 일정 기간 동안 집중하는 짧은 개발 주기이다. 보통 1주에서 4주 정도의 짧은 기간으로 설정되며, 이 기간 동안 개발 팀은 백로그에서 선택된 작업 항목을 완료하고, 고객에게 가치 있는 소프트웨어를 제공한다.

Sprint는 계획, 실행, 검토 및 회고 단계로 나뉜다. Sprint 계획 회의에서는 해당 Sprint 동안 수행할 작업을 선택하고 목표를 설정한다. Sprint 중에는 일일 스탠드업 미팅을 통해 팀원들은 작업 진행 상황을 공유하고 협력한다. Sprint가 끝날 때에는 스프린트 검토 회의를 통해 완료된 작업을 고객 또는 이해관계자에게 시연하고 피드백을 수렴한다. 마지막으로 스프린트 회고 회의에서는 팀이 스프린트 동안 경험한 것을 돌아보고 개선점을 도출한다.

이러한 Sprint 주기를 통해 Scrum은 빠른 반복과 지속적인 개선을 가능하게 하며, 팀은 빠르게 변화하는 요구 사항에 유연하게 대응할 수 있고 DevOps 수명주기를 단축한다. 대규모 프로젝트를 미리 계획하고 계획에 따라 완료하는 기존 방식이나 waterflow개발 방법론과 대조되는 개념이라고 할 수 있다.

위의 Agile, Sprint, Scrum과정을 그림으로 나타내면 이렇다.

Agile Development의 장점

  1. 고객 만족: 고객의 피드백을 수용하고 제품을 지속적으로 개선하기 때문에 고객 만족도가 높아진다.
  2. 유연성과 대응력: 변화에 빠르게 대응할 수 있는 유연성을 제공해요. 프로젝트 요구 사항이나 환경의 변화에 신속하게 대응하여 프로젝트 성공 가능성을 높여준다.
  3. 팀 협업과 의사소통: 작은 팀이 함께 작업하고, 지속적으로 소통하고 피드백을 주고받는 환경을 제공해요. 이는 팀의 협업을 강화하고 문제를 빠르게 해결할 수 있게 해준다.
  4. 품질 향상: 작은 주기로 제품을 개발하고 테스트하며, 피드백을 받으면서 지속적으로 개선하는 방식은 품질을 높일 수 있다.
  5. 투명성: 프로젝트의 진행 상황이나 이슈들을 투명하게 관리하고, 모든 이해 관계자가 프로젝트의 상태를 파악할 수 있도록 해준다.
  6. 낮은 risk: 작은 주기로 개발을 진행하고, 각 주기마다 작업을 완료하는 방식은 프로젝트 위험을 분산시키고, 초기에 문제를 발견하여 조기에 대응할 수 있게 해준다.
    이러한 장점들로 인해 Agile은 현대적인 소프트웨어 개발 프로세스에서 많이 사용되고 있다.
profile
개발세발 개발자. 멋쟁이가 될 때 까지

0개의 댓글