프로세스 (6) - 애자일 프로세스 모델 (1) - 선언문(Manifesto)

소프트웨어공학

2020. 5. 13. 14:10

1. 애자일 프로세스

  • 진화적/나선형/Unified처럼 점진적인 프로세스를 채택함 
  • 점진적으로 (개발 + 빠른 릴리즈)를 계속 반복함 (2주마다 릴리즈 해버림)
  • 100중 한 30만들고 출시해서 유저피드백 받고 문제 파악하고
  • 그 뒤에 한 50만들고 출시해서 유저피드백 받고 문제 파악하고 하면 품질 좋아짐
  • ex) eXtreme Programming, Scrum, Feature Driven Development

 

2. 애자일 선언문 (개작고변)

애자일 소프트웨어 개발 선언

우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 
소프트웨어 개발의 더 나은 방법들을 찾아가고있다. 
이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:

1. 공정과 도구보다 개인과 상호작용을
2. 포괄적인 문서보다 작동하는 소프트웨어를
3. 계약 협상보다 고객과의 협력을
4. 계획을 따르기보다 변화에 대응하기를

가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만,
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

 

3. 애자일 선언문 해석

(1) : 프로세스나 도구 < 개인과 상호작용 중요 (Individual & Interacation)

  • 폭포수처럼 Top-Down으로 문서화 기간내에 다 끝내야하고,
  • 이런것보다 개인이 계획하고 Self Motivation하게 훨씬 자유롭게 진행
  • 개발자가 문서화보다는 개발되는 코드에 집중하고, 문서화는 최소화함
  • 개발자-사용자, 개발자-개발자 간에 회의를 끊임없이, 자주 진행해야함

 

(2) : 포괄적인 문서 < 동작하는 소프트웨어 (Working Software)

  • 빌트인 된 소프트웨어로 계속 만들어서 돌아가는걸 보여줄수 있어야함
  • 모듈단위로 로그만 찍히는 식의 개발이 아니라 완성되어서 돌아가는 소프트웨어 보여줘야함
  • 즉, 통합을 계속 점진적으로 해나가야함 (통합을 점진적으로 해서 돌아가게 만들기)
  • 요즘 개발 회사가면 매일아침 풀 받고, 퇴근전에 커밋하고 감. (하루단위로 계속 통합함)
  • 위와 같이 계속적으로 계속 통합하는 것을 Continous Integration이라고 함.

 

(3) : 계약과 협상 < 고객과의 긴밀한 협력 (Customer Collaboration)

  • 고객이 거의 개발팀과 함께 문제와 변화에 대해 대처함
  • 고객도 개발팀의 일부라는 식으로 생각함

 

(4) : 계획을 고수 < 변화에 빠른 대응 (Responding to Change)

  • 제안된 변화에 발빠른 대응으로 처리할 수있음
  • 사이클자체가 정말 빠르게 돌기 때문에, 사용자가 빨리빨리 확인하고 수정을 요구할수있음

 

4. Reference

 

소프트웨어공학 개론

소프트웨어를 개발하고 유지보수하는 데 적용되는 체계적이며 원리적인 접근 방법을 소개한다. 소프트웨어를 개발하는 프로젝트를 계획하는 기법, 사용자의 요구를 분석하는 기법, 소프트웨어

www.kocw.net