가장 먼저 알아야 할 것은 민첩함과 민첩함의 차이가 있다는 것입니다. 교차 기능 팀, 적응 형 계획, 진화 / 증분 전달, 타임 박스 반복 및 린 (Lean)의 개념 도입과 같은 민첩한 기술과 특성을 느리게 구현하는 것은 Extreme Programming, Scrum 또는 Crystal을 도입하는 것과는 매우 다릅니다.
고객 참여를 명시 적으로 언급합니다. 예. 많은 애자일 방법론에는 고객의 참여가 필요하지만 민첩 할 필요는 없습니다. 모든 정부 / 방어 관련 프로그램에는 항상 고객과 접촉하는 프로그램이나 프로젝트 관리자가있었습니다. 이 사람은 「고객의 소리」가됩니다. 전화 회의 나 이메일 또는 전화를 걸고 명확하게하면 속도가 느려질 수 있지만 팀의 고객 담당자 인 한 사람 (또는 PM이있는 경우 그룹)도 가질 수 있습니다. 틀림없이, 그것은 동일하지 않습니다. 그러나 유연하고 변화에 대응하는 것이 민첩하지 않습니까?
또한 몇 가지 주요 개념 : 사전 정의 된 요구 사항, 기능 요청이 "벽을 넘어 설", "모두 중요"하기 때문에 우선 순위 부족, 고정 비용 및 / 또는 고정 일정 프로젝트 등이 언급됩니다. 이들 각각은 다른 방식으로 해결 될 수 있습니다.
모든 요구 사항이 사전에 있다고 생각되면 그렇지 않을 수 있습니다. 요구 사항이 변경됩니다. "완료 및 사인 오프"사양이 있다고해서 반드시 스톤으로 설정되어있는 것은 아닙니다. 요구 사항 문서가 무엇이든간에 계약에 지정된 방식으로 편안하고 /하거나 기분이 좋은 방식으로 캡처하고 요구 사항, 디자인 및 아키텍처를 제공하십시오. 또한, 당신이 이것들을 살아있는 문서로 취급 할 수 있는지 확인하십시오. 주어진 반복에서 얼마나 많은 TBD로 떠날 수 있는지 그리고 지금 얼마나 많은 것들을 정리해야하는지 묻습니다.
문서에 민첩하게 대응하십시오. "팀이 원하는 것"과 "고객이 원하는 것"사이에 노력을 중복하지 마십시오. 예를 들어 고객이 전통적인 소프트웨어 요구 사항 사양을 원하고 팀에서 사용자 스토리를 사용하려는 경우 기존 SRS에 적응하고 사용자 스토리 대신 액션 항목 및 롤링 액션 항목 목록을 사용하여 시간을 소비하지 않도록하십시오 "시스템은 ..."과 ""때문에 "공식화 할 수 있어야합니다." 그러나 팀 간의 차이에 적응하기 위해서는 팀 측에서 훈련이 필요합니다. 반사 문제를 포착하십시오.
일단 개발에 도달하면 5 회 또는 6 회 반복을 실행 한 다음 고객을 시설에 초대하여 구현의 서브 세트를 볼 수 있습니다. 이 과정을 헹구고 반복하십시오. 일부 방법론에서 요구하는 지속적인 참여는 아니지만 가시성이 높다는 장점이 있습니다. 고객이 거절하면 최소한 시도한 것입니다. 그들이 '예'라고 대답하면 민첩하게 할 수 있습니다. 제가 한 프로젝트에서 고객은 몇 개월마다 (보통 3-5 개월) 사이트를 방문했습니다. 그들은 우리가 QA 테스트를 거치는 것을보고 엔지니어와 문제를 논의하고 프로그램 / 프로젝트 사무실과 비즈니스를 논의 할 것입니다. 모두가 같은 페이지에 올 수있는 기회였습니다.
테스트 및 유지 관리는 다른 애자일 프로젝트와 동일하게 수행됩니다. 적절한 방법으로 테스트 절차를 작성하고 결함을 문서화하고 계약 의무 별 메트릭을 추적하며 테스트 결과를 문서화하십시오. TDD를 따르고 싶다면 가십시오. 지속적인 통합은 또 다른 좋은 아이디어입니다. 프로젝트 상태 회의 중에 프로젝트 관리자는이 정보를 사용하여 "N 요구 사항을 구현하고 M 테스트를 받았으며 X 테스트를 통과했습니다"라고 말하고 돈을 가진 사람들에게 프로젝트 상태 및 상태를 업데이트 할 수 있습니다.
돈에 관해서는 고정 비용 및 / 또는 고정 일정 문제가 있습니다.
고정 된 일정을 다루는 것은 매우 간단합니다. 요구 사항이 주어지면 완료 할 수있는 반복 횟수를 알 수 있습니다. 각 반복에 대한 워크로드는 구현, 테스트 및 통합 할 기능 측면에서 매우 중요합니다. 어려울 수도 있지만 기능을 미리 분리하여 반복에 할당하는 것은 불가능하지 않습니다. 이것은 고객 초대에 관한 요점으로 돌아갑니다. 1 년이 있고 2 주 반복을 사용하는 경우 고객을 분기별로 초대하고 분기마다 초대하고 이전 작업의 결과를 보여줄 수 있습니다. 고객에게 요구 사항의 우선 순위 지정, 향후 계획 및 예약 방법에 대해 알려주십시오.
고정 예산을 다루는 것도 비슷합니다. 당신은 당신이 가진 시간, 프로젝트에 필요한 자원의 수, 비용, 그리고 반복 당 모두가 몇 시간을 일할 수 있는지 알고 있습니다. 모든 사람이 이것을주의 깊게 추적하도록하는 것입니다. 회사에서 초과 근무 비용을 먹을 수 있다면 그렇게하십시오. 그렇지 않으면, 모든 사람이 적절한 시간 동안 일하도록하고 좋은 시간 관리 기술과 시간 복싱을 사용하여 모든 사람의 생산성을 유지하십시오. 보다 생산적인 시간은 비용을 낮추는 데 필요한 것입니다. 회의 및 오버 헤드 비용없이 더 많은 부가 가치 문서와 소프트웨어를 제공하십시오.
궁극적으로 반드시 애자일이 아니라 애자일을 좋게 만들고 민첩하게 만드는 것들을 적용하는 것입니다. 요구 사항의 변화에 대응하고, 고객이 원하지 않더라도 빈번한 소프트웨어를 제공 할 수 있으며, (부가 계약에 따라 생성해야하는 내용과 함께) 부가 가치 문서 만 작성하는 등의 작업을 수행합니다.