애자일 프로젝트 관리란 무엇입니까?
돌아가서 프로젝트 과정에서 무언가를 수정하면 모든 게이트를 통과하게 만드는 소프트웨어 개발 방법론이 있다고 상상해보십시오. 정말 힘든 것 같습니다. 다른 게이트를 방해하지 않고 하나의 게이트만 열었다가 같은 게이트를 통해 다시 돌아오는 것은 어떻습니까?
고객이 자신이 원하는 것이 무엇인지 확신하지 못하는 대규모 프로젝트가 있다고 가정해 봅시다. 그리고 전체 프로세스가 완료된 후에만 프로젝트를 테스트할 수 있습니다. 폭포수 방법처럼 들리나요?
폭포수 방법은 프로젝트를 테스트하는 전통적인 방법입니다. 테스트는 순차적으로 이루어졌기 때문에 팀은 이전 단계를 클리어해야만 다음 개발 단계로 넘어갈 수 있었습니다. 그러나 일단 프로젝트를 시작하면 요구 사항을 변경할 수 없고 테스트 단계는 빌드 단계 후에만 오는 등 여러 가지 문제가 있었습니다.
이와 같은 문제를 어떻게 해결하고 어떻게 유연하게 만드나요? 애자일 프로젝트 관리를 따르면 됩니다.
민첩한 방법론은 개발 및 테스트의 지속적인 반복을 지원하는 방식입니다. ‘스프린트’로 알려진 짧은 개발 주기의 대규모 프로젝트에 가장 적합합니다.
다양한 애자일 프로젝트 관리 역할이 있으며 일부는 프로젝트 관리자를 포함하지 않습니다. 애자일 방법론에서는 스크럼 마스터와 제품 소유자 간에 역할과 책임이 공유됩니다. 프로젝트 과정 전반에 걸쳐 요구 사항을 대화식으로 점진적으로 전달하는 일종의 접근 방식입니다.
전통적인 프로젝트 관리와 애자일 방법론의 주요 차이점은 전자가 프로젝트 과정 전반에 걸쳐 철저히 따라야 하는 세부 계획을 제시한다는 것입니다. Agile에서는 요구 사항(주로 클라이언트의 요구 사항)이 변경될 수 있으므로 유연한 특성이 프로젝트에서 매우 유용합니다. 이는 소프트웨어 프로젝트 요구 사항이 시장 수요에 따라 변경되기 때문입니다. 클라이언트는 프로토타입이 출시되기 전에 항상 요구 사항을 확정할 수 있는 것은 아니므로 여기에서 민첩한 경로를 사용하는 것이 생명을 구하는 유일한 전략일 수 있습니다.
민첩한 프로젝트 관리는 ‘변화 수용’에 관한 것입니다. 소프트웨어 프로젝트는 고객이 필요로 하는 것을 이해할 수 있을 때만 완료할 수 있고 요구 사항은 개발 단계에서 상당히 늦게 변경될 수 있기 때문입니다.
애자일은 프로젝트를 스프린트로 나누고 각 스프린트는 각각 몇 주 주기로 나누어 프로젝트 복잡성을 줄입니다.
귀사에서 진정으로 Agile이 되려면 다음 사항을 수용하십시오.
1. Truly Agile은 회사 전체를 의미합니다.
Agile이 되려면 어떻게, 언제, 어디서 해야 하는지 알아야 합니다. 모든 사람이 조직의 목표를 알 수 있도록 최고 관리 수준에서 최하위 계층에 이르기까지 투명해야 합니다. 팀의 각 구성원은 문제를 해결하고 기술을 연마하도록 격려받아 평생 학습이 이루어지도록 해야 합니다.
2. 스프린트로 작업
앞에서 설명한 것처럼 애자일 기술은 스프린트를 기반으로 합니다. 전통적인 방법론, 즉 폭포수 방법에서는 엄청난 수준의 계획이 프로젝트에 들어가지만 모두 엄격합니다. 여기에서 마라톤을 하고 있기 때문에 잠시 멈추고 자신이 한 일을 되돌아볼 수 없습니다. 종료 지점에서만 멈출 수 있습니다. 민첩하면 짧은 스프린트가 가능하므로 돌아가서 실수를 수정할 수 있습니다. 프로젝트 요구 사항이 변경된 경우 해당 요구 사항도 수용할 수 있습니다.
3. 스프린트 수준에서 회고
회고를 통해 스프린트 수준에서 피드백 루프를 수행할 수 있습니다. 이는 팀이 자신의 성과 및 과거 조치를 평가하는 데 도움이 됩니다. 이 단계에서 팀원들은 기존 아이디어를 검토하고 새로운 아이디어와 비교하여 변경 사항이 있는지 확인합니다. 회고 단계에서는 다음과 같은 질문을 합니다.
- 마지막 반복에서는 상황이 어떻게 되었습니까?
- 무엇이 잘못되었나요?
- 이를 바로잡는 방법은 무엇이며 이를 방지하기 위해 취해야 할 조치는 무엇입니까?
Retrospection은 팀이 올바른 방향을 유지하는 데 도움이 됩니다.
4. 채용 프로세스에서 애자일을 사용하십시오.
팀에 더 많은 사람들을 추가할 때 애자일 방법론에 익숙한 사람들을 고용할 수 있다면 좋을 것입니다. 이렇게 하면 시스템에 쉽게 배포할 수 있으며 게임의 고삐를 가르칠 필요가 없습니다. 팀이 회사 목표를 실현하기 위해 협력하는 데 도움이 될 것입니다. 유일한 것은 새로 온 사람들이 팀의 요구에 적응할 수 있는 기술을 가지고 있는지 확인하는 것입니다.
5. 지속적인 학습 환경
애자일로 전환하면 회사가 변화하고 팀이 지속적인 학습 환경에 참여하게 됩니다. 이것은 민첩한 조직의 핵심 구성 요소 중 하나입니다. 지속적인 개선 없이는 완전한 민첩성을 달성할 수 없기 때문입니다. 지속적인 학습 환경은 출시 기간을 단축하고 제품 주기를 개선하는 데 도움이 됩니다. 지속적인 개선이 이루어지면 Retrospection이 더 원활해지고 제품이 더 나은 릴리스 위치에 도달하며 비즈니스가 성공할 준비가 됩니다.
6. 카이젠 조직으로의 전환
Kaizen은 ‘좋은 변화’를 뜻하는 일본어입니다. 애자일 방법론을 실천함으로써 끊임없는 개선과 변화가 있으며, 이는 CEO부터 회사의 신입 직원까지 계층적으로 실행됩니다. Kaizen을 통해 회사는 사람들이 혁신하고 새로운 아이디어를 테스트하고 모든 단계에서 개선의 기회가 있는 일하기 좋은 곳이 됩니다. Kaizen은 문제를 닫힌 문이 아닌 기회의 창으로 간주할 수 있게 합니다.
마무리 생각
Agile 제품 개발을 통해 최우선 순위는 고객 만족이며, 변화하는 환경은 제품이 경쟁 우위를 점할 수 있는 기회로 간주됩니다. 이해 관계자와 개발자 모두 새로운 종류의 관계를 조성하고 매일 긴밀하게 작업합니다.
애자일을 사용하면 리소스 낭비를 최소화하고 처리 속도를 높일 수 있습니다. 조직에서 사용할 수 있는 인기 있는 애자일 방법론은 Scrum, Kanban, Lean, Dynamic System Development Model, Crystal, Scruban, Rapid Application Development 및 Feature Driven Development입니다.
흥미로운 기사:
이러한 유형의 프로젝트 관리가 팀에서 작동하는 방식
애자일 프로젝트 관리 방법
사진 출처: Flickr.com/ Luca Mascaro/ visualpun.ch
저자: Reema Oamkumar는 YUHIRO 그룹의 일부인 www.Software-Developer-India.com에서 사고 리더로 활동하고 있습니다. YUHIRO는 IT 회사, 에이전시 및 IT 부서에 프로그래머를 제공하는 독일-인도 기업입니다.