본문 바로가기
computer science

하루에 하나씩 배우는 컴퓨터 사이언스 개념: Agile 프로세스 이해(개발 프로세스)

by vita12321 2023. 10. 4.
728x90
반응형

하루에 하나씩 배우는 컴퓨터 사이언스 개념 시리즈에서 오늘은 'Agile 프로세스 이해(개발 프로세스)' 대해 깊이 있게 알아보겠습니다. 소프트웨어 개발 방법론 Agile 현대의 빠르게 변화하는 환경에 맞춰 효율적으로 작업을 수행하는 방법론입니다.


1. Agile 프로세스 이해

 

Agile(애자일) '민첩한'이라는 뜻을 가진 단어로, 소프트웨어 개발에서는 변화에 유연하게 대응하며, 고객의 만족을 최우선으로 하는 개발 방법론니다. Agile 방법론은 Scrum, Extreme Programming(XP), Lean 다양한 접근법이 있지만, 모두 공동의 원칙과 가치를 공유합니다.


2. Agile 핵심 가치

 

Agile Manifesto(애자일 선언문) 따르면, 애자일 개발은 다음 가지 핵심 가치를 중시합니다:

 

  • 프로세스와 도구보다 개인과 상호작용을 중요시한다.
  • 포괄적인 문서보다 작동하는 소프트웨어를 중요시한다.
  • 계약 협상보다 고객과의 협력을 중요시한다.
  • 계획을 따르기보다는 변화에 대한 대응을 중요시한다.

3. Agile 방법론: Scrum

 

Scrum 애플리케이션 제품 관리에서 널리 사용되는 애플리케이션입니다. 주요 요소들은 Product Owner, Scrum Master 그리고 Development Team입니다. 작업은 일정 기간(Sprint) 동안 진행되며, Sprint 시작될 때마다 어떤 기능을 구현할 것인지 결정합니다.

 

Scrum Master 팀이 Scrum 원칙과 절차를 따르도록 지원하며 장애물 제거 역할도 합니다. Product Owner 제품 백로그를 관리하고 우선순위를 결정하는 역할을 합니다. Development Team 제품 백로그의 항목들을 구현하는 역할을 합니다.


4. Agile 방법론: Extreme Programming(XP)

 

Extreme Programming(XP) 코드 품질 향상과 응답성 증가를 목적으로 하는 애플리케이션입니다. XP에서는 테스트 주도 개발, 프로그래밍, 지속적인 통합 등의 기법을 사용합니다.

 

테스트 주도 개발(TDD)은 코드 작성 전에 실패하는 테스트 케이스를 먼저 작성하고 이를 통과하는 코드를 작성하는 방식입니다. 프로그래밍(Pair Programming) 명의 개발자가 컴퓨터에서 함께 코드를 작성하며, 하나는 '운전자'로서 실제로 타이핑하고 다른 하나는 '항법사'로서 전략적인 결정을 내리고 운전자의 실수를 잡아내는 역할을 합니다.


5. Agile 방법론: Lean

 

Lean 낭비를 최소화하고 고객 가치를 극대화하는 것을 목표로 합니다. 이는 제품 개발에서 불필요한 작업을 제거하고, 가치 흐름을 최적화하는 초점을 맞춥니다.

 

Lean 방법론은 Toyota Production System에서 유래되었습니다. Lean 원칙에 따르면, '낭비' 고객에게 가치를 추가하지 않는 모든 것으로 간주되며 이러한 낭비들은 최대한 제거해야 합니다.


6. 결론

 

오늘 배운 내용으로 'Agile 프로세스 이해(개발 프로세스)' 대해 깊게 알아보았습니다. Agile 방법론 Scrum, XP 그리고 Lean 다양한 접근법이 있지만 모두 공동의 원칙과 가치 - 변화에 유연하게 대응하며 고객의 만족 중심 - 공유합니다.

 

따라서 어떤 방법인지 선택하기 위해서 상황 판단력과 경험이 중요합니다 - 그것이 좋은 소프트웨어를 만드는데 영향을 줍니다.

728x90
반응형

 

728x90
반응형