3

사용자 스토리로 요구 사항을 작성하려고합니다. 폭포 세계에서 이동하면서, 나는 유스 케이스에 훨씬 더 익숙하다. 내가 사용 사례에 대해 좋아하는 것들의모든 사용 사례의 행동 흐름을 사용자 스토리에 매핑

하나는 시스템과 각 상호 작용이 잘 정의뿐만 아니라 모두 같은 행동의 대체 및 예외 흐름입니다.

UC-01

성공 시나리오 :

  1. 사용자는
  2. 사용자는
  3. 사용자는 계약 이름을 채우고 추가 계약 버튼을 클릭 고객에게 탐색, 계약 번호, 이 시스템은 확인을 요청 날짜 및 종료 날짜 필드를
  4. 를 시작
  5. 사용자는 클릭 수 t을 채 웁니다 그는 버튼을 저장하고 계약은

예외

5A 저장됩니다. 사용자는 중단하고, 계약은

가 대체

1A 흐름 저장되지 않습니다. 사용자는 예외 및 대체 흐름이 애자일 방식으로 캡처 할 것입니다 고객

을 선택하려면 필터를 사용?

+2

프로그래밍에 관한 것이 아니기 때문에이 질문을 주제로 끝내기로했습니다. –

+0

pm.stackexchange.com? – pinkpanther

답변

1

이렇게 캡처되지 않습니다.

잘못된 각도에서 사용자 스토리에 접근하고 있습니다. 폭포에서 오는 것은 꽤 흔한 오해입니다.

무언가 같이이 예제에있는 당신의 이야기는해야한다 : 나는 고객에게 계약을 추가 할 사용자로서

있도록 당신이 할 수있는 예에서 [여기에 삽입 값]

두 가지를주의 :

  1. 나는이 이야기의 가 무엇인지 아무 생각이 없기 때문에 나는 그것을 마칠 수 없습니다 고객에게. 이것은 이야기를 둘러싼 모든 협상을 이끌어 내기 때문에 매우 중요합니다. 예를 들어, 매우 가치가있는 이야기에 많은 시간을 쓰고 싶지는 않습니다.

  2. 많은 세부 사항이 없습니다. 이야기가 에게 문제 나 기회 아닌 솔루션을 캡처하기 때문에이이 목적에 있습니다. 사용자가이므로 고객에게 계약을 추가하는 것을 목표로하는 많은 이론적 방법이 있습니다.

이야기의 초점은 자신의 목표를 달성 사용자를시키는있다.

일반적으로 당신은 당신이 현재 이야기 또는 ALM 도구에서 메모 필드에 "카드의 뒷면"에 구현 될 것 추측 방법에 대한 세부 사항을 기록 할 수 있지만 내가 만들려고 노력하고있는 점이다 이야기는 구현 방법에있어 협상이 가능합니다.

개발자는 가// 프로토 타입을 논의 이야기의 목적은 효율적이고 효과적으로 달성 될 수 있도록 여러 가지 가능한 해결 방법을 사용해 반복 동안 고객 담당자 와 상호 작용하는을 것으로 예상된다.

매우 간단하면서도 모범이면서도 전형적인 예입니다 : 가장자리 케이스, 대체 플로우 또는 예외를 잊어 버리면 어떨까요? 스토리로는 문제가되지 않습니다. 개발자가 제품을 발견하고 제품 담당자와 대화하며 처리 계획을 세웁니다.

이러한 사례를 처리하는 것이 사용자 스토리의 일부임을 분명히하기 때문에 이렇게 할 수 있습니다. 솔루션이 달성해야하는 것 대신에 솔루션이 무엇인지에 대한 규범적인 요구 사항은 그렇지 않습니다.

+1

사이드 노트 : 모든 것을 정면으로 결정할 수 있다면, 마음을 바꿀 필요가 없으며 민첩함이 필요하지 않습니다. 애자일은 불완전한 지식의 가정에서 시작하여 잠재적으로 결코 행해지 지 않을 물건에 최소한의 시간을 보내는 데 중점을 둡니다. – Sklivvz

+0

당신은 downvote에 대한 이유를 줄 수 있습니까? – k3b

+0

@ k3b 실수였습니다. –

-1

이야기를 처음 캡처 할 때는 매우 짧고 이점에 초점을 맞춰야합니다.

팀과 솔루션을 논의하고 구현을 시작할 준비가되면 자세한 내용을 문서화해야합니다.

나는 감안할 때 좋아// 그런 다음 포맷하고 난 (다를 수 있습니다 실제 목표,하지만 여전히 당신은 주요 아이디어를 얻을 수 있습니다)이에이 사용 케이스를 다시 써서 때 :

Title: 
As a user I want to add contract to customers so that I can track contracts history 

Given customers list 
When user clicks to Customer 
Then he sees Customer Details view 
And Add Contract button 
[mockup] 

Given Customer Details view 
When user clicks Add Contract button 
Then he see a popup with fields: 
Contract Name - field spec: [default value, max lenth, etc] 
Contract # - [field spec] 
Start Date - [field spec] 
End Date - [field spec] 
[form mockup] 

Given user filled form correctly 
When he click Save button 
Then he sees confirmation dialog ["Do you really want to add this contract?"] 

[ 참고 :이 확인이

Given user see a confirmation dialog 
When he clicks Yes 
Then the contract is saved 
And user sees success message "Contract is saved for customer XXX" 


Given user see a confirmation dialog 
When he clicks No 
Then the contract is not saved 
And confirmation dialog closes 

참고] 바보 필요하지 생각 : 가장 가능성이 시나리오는 별도의 사용자 스토리

Given home page 
When I click Add Contract link 
Then I see Contract form 
And "Select customer" drop down field 

... 
입니다알다시피, Given/When/Then 형식을 사용하여 사용자 이야기를 쉽게 설명 할 수 있습니다. 사용자 스토리의 진정한 가치를 포착하는 것이 중요합니다. 그렇지 않으면 비즈니스 관점에서 볼 때 매우 나쁜 결정을 내리는 것은 매우 쉽습니다.

+0

나는 동의하지 않는다. 그때가 수용 테스트를위한 것이지 이야기를위한 것이 아닙니다. 또한 이야기는 반복 과정에서 논의 될 수 있기 때문에 열어야합니다. 이것은 차례로 민첩하기 위해서 기본적입니다. Agile은 고정 경로의 자동 조종 장치를 개발자에게 설정하는 것과 반대입니다. – Sklivvz

+0

"민첩성을 위해"프로세스를 개선하고 컨텍스트에서 좋은 일을해야합니다. 컨텍스트는 모든 것입니다. 오픈 설명은 초기 백 로그 캡처에 적합하지만 일반적으로 실제 개발이 시작될 때 충분하지 않습니다. 그렇지 않으면 다시 작업하고, 다시 작업하고, 다시 작업해야합니다. 어쩌면 제품 소유자가 하루에 여러 번 방문하여 "이봐,이 팝업을 다시 변경하고 싶다"라고 말하면서 상황을 좋아할 지 모르지만 대부분의 사람들은 그렇지 않습니다. 그래서 결국 괜찮은 요구 사항을 설명해야합니다. –

+0

잘못된 그림을 그렸습니다. 무엇을 피하고 싶은가는 PO가 고립되어 개발자와 별도로 애플리케이션을 설계하는 것이다. 그런 다음 기능의 피드백주기가 제정되기 전에 1 회 이상의 반복 지연이 발생합니다. 성공적인 민첩한 채택은 종종 피드백주기를 단축하는 것에 달려 있습니다. 어쨌든 비즈니스와 개발자가 함께 일하는 것이 민첩한 선언의 네 가지 원칙 중 하나입니다. – Sklivvz

0
> Where would the exception and alternate flows be captured in an Agile approach? 

유스 케이스는 기능 문서의 한 형태입니다. 이 문서는 중 또는 실행 한 후

  • (폭포 specificatoin)를 구현하기 전에
    • 을 만들거나 할 수 전혀 당신은 단지 기능의 요청을했을 스크럼에서

    (아길) "고객 추가"시나리오없이 백 로그.

  • 0

    많은 민첩한 관행은 수용 기준이있는 사용자 사례로 요구 사항을 작성해야한다고 지시하지 않습니다. 필요한 모든 것은 주문 된 요구 사항 목록 (제품 백 로그라고도 함)입니다. 스프린트 계획 세션에서 팀에게 이러한 요구 사항을 제공 할 때 팀이 이해하고 구축 할 수있을만큼 명확한 최소한의 정보 여야합니다. 너무 적은 손질을하고 요구 사항을 분석하는 것 사이에 훌륭한 선이 있습니다. 이것은 올바르게되기까지 시간이 걸립니다.

    사용자 스토리는 다른 형식의 요구 사항이 특정 대상에만 한정되는 프로세스에 관련된 여러 당사자에게 의미가 있으므로 일반적으로 사용됩니다. 즉, 유스 케이스를 읽고 이해하는 방법을 사람들에게 가르쳐야하지만 사용자 사례에 대해서는 그렇게 할 필요가 없습니다. 분명히 그것을 쓰는 것은 다른 문제입니다.

    0

    나는 @Sklivvz와 @ k3b 답변을 좋아합니다.

    예를 들어.

    첫 번째 : Sklivvz가 쓴대로 User Story는 문제와 목표를 정의합니다. 사이드 트랙과 예외에 대한 의견이 다릅니다. 그것들은 내 눈에는 작은 이야기입니다. 거기에 자신의 우선 순위. 나는. 프로세스를 취소하는 기능은 일부 유효성 검증 문제 스토리보다 우선 순위가 높을 수 있습니다.

    짧은 나의 대답

    : 주요 목표, 측면 목표, 예외 및 대체 흐름에 대한 이야기를 작성합니다.

    긍정적 인 부작용 : 제품 소유자 (당신?)는 그 이야기의 우선 순위를 매길 수 있습니다.

    0

    위의 내용 중 일부에 동의하며 다음을 추가하고 싶습니다 (유용함).

    사용 사례는 폭포에만 구체적/관련이있는 것이 아니며 시스템의 시각적 동작 (사용 사례)과 이러한 동작과 다른 시스템 동작 및 외부 엔터티 간의 관계 (배우)에 불과합니다. .

    유스 케이스와 유스 케이스 시나리오에서 사용자 스토리를 자세히 설명 할 수없는 이유는 없습니다.

    당신이 연습하고 있기 때문에 (단지 추측 할 만하지만 제한적이지 않음) 애자일은 물건을 디자인 할 수 없다는 것을 의미하지 않는다는 것을 기억하십시오. 디자인에 결과물, 즉 제품에 대해 더 많은 가치를 부여하지 마십시오 (복잡한 안전 시스템에서도 마찬가지입니다).

    관련 문제