Agile(애자일)?
애자일이란 무엇일까? SW 개발 방식이다.
개발 방식이 공부까지 할 정도로 중요한가? 라는 생각에는 링컨의 구절이 떠오른다.
나무를 베는데 한 시간이 주어진다면, 도끼를 가는데 45분을 쓰겠다.
- Abraham Lincoln
개발 역량도 중요하지만, 그 만큼 중요한 것이 개발을 어떻게 할까? 이다.
방법론의 종류
1. 상품-중심적 방법
상품의 output을 테스트하고, 필요하면 공장에 수정사항을 요청하였다.
자동차에 문제가 발생한다면? -> 버린다.
상당히 비효율적인 방식이다.
2. 과정-중심적 방법
예전과 같이 제품에 대한 output 테스트는 여전히 진행한다.
추가적으로, 과정중에 있는 요소를 측정한다.
- 계획에 문제 있는지 확인
- 일하는 사람들의 업무여건, 출결 사항, 공부 확인
- 원인과 결과 모델
- 통계치를 이용하여 심층적으로 분석
output도 중요하지만, output을 만드는 과정을 체계적이게 분석하고 관리하는 것.
Agile 개발?
계획을 통해서 주도해 나갔던 과거의 방법론과는 다르게 예측하며 개발을 하지 않고,
일정한 주기를 가지고 끊임없이 프로토 타입을 만들며,
그때그때 필요한 요구를 더하고 수정하나의 SW를 개발해나가는 adaptive style.
그만큼 시간이 더 오래 걸린다.
소비자와 자주 소통하여 release를 적게 하는 것.
adaptive하게 그때 그때 요구를 받아들어 프로젝트를 발전시키는 방법.
Agile은 좋은가? 좋다.
그러면 써야하는가? 아니다.
하지만 써야하는가? 그렇다.
필자의 주관적인 생각이다. 왜 그렇게 생각을 하는가?
Agile이 진정한 힘을 발휘하는 것은 언제인가?
1. 고객이 적극적일 때.
2. 상명하복이 아닌, 소통을 하는 합리적인 고객일 때.
3. 유동적인 계획을 가질 수 있을 때.
Project Management Triangle
빠르고, 좋으면서, 싸게라는 것은 너무 이상적이다.
속도와 비용을 택한다면, 퀄리티는 떨어질 것이고,
속도와 퀄리티는 택한다면, 비용은 늘어날 것이고,
비용와 퀄리티를 택한다면, 시간이 늘어날 것이다.
이 Trad-off를 감안하고 계획을 수립한다.
Water-fall(Big-bang)과 무엇이 다른가?
Agile 과정
Agile_process 1. User_story
Agile의 시작, User_story 개발해야 할 대상 제품이나 서비스의 기능을 정의. 각각의 스토리를 하나의 기능만을 표현하도록 작성. "누가", "무엇을", "어떤 이유로" 원하는가에 대해 짧고 정확하게 기
lone-coder.tistory.com
Agile_process 2. rlease & sprint Planning
개발 항목(Back-log) 작성 후, 일정 관리 개발 일정을 어떻게 지정할까? 너무 짧아도, 너무 길어도 문제가 발생한다. 적절한 일정은 어떻게 정할 수 있을까? 스토리 포인트 스프린트 길이 및 완료 조
lone-coder.tistory.com
Agile_process 3. Daily_scrum & pair-programming
lone-coder.tistory.com
'개발 관련 > Agile' 카테고리의 다른 글
Agile_process 3. Daily_scrum & pair-programming (0) | 2023.05.10 |
---|---|
Agile_process 2. rlease & sprint Planning (2) | 2023.05.10 |
Agile_process 1. User_story (0) | 2023.05.10 |