문제

나의 회사 단지 그것의 첫번째 대규모 프로젝트 개발 문의를 사용하고 싶은 민첩한 과정입니다.클라이언트에 비전을 가지고 있지만 응용 프로그램 공개적으로 인정하는 데에 매우 몇 가지 요구 사항을 인식하는 우리는 충전 시간입니다.이 때문에 나는 모든하지만 판매에 그는 민첩한 접근 방식이다.

문제는 그가 원하는 그림은 예산을니다.내가 읽은 기사의 수는 꽤 많은 옹호해 주는 추정이기 때문에 클라이언트 예산에 대한 수고도 필요조건으로 변경,수에서 자신의 머리와에서 책을 하지 않습니다.

내가 읽을 수 있는 방법의 요소에 가격을 계약하지만,거의 모두가(저장을 하나)를 통합하면 번호입니다.이 보을 위반하는 전체 세트의 원칙의 민첩한 개발이다.

그래서 제 질문은 당신이는 민첩한 상점,당신은 어떻게 관리 이러한 문제를 피하기 위해 Catch-22 의 민첩한 개발을까?

도움이 되었습니까?

해결책

기본 질문은 다음과 같습니다.

고객은 언제 끝났다고 생각합니까?

그들이 6 월까지 끝날 것이라고 생각한다면, 당신은 민첩한 팀을 제자리에 두었습니다. 6 개월 동안 4-6 명입니다. 그것이 예산입니다. 본질적으로, 당신은 그들을 위해 곱셈을합니다. 팀 * 요율 * 6 개월.

그들이 6 월까지 주로 이루어질 것이라고 생각하지만 그 후에 더 많은 일이있을 것이고, 당신은 9 개월의 일을보고있을 것입니다. 다시 말하지만, 당신은 그들이 스스로 할 수있는 곱셈을하고 있습니다. 팀 * 비율 * 9 개월.

그들이 당신이 가까운 미래의 개발 팀이 될 것이라고 생각한다면, 그들에게 연말까지 프로젝트를 얻을 수있는 가격을주십시오. 팀 * 요율 * 12 개월.

각 릴리스는 조정할 수있는 기회이므로 각 릴리스 가격을 귀하의 물건에 따라 별도의 작업으로 가격을 책정해야합니다. ~ 할 것이다 그 릴리스에서 끝났습니다. 그것은 우선 순위 체계이기 때문에 당신이 구축하는 것을 제어하고, 예산, 단계별 단계를 제어합니다.

종종 고객은 특정 기능 세트의 비용이 얼마인지 알고 싶어합니다. 그 대신에, 그들은 전체 예산 (어리석은)에 대해 묻습니다. 첫 릴리스에서 많은 시간을 보내십시오.

결국, 그들은 근본적인 진실을 볼 것입니다.

그들은 가장 중요한 것부터 가장 중요하지 않은 기능을 구매합니다.. 그들이 올바르게 우선 순위를 정하면 언제든지 돈을 쓰지 않고 유용한 것을 가질 수 있습니다.

완료는 상대적인 용어입니다. 더 이상 돈이 없기 때문에 일부 프로젝트는 "완료"됩니다. 더 이상 시간이 없기 때문에 다른 사람들은 이루어집니다. 드물게 (적어도 소프트웨어 개발에서) 우리는해야 할 일이 부족했기 때문에 프로젝트입니다.

다른 팁

이 상황에서 우리는 첫 번째 작업 덩어리에 대한 견적을 제공 한 다음 클라이언트가 원하는 수준으로 작업을 완료하는 데 필요한대로 더 많은 스프린트를 구매할 수 있도록했습니다.

더 많은 시스템을 개발하고 클라이언트의 피드백을 스프린트 결과물에 통합함에 따라, 관련 작업량에 대한 느낌이 더 좋으며, 따라서 관련 비용을 얻을 수 있습니다.

편집하다: 시원한. 우수합니다! 민첩한 접근 방식으로 그들을 팔았다는 사실에서 BTW Good One! 어쩌면 이것을 들어보세요 "스크럼에 소개"팟 캐스트. 당신은 아마 그들이 지금 필요하다고 생각하는 모든 종과 휘파람을 가질 필요가 없다는 사실에 그들을 팔 수 있습니다.

HTH

건배,

보기의 핵심은 사실 여기에.할 것이 요구를 예측 비용,계약 특정 배송일 및 커밋하는 전체 세트의 전달 기능입니다.

당신은 할 수 없습니다.

"당신은 없다"또는"그것은 것이 현명 할 것이 없습니다";을(모든 사용자에게)할 수 없습니다.을 의미하는 확률의 성공적으로 모든 세 가지 매우 작습니다.

최고의 대답은 투입 비용 및 일정을 반복적인 과정이 빠르게 반복기,그리고 다음 쓰는 계약에는 무엇이 완료 unde 고정 비용 및 일정은 어떤 것이 전달 될 수 있습니다.즉,당신은 계속 제공하는 새로운 기능(고 수정)까지의 시간과 돈을 실행합니다.

사실,심지어 당신 sign up 모든 세,최고 당신이 이제까지 할 수 있는 두 가지 어쨌든.수도뿐만 아니라 열 수 있다.

내가 최근에 알고있는 피진적 인 오래된 정부 계약자는 다음과 같이 말합니다. "매춘부들이 말했듯이, 먼저 위층에 그들을 데려 가야합니다."

그것은 당신의 질문에 대답하지는 않지만 기억할 가치가 있습니다. 그들이 숫자가 없으면 위층에 오지 않을 경우 (그리고 그들은 그렇지 않을 것입니다), 당신은 그들에게 숫자를 주어야합니다.

소프트웨어 프로젝트를 후원하는 사람은 투자에 투자 할 가치가 있는지 여부를 평가할 수 있도록 어떤 종류의 수익을 투자 할 것인지에 대한 아이디어가 필요합니다. 프로젝트는 1 백만 달러이고 12 개월이 걸리면 가치가있을 수 있습니다. 비용이 2 백만 달러이고 24 개월이 걸리면 가치가 없을 수도 있습니다.

실제 질문은 다음과 같습니다. 고객이 투자에 대한 적절한 수익을 실현할 수 있도록 시간 프레임과 예산 내 에서이 프로젝트를 수행 할 수 있습니까? 그 질문에 대한 당신의 대답이 "예"라는 것이라면 프로젝트를 수행하기 위해 당신을 고용해서는 안됩니다. 그렇지 않으면, 그들은 단지 돈을 쓰고 주사위를 굴리고 있습니다.

해당 질문에 대한 현재 답변이 "우리는 아직 모른다"라면 프로젝트를 수행하기 위해 고용해서는 안됩니다. 그렇다고해서 프로젝트가 가치가 있는지 여부를 찾기 위해 당신을 고용해서는 안된다는 의미는 아닙니다. 이것에 대한 좋은 컨설팅에 대한 유행어는 "예비 범위 운동"입니다.

민첩한 개발은 3 차원에서 곡선을 관리하는 것입니다. 예산과 일정이 수정되면 기능 세트가 가변적이어야합니다. 당신은 무엇을 알 수 없습니다 그만큼 최종 기능 세트는 이러한 제약 조건이 주어집니다. 하지만 당신 ~할 수 있다 알고 있다면 해당 제약 내에서 생산할 수있는 기능 세트는 고객이 허용 가능한 범위 내에 속합니다.

당신은 이것을 알 수 있고 그것을 찾을 수 있습니다. 그것을 찾는 것은 회사가 할 수 있고 고객이 할 수없는 일입니다. 그것은 당신이 그들에게 제공 할 수 있고 그들이 당신을 지불 해야하는 서비스입니다. 무료 로이 작업을 수행하려는 유혹을 피하고 판매 비용이라고 부릅니다. 프로젝트 범위는 소프트웨어 개발만큼 전문 서비스의 일부입니다. 당신은 판매를 마감하기 위해 이것을하지 않습니다. 고객이 아직 정보가 충분하지 않은 비즈니스 결정을 내릴 수 있도록이 작업을 수행하고 있습니다.

그러나 먼저 당신은 그들을 위층으로 데려 가야합니다.

이 답변은 정말 훌륭합니다. 공유 할 경험이 많지 않지만 비유를 생각했습니다.

작년에 아내와 나는 부엌을 리모델링했습니다. 계약자는 배관, 하위 플로어 손상 등과 관련하여 무엇을 발견 할 것인지 알지 못했기 때문에 계약자는 시간 및 자재에 대한 청구를 제안했습니다. 우리는 집에서 일하고 있었고 질문에 지속적으로 답변 할 수 있었기 때문에 동의했습니다. 계약자와 나는 좋은 관계를 맺었으므로 무언가가 일어 났을 때, 그는 사무실 문을 자유롭게 두드리는 것을 느꼈고 우리는 그것을 논의 할 것입니다. 결정이 빨리 이루어졌고 작업은 내가 원하는 방식으로 이루어졌습니다. 그것은 민첩한 우선 순위와 비슷해 보입니다 빈번한 고객 검토.

대조적으로, 아내의 사촌도 그의 집을 리모델링하고 있습니다. 그는 응급실 의사이고 그는 그렇습니다 ~ 아니다 리모델링 중에 사이트에서 사용할 수 있습니다. 그래서 그는 계약자들이 그를 상담하지 않고 주요 결정을 내리는 데 정기적으로 놀랐다고 설명했습니다 ( "뭐야? 나는 그 그림 창이 막히고 싶지 않았습니다! 벽을 찢고 창을 그대로 재구성했습니다!")). 이것은 물론 고통스럽게 비싸고 물 밖으로 일정을 날려 버립니다. 분명히 민첩하지 않습니다.

따라서 고객에게 시간 및 재료 모드가 작동 할 것이라고 확신시키는 한 가지 방법은 피드백을 받기 위해 빈번한 진행 보고서를 작성할 수 있도록하는 것입니다. 나는 이것이 이미 대부분의 민첩한 방법론의 핵심 권장 사항이라고 생각합니다. 우선, 물론 이것은 고객이 컨설턴트에게 신뢰를 주어야합니다.

별도의 자원으로서, 나는이 주제에 관한 책을 검색하고 찾았습니다. "민첩한 추정 및 계획"Mike Cohn.

우선, 나는 당신이 그에게 민첩한 접근 방식과 시간당 가격을 팔았다 고 생각하고 싶습니다. 하기가 매우 어렵습니다.

당신의 딜레마와 관련하여, 나는 당신이 그에게 대략적인 가격 추정치와 그 기능 / 범위를 제시해야한다고 생각합니다. 개발 과정에서 범위 / 비용이 바뀔 중요한 중요한 일이 보이면 고객에게 "중지 - 이것은 훌륭하지만 논의한 원래 범위를 변경한다는 것을 이해합니다."

이 시점에서 고객은 동의 할 수있는 특권을 가지고 있으며, 그가 원래 생각했던 것보다 더 많은 돈을 지불하거나 현재 새로운 개발을 중단 할 것이라는 것을 알고 있습니다. 많은 민첩한 프로젝트는 많은 미니 단계로 내장되어있어 가격 / 시간을 매우 정확하게 추정 할 수 있습니다. 새로운 미니 단계가 시작되기 전에, 당신과 고객은 다음에 무엇이 일어나고 있는지, 그리고 얼마나 많은 시간 / 비용을 소비 할 것인지에 대해 눈을 보는 것이 중요합니다.

항상 그렇듯이 품질, 기능 및 시간 (= 리소스)이 주요 매개 변수입니다. 우리는 더 이상 품질을 엉망으로 만들지 않으므로 기능과 리소스 만 남습니다. 상당히 종종 일정량의 리소스가 특정 기능 세트에 최소한 도달 할 것이라고 설득 할 수 있습니다. 따라서 그럴듯한 기능 세트를 제공하는 많은 양의 리소스를 찾을 수있는 한 나는 이것이 많은 고객에게 충분하다고 생각합니다. 거꾸로 이동 중에 진행 상황을 제어 할 수 있으며 항상 백업 옵션이 있다는 것입니다.

내가이 작업을 수행 한 방식은 현재 속도를 사용하고 복잡성의 대략적인 추정치 (스토리 수)를 기반으로 범위를 추정하는 것입니다. 범위 추정치가 점차 점점 더 좋아 지도록 응용 프로그램 계획을 시작할 때이 업데이트를 업데이트합니다.

예를 들어, 6MOS에서 2 년까지의 견적을 제공합니다 (2 년 미만이 소요될 것이라고 확신한다면 기능으로 분류 할 때 해당 기능을 계획하면 더 좋고 더 나은 추정치를 제시합니다. 6MOS가 안정적으로 말할 수있는 후 (다른 변경 사항이 없음), 우리는 또 다른 2-3 개월 (총 8-9 개월) 안에 완료 될 것입니다. 결국, 당신은 당신이 말할 수있는 지점에 도달 할 것입니다. 다음 반복 후 (2 주에서 1 개월).

기능을 추가하면 완료 시간이 증가한다는 것을 고객에게 알리는 다음이 기능을 수행 한 다음 진행 방법을 결정하게하여 기능을 삭제하거나 시간을 늘릴 수 있습니다. 주어진 프로젝트의 경우 범위와 시간은 실제로 효과적으로 변경할 수있는 유일한 변수입니다. 품질과 자원은 거의 고정되어 있습니다. 실제로, 당신은 자원을 추가 할 수 있지만, 일반적으로 시간이 증가하고 품질이 감소하는 것이 처음에는 시간이 길어야 만 작동합니다.

당신이 취할 수있는 한 가지 접근법은 고객에게 비교적 가까이 있다고 생각하는 일반적인 추정치를 제공하는 것입니다. 또한 백분율을 제공합니다. 변화하는 요구 사항으로 인해 예산의 할당량 증가 또는 감소입니다.

예 : 일반적인 추정치 $ 10,000이지만 요구 사항이 모호하고 프로젝트가 코스를 쉽게 변경할 수 있으므로 가격 조정 옵션이 +/- 30%입니다.

이런 식으로 고객은 예산이 무엇인지에 대한 일반적인 아이디어를 가질 수 있으며 프로젝트에 충전 할 때 약간의 유연성이 있습니다.

이것은 정말 힘든 문제입니다. Robert Glass가 그의 책에서 주제에 대해 무엇을 말해야하는지 확인하십시오. "소프트웨어 엔지니어링의 사실과 오류". (Amazon에는 중고보다 적은 책을 사용할 수있는 책이 있습니다. [2009-01-05 기준 12:20-08 : 00]; 또한 Google 도서에서도.)

고객에게 애자일 접근 방식을 성공적으로 판매하고 시간마다 청구 한 경우 프로젝트를 완료하는 데 드는 비용에 대한 견적을주지 마십시오!. 예산 책정 목적으로 만 원한다고해도 하지마!.

그 이유는 모든 비용의 추정치가 명확한 약속으로 취급 될 것이기 때문입니다. 당신이 몇 번이나 말하지 않더라도, 고객이 몇 번이나 이해한다고 말하면, 그것은 약속으로 취급 될 것입니다. 고객이 이해하더라도 상사는 그렇지 않으며, 법적으로 귀하가 말한 가격을 제공하도록 강요 할 수는 없지만 약속 한 것을 전달하지 않는 회사로 알려질 것입니다. 추정치를 제공하면 처음에는 민첩한 이점이 있습니다.

내가 제안한 것은 회계 연도가 끝나기 전에 (또는 고객이 관심이있는 다른 청구 기간)를 소비하지 않을 것이라고 말하는 것입니다. 그때까지 프로젝트가 완료 될 것이라고 말하지 않고 재정적으로 계획하기에 충분해야합니다.

이것은 나의 것입니다 대답 a 닫힌 질문 스토리 포인트와 관련이 있습니다. 나는 이것을 매크로 추정에 항상 사용합니다.

포인트로 전환했을 때, 나는 다음 두 지점을 충족시킬 수있는 경우에만 결정했습니다. 1) 스위치를 정당화하고 팀을 설득하는 것을 찾아서 인수합니다. 2) 쉬운 방법을 찾으십시오.

설득력 있는

그것은 주제에 대한 많은 독서가 필요했지만 마침내 나와 내 팀을 확신시키는 주장을 마침내 발견했습니다. 과제가 취할 시간에 동의 할 두 명의 프로그래머를 찾는 것은 거의 불가능하지만, 두 명의 프로그래머가 거의 항상 동의 할 것입니다. 두 가지 다른 작업을 보여 주면 가장 큰 작업이 가장 큰 작업입니다.

이것은 백 로그를 '추정'하는 데 필요한 유일한 기술입니다. 여기서 나는 '추정'이라는 단어를 사용하지만이 초기 단계에서는 백 로그를 터프에서 쉽게 주문하는 것과 비슷합니다.

백 로그에 포인트를 넣습니다

이 단계는 전체 스크럼 팀의 참여로 이루어집니다.

다음 순서를 유지하면서 새로운 스프레드 시트에서 스토리를 하나씩 삭제하기 시작하십시오. 상단에서 가장 큰 스토리와 맨 아래에서 가장 작은 스토리. 모든 이야기가 목록에있을 때까지 그렇게하십시오.

이제 그 이야기에 포인트를 넣을 시간입니다. 개인적으로 나는 포커 계획 척도 (1/2,1,2,3,5,8,13,20,40,100)를 사용하므로 이것이 제가이 예에서 사용할 것입니다. 그 목록의 맨 아래에는 아마도 마이크로 작업이있을 것입니다 (4 시간 이하의 작업). 모든 마이크로 작업에 1/2의 값을 제공하십시오. 그런 다음 스토리가 훨씬 더 크다는 것이 분명 할 때까지 값 1 (척도의 다음)을 스토리에 제공하여 목록을 계속 유지하십시오 (1 대신 2, 두 배 더 큰). 이제 값 '2'를 사용하여 2 대신 3을 가져야하는 스토리를 찾을 때까지 목록을 계속 유지하십시오.이 프로세스를 목록 상단까지 계속 계속하십시오.

참고 : 1과 13 사이의 대부분의 포인트를 유지하십시오. 처음으로 큰 이야기 (20, 40 및 100)가 많으면 더 작거나 13과 같은 덩어리로 브레이크해야합니다. .

그것이 포인트와 원래 백 로그를위한 것입니다. 새로운 이야기가 있다면, 그 목록과 비교하여 그것이 어디에 맞는지 (더 큰 과정) (더 큰 과정)를 확인하고 이웃의 가치를 부여하십시오.

속도 및 추정 (매크로 계획)

백 로그를 통과하는 데 걸리는 시간을 추정하려면 첫 번째 스프린트 계획을 세우십시오. 팀이 선택한 이야기와 Voila!에 첨부 된 포인트의 총계를 만드십시오. 이것이 첫 번째 속도 측정입니다. 그런 다음 백 로그의 총점을 해당 속도로 나누어 얼마나 많은 스프린트가 필요한지 알 수 있습니다.

그 속도는 처음 2-3 스프린트에서 변하고 정착하므로 항상 그 가치를 주시하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top