반응형
간단하게 내린 정의
폭포수
- 개발 프로세스를 단계별로 나누고 각 단계를 완전히 마무리 지은 후에 다음 단계로 넘어가는 방법론
- 각 단계에 대한 산출물도 다음 단계로 넘어가기 전에 완성한다.
- 가장 고전적인 방법론이고 적용 사례도 가장 많다.
애자일
- 개발 프로세스를 짧게 잡아서 릴리즈를 계속해서 반복하는 방법론
- 소규모 릴리즈를 하며 사용자들의 피드백을 빠르게 반영할 수 있다.
- 스프린트를 반복하면서 회고를 반복한다.
- 개발팀이 특정 주기동안 얼마나 기능 구현을 완료할 수 있는지 자연스럽게 측정할 수 있다.
내가 더 선호하는 것?
기능을 세분화해서 구현해나가며 점점 프로젝트를 키워나가는 걸 좋아하기도 하고
사용자 피드백을 빠르게 반영할 수 있다는 점에서 애자일을 더 선호한다.
설계 vs 개발 무엇이 더 중요할까?
어느 정도의 설계도 꼭 필요하지만
처음부터 완벽한 설계를 하는 것보다,
개발을 하면서 필요 기능에 의한 설계가 추가되는 경우가 많다고 생각된다.
(특히 애자일 방법에서는 더)
한 프로젝트에서는 도메인 이해가 어려웠던 적이 있어 설계에 너무 많은 시간을 투자했다가 개발에 들일 시간이 부족하여 완성도가 낮았던 적이 있었다. 노력한 것에 비해 완성도가 낮아보인다는 피드백을 들은 적이 있어서 개발을 더 중요하게 여기고 있다!
어쨌든 나는 개발자니까 주어진 시간 안에 기능 개발을 완료한 후에 회고를 통해서 고쳐나가며 완성도를 높여가는 것을 선호한다.
그러나 언제까지나 케바케(케이스 바이 케이스)!!
대규모의 프로젝트일 수록 모두가 동일하게 생각하고 방향을 잡기 위해, 개발에 차질이 없기 위해선 설계에 조금 더 치중하고
비교적 부피가 작은 프로젝트이거나 시간에 제한적이라면 완성에 초점을 두기!
반응형
'기타' 카테고리의 다른 글
모놀리식 아키텍처(MA) vs 마이크로서비스 아키텍처(MSA) (2) | 2024.05.16 |
---|---|
[AWS] IAM (Identity and Access Management) (0) | 2024.05.10 |
[Gradle] build.gradle dependencies import keywords (0) | 2024.04.30 |
[페어 프로그래밍] 선택 정렬(Selection Sort) 구현하기 (0) | 2024.04.29 |
[페어 프로그래밍] 버블 정렬(Bubble Sort) 구현하기 (0) | 2024.04.05 |