1. 애자일 소프트웨어 개발 선언이란?
애자일 소프트웨어 개발 선언(Manifesto for Agile Software Development)은 소프트웨어 개발을 새로운 방식으로 접근하려는 철학을 담고 있다. “Agile”은 변화에 유연하게 대응하며, 사람 간의 상호작용을 중시하고, 고객과의 협력을 중심에 둔다는 철학이다. 선언은 다음 네 가지에 더 큰 가치를 둔다고 명시하고 있다.
- 공정과 도구보다 개인과 상호작용을
- 포괄적인 문서보다 작동하는 소프트웨어를
- 계약 협상보다 고객과의 협력을
- 계획을 따르기보다 변화에 대응하기를
왼쪽 요소도 중요하지만, 오른쪽에 더 큰 가치를 둔다는 의미로 작성되었다. 이 선언에는 Kent Beck, Martin Fowler, Robert C. Martin 등 소프트웨어 개발의 대가들이 참여해 소프트웨어 개발의 새로운 패러다임을 제시했다.
2. 애자일 선언 이면의 12가지 원칙
애자일 선언의 이면에는 소프트웨어 개발 과정에서 고객과 협력하며 가치를 창출하기 위한 12가지 원칙이 있다. 이 원칙은 애자일 철학의 구체적인 실천 방법을 제시하며, 실제 개발 과정에서의 가이드 역할을 한다.
- 가치 있는 소프트웨어를 지속적으로 전달하여 고객 만족을 추구한다.
- 개발의 후반부일지라도 요구사항 변경을 환영한다. 이를 통해 고객의 경쟁력을 강화한다.
- 작동하는 소프트웨어를 자주 전달한다. 가능한 한 두어 주 간격의 짧은 주기를 선호한다.
- 비즈니스와 개발자가 프로젝트의 모든 단계에서 협력한다.
- 동기 부여된 개인들로 팀을 구성하고 신뢰를 바탕으로 지원한다.
- 면대면 대화를 통해 효율적인 소통을 한다.
- 진척의 척도는 작동하는 소프트웨어이다.
- 지속 가능한 개발을 장려한다. 팀 모두 일정한 속도를 유지할 수 있어야 한다.
- 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
- 단순성을 추구한다. 불필요한 작업을 줄여 가치를 극대화한다.
- 최고의 아키텍처와 설계는 자기 조직적인 팀에서 창출된다.
- 팀은 정기적으로 개선점을 고민하고 행동에 반영한다.
3. 나의 다짐: 애자일 철학과 소프트웨어 장인 정신
애자일 선언과 그 원칙들은 개발자로서 소프트웨어 장인(Software Craftsperson) 으로 나아가기 위한 밑거름이라고 생각한다. 애자일 정신을 담은 책들을 통해 나도 자연스럽게 이 철학을 받아들이게 되었고, 더 나은 소프트웨어를 만드는 길로 나아가고 있다.
나 역시 고객과 협력하여 잘 작동하는 소프트웨어를 만들고, 지속 가능한 개발 환경을 유지하는 소프트웨어 장인이 되고 싶다. 이를 위해 클린 코드, 테스트 주도 개발, 실용주의 프로그래머, 스크럼 등 애자일 선언에 참여한 개발자들의 책을 하나씩 읽고 있다. 그들의 철학과 기술을 차근차근 익히며 언젠가 나도 좋은 소프트웨어 개발자로 성장할 것을 다짐한다.
Resources
http://agilemanifesto.org/iso/ko/manifesto.html
http://agilemanifesto.org/iso/ko/principles.html
'기술 노트' 카테고리의 다른 글
AIX에서 오픈소스 패키지 설치하기: 리눅스와의 차이점과 필수 도구 (0) | 2022.03.14 |
---|---|
AIX에서 이상적인 PS1 프롬프트 설정하기: 효율적인 작업 환경 만들기 (1) | 2022.03.13 |
형상 관리 도구의 선택: Git, SVN, 그리고 DevOps 환경에서의 최적화 (3) | 2022.02.09 |
개발과 운영의 경계를 허물다: 데브옵스와 실무 경험기 (1) | 2022.02.08 |
CMake 입문: 빌드 자동화 기초와 실전 예제 (0) | 2022.01.29 |