사업자 외의 동축 요구 사항?


27

비 기술인의 요구 사항을 동원하는 데 가장 효과적인 방법은 무엇입니까? 프로젝트에 대한 사양을 모 으려고하는 팀과 협력하고 있습니다. 우리가 만날 때마다 다음 회의에 대한 기대에 부딪 치면 우리는 사업가들에게 요구 사항을 다시 가져 오도록 요청합니다. 그들은 일반적으로 다음과 같이 응답합니다.“글쎄, 여러분들은 다음 주에 우리가 좋아하는 것을 볼 수 있도록 프로토 타입을 채울 수 있다고 생각하십니까? 프로토 타입이기 때문에 데이터 나 어떤 것도 아니고 기능성 일뿐입니다.” 6 개월 더하기 프로젝트이므로 분명히 불가능합니다 (우리는 모든 것을 개발해야합니다!), 우리는 어떤 종류의 사양없이 프로토 타입을 만들어야할지조차 모릅니다. 솔직히, 나는 대부분의 사람들처럼 생각하고, 그들이 원하는 것에 대한 아이디어를 가지고 있으며, 진정한 요구 사항을 수집하는 데 필요한 집중된 방식으로 그것에 대해 생각하지 않습니다. 단순히 그들에게 말하는 대신에, “우리가 원하는 것을 주거나 어떤 일도 할 수 없거나 할 수없는 일”(우리는 그들이 결과에 만족하기를 원합니다), 그들이 원하는 것을 결정하도록 도울 방법이 있습니까? 예를 들어 다음과 같이 말할 수 있습니다.

“보려는 모든 데이터와 여백에있는 기능에 대한 설명이 포함 된 UI를 표시하는 일부 화면 (Powerpoint, 냅킨 등)을 그립니다. 이를 통해 이러한 행동 요구 사항을 바탕으로이를 정리하고 백엔드를 구축 할 것입니다.”

또는

“지금 당장 어떻게 보일지 걱정하지 마십시오 (1 번 전화 끊기). 프로그램이 추적하는 각 항목에 대해 원하는 모든 데이터 목록을 제공하십시오. 따라서“고객”의 경우 이름, 주소, 전화 번호, 주문 등을 나열 할 수 있습니다. 완벽한 데이터베이스 구조 일 필요는 없지만, 이것으로 무언가를 해결할 수 있으며 원하는 것을 알 수 있습니다.”

이 대체 방법 중 하나를 사용하여 비즈니스 사람들이 원하는 내용에 집중할 수 있습니까? 실제로 본 대안이 있습니까?


18
나는 항상 조직 범죄로부터 요구 사항 분석가를 고용하는 것에 대해 공상했다. "어떻게 회계 데이터에 액세스 할 수 있어야하는지 말해 줄까?
David Thornley

7
"혼란보다 진실이 더 빨리 잘못 될 것이다." (프레드 브룩스 (Fred Brooks)가 인용 한 프랜시스 베이컨 (Francis Bacon) 경) 당신이 기지에서 벗어나더라도 그들이 원하는대로 특정 용어로 원하는 것을 말하고 보여줍니다. 그들은 당신을 바로 잡을 것입니다. 이해가 올 때까지 몇 번 반복하십시오.

답변:


22

나는 지난 3 개월 동안 주요 프로젝트의 철저하고 소진 된 요구 사항 수집 단계에서 보냈으며 무엇보다도 단일 솔루션에 대한 솔루션이 없다는 것을 배웠다 . 모든 경우에 작동 할 프로세스와 비밀은 없습니다. 요구 사항 분석은 진정한 기술이며,이를 완전히 이해했다고 생각할 때 완전히 다른 사람들 그룹에 노출되어 알고있는 모든 것을 창 밖으로 내야합니다.

내가 배운 몇 가지 교훈 :

  • 다른 이해 관계자들은 다른 수준의 추상화를 생각합니다.

    쉬운 "비즈니스 수준의 이야기, 기술하지", 그러나 그것은 쉬운 것을 반드시 않다 . 당신이 디자인하고있는 시스템은 코끼리이며 이해 관계자들은 그것을 보는 맹인 입니다. 어떤 사람들은 프로세스와 일상에 깊이 몰두 하여 비즈니스 있다는 것을조차조차 알지 못합니다 . 다른 사람들은 원하는 추상화 수준에서 일할 수 있지만 과장되거나 허위 주장을하거나 경향이있는 희망을 가질 수 있습니다.

    불행히도, 당신은 단순히 모든 개인 개인으로 알고 그들의 생각을 이해하고, 그들이 말하는 것을 해석하는 방법을 배우고, 무엇을 무시할지 결정해야합니다.

  • 나누고 정복

    무언가를 원하지 않으면위원회에 보내십시오.

    위원회를 만나지 마십시오. 회의는 가능한 한 작게 유지하십시오. YMMV, 그러나 내 경험상 이상적인 크기는 공개 세션의 경우 3-4 명 (자신 포함)과 비공개 세션의 경우 2-3 명입니다 (예 : 특정 질문에 대한 답변이 필요한 경우).

    나는 사업에서 비슷한 기능을 가진 사람들을 만나려고 노력합니다. 콩 카운터로 방에 마케팅 담당자를 던져서 얻는 것이 거의없고 잃을 것이 많습니다. 한 주제에 대해 전문가 인 사람들을 찾아 그 주제에 대해 이야기하도록합니다.

  • 준비가없는 회의는 목적없는 회의입니다.

    다른 몇 가지 답변 / 의견은 straw-man 기술을 언급했으며, 이는 답을 얻을 수없는 귀찮은 사람들에게 훌륭한 기술입니다. 그러나 밀짚 남성에게 너무 의존하지 마십시오. 그렇지 않으면 사람들이 당신이 그들을 철도처럼 느끼기 시작할 것입니다. 당신은 사람들을 올바른 방향으로 부드럽게 움직여서 그들 스스로를 구체적으로 생각해 내도록해야합니다.

    당신이 필요로하는 것은 당신이 사업을 어떻게 생각하는지와 시스템 어떻게 작동하는지에 대한 일종의 정신적 모델입니다 . 해당 특정 회사의 전문가가 아닌 경우에도 도메인 전문가가되어야합니다 . 비즈니스, 경쟁사, 시장에 나와있는 기존 시스템 및 원격 관련이있을 수있는 모든 것에 대해 가능한 한 많은 조사를 수행하십시오.

    그 시점에서, 나는 모든 사람에게 호의적 인 경향이있는 유스 케이스와 같은 고급 구조로 작업하는 것이 가장 효과적이라는 것을 알았지 만 여전히 구체적인 질문을하는 것이 중요합니다. "고객에게 어떻게 청구합니까?"로 시작하는 경우 , 당신은 매우 긴 회의에 있습니다. 시작 단계에서 프로세스를 수행하는 대신 프로세스 를 암시 하는 질문을 하십시오. 광고 항목이란 무엇입니까? 그들은 어떻게 계산됩니까? 얼마나 자주 변경됩니까? 여러 종류의 판매 또는 계약이 있습니까? 그들은 어디에서 인쇄됩니까? 당신은 아이디어를 얻습니다.

    단계를 놓치면 대개 누군가 말해 줄 것입니다. 아무도 불평하지 않으면 프로세스를 암시 적으로 확인했기 때문에 뒷면에 가볍게 두 드리십시오.

  • 주 제외 토론 연기 .

    요구 사항 분석가로서 진행자 역할도 수행하고 있으며, 회의에서 시간을 보내는 것을 즐기지 않으면 상황을 추적 할 수있는 방법을 찾아야합니다. 아이러니하게도,이 문제는 마지막 때 대부분의 악성됩니다 않는 사람들이 말하는 얻을. 조심하지 않으면 트랙을 세우는 데 많은 시간을 소비 한 열차를 탈선시킬 수 있습니다.

    하지만 오래 전에이 방법을 배웠습니다. 사람들에게 문제와 관련이 없다고 말할 수는 없습니다 . 분명히 그들 과 관련이 있습니다 . 그렇지 않으면 그들은 그것에 대해 이야기하지 않을 것입니다. 당신의 임무는 사람들이 가능한 한 "예"라고 말하고 그와 같은 장벽을 세우는 것만으로 "아니오"영역에 빠지게하는 것입니다.

    이것은 많은 사람들이 "행동 항목"으로 유지할 수있는 미묘한 균형입니다. 기본적으로 언젠가 다시 돌아오겠다고 약속 한 일반적인 토론 대기열입니다 . 이 아닌 단지 외교을 위하여 - 그것은 또한 당신이 회의에서했다, 누가 무엇을 기억 돕는 유용한 도구의 이야기에 당신이 나중에 설명을 필요로하는 경우에.

    다른 분석가들은 이것을 다른 방식으로 처리합니다. 매우 공개적인 화이트 보드 또는 플립 차트 로그와 같은 일부는 노트북에 자동으로 두드려 다른 주제를 조심스럽게 사용합니다. 편안하게 느끼는 것

  • 당신은 의제가 필요합니다

    이것은 거의 모든 종류의 회의에 해당되지만 아마도 요구 사항 회의에 대해서는 사실입니다. 토론이 진행됨에 따라 사람들의 마음이 떠돌기 시작하고 그들이 정말로 관심있는 일에 도달 할 때 궁금해지기 시작합니다. 의제를 갖는 것은 일부 구조를 제공하며, 위에서 언급 한 것처럼 주제를 벗어난 토론을 연기해야 ​​할 때 결정하는 데 도움이됩니다.

    정확히 당신이 포함 할 것입니다에 대한 명확한 생각없이 거기에 다니지 마십시오 . 그렇지 않으면 자신의 진행 상황을 평가할 방법이 없으며, 사용자는 항상 다른 이유로 인해 오랫동안 당신을 미워하지 않는다고 가정하여 당신을 오랫동안 미워하게 될 것입니다.

  • 모의

    PowerPoint 또는 Visio를 모형 도구로 사용하면 도구가 너무 세련되게 표시 되는 문제가 발생할 수 있습니다. 거의 사용자 인터페이스의 거친 계곡 입니다. (같은 도구를 사용하여 냅킨 도면과 같이 있음 또는 컴퓨터에서 생성 된 도면 사람들은 냅킨 도면과 함께 편안하게 느낄 것이다 Balsamiq 또는 SketchFlow를가 그들이 때문에), 같은 이유로 사람들이 만화 캐릭터를 볼 수 있습니다 - 그것은 진짜 아니다. 그러나 실제 UI처럼 보이기 시작하면 더 많은 사람들이 더 많은 것을 고르고 싶어 할 것이며 궁극적으로 중요하지 않은 세부 사항에 대해 논쟁하는 데 더 많은 시간을 할애하게됩니다.

    따라서 ( 초기 분석 단계 후) 요구 사항에 대한 이해를 테스트하기 위해 실물 크기의 모형을 만드십시오 -매우 빠르고 자세한 피드백을 얻는 좋은 방법입니다. 그러나 lo-fi를 유지하고 조롱하기 전에 서두르지 마십시오. 사용자와 눈을 마주보고 있는지 확인하십시오.

    있다는 사실을 숙지 모의까지이 결과물 아니다 , 이해에 도움이되는 도구입니다. UI 디자인을 할 때 모의에 사로 잡히기를 기대하지 않는 것처럼 디자인이 단순히 모의 업에 엄지 손가락을 줬기 때문에 디자인이 정상이라고 가정 할 수 없습니다. 나는 목을 목발로 사용하는 것을 보았습니다. 그렇게하지 않는지 확인하십시오. 돌아가서 그 모의를 실제 요구 사항 세트로 바꾸십시오.

  • 인내심을 가지십시오.

    이것은 많은 프로그래머가 믿기 어렵지만 대부분의 사소한 프로젝트의 경우 한 번만 앉아서 완벽한 기능 사양을 만들 수는 없습니다. 한 번의 회의에서 인내심에 대해서만 말하는 것이 아닙니다. 요구 사항 분석은 코드와 동일한 방식으로 반복됩니다. 그룹 A는 무언가를 말하고 그룹 B는 당신이 그룹 A로부터들은 것과 완전히 모순되는 말을합니다. 그러면 그룹 A는 불일치를 설명하고 그룹 C는 언급하지 않은 것으로 판명됩니다. 500 회 반복하면 대략 비슷한 사실이 있습니다.

    작은 CRUD 응용 프로그램을 개발하지 않는 한 (이 경우 요구 사항을 전혀 신경 쓰지 않는 이유는 무엇입니까?) 한 번 또는 두 번 또는 다섯 번에 필요한 모든 것을 얻을 것으로 기대하지 마십시오. 당신은 많이 듣고 많이 말하고 자신을 많이 반복하게 될 것입니다. 끔찍한 일이 아닙니다. 결과물에 필연적으로 사인을 할 사람들과 관계를 맺을 수있는 기회입니다.

  • 기술을 바꾸거나 즉흥적으로 행동하는 것을 두려워하지 마십시오.

    프로젝트의 다른 측면은 실제로 다른 분석 기술을 요구할 수 있습니다. 경우에 따라 클래식 UML (사용 사례 / 활동 다이어그램)이 효과적입니다. 다른 경우에는 비즈니스 KSI로 시작하거나 마인드 맵으로 브레인 스토밍하거나 초기 경고에도 불구하고 목업에 직접 뛰어들 수 있습니다.

    결론은 도메인을 직접 이해하고 다른 사람의 시간을 낭비하기 전에 숙제를해야한다는 것입니다. 특정 부서 나 구성 요소에 유스 케이스가 하나만 있지만 미친 듯이 복잡한 경우 유스 케이스 분석을 건너 뛰고 워크 플로우 또는 데이터 플로우에 대해 이야기하십시오. 앱 구현의 모든 부분에 동일한 도구를 사용하지 않는다면 요구 사항의 모든 부분에 동일한 도구를 사용하는 이유는 무엇입니까?

  • 귀를 땅에 대십시오.

    요구 사항 분석을 위해 읽은 모든 힌트와 팁 중에서 가장 자주 간과되는 정보 일 것입니다. 솔직히 내가 예정된 회의에서보다 더 멋진 도청 대화와 때때로 충돌하는 수랭식 대화를 배웠다고 생각합니다.

    독립적으로 작업하는 데 익숙하다면, 대화가 들리는 곳을 찾아서 대화를들을 수 있도록하십시오. 당신이 할 수 없다면, 자주 부엌, 화장실 또는 어디서나 라운드를하십시오. 커피와 연기가 났을 때 사람들이 자랑하거나 불평하는 것에 귀를 기울이는 방식으로 비즈니스가 실제로 어떻게 운영 되는지에 대한 모든 종류의 흥미로운 것들을 알게 될 것 입니다.

  • 마지막으로 줄 사이를 읽으십시오 .

    과거의 가장 큰 실수 중 하나는 최종 결과에 너무 집중되어 사람들이하는 말 을 실제로 들을 시간 이 없었습니다 . 때때로-많은 시간-사람들이 전혀 무의미하게 들리는 절차에 대해 아무 소리도 내지 않거나 소리를 지르는 것처럼 들릴지 모르지만, 그들이 말하는 것에 정말로 집중 한다면 , 실제로는 거기에 묻힌 요구 사항 – 또는 여러 가지.

    들리는 것처럼 들리고 불쾌한 것처럼 Five Whys 는 여기서 매우 유용한 기술입니다. 당신이 무릎을 꿇고 "멍청한"반응을 가질 때마다 (당신은 그것을 크게 말하지 않을 것입니다), 스스로를 멈추고 질문으로 바꾸십시오 : 왜? 이 정보가 네 번 다시 입력 된 다음 인쇄, 복사, 스캔, 다시 인쇄, 파티클 보드에 고정, 디지털 카메라로 촬영 한 후 영업 관리자에게 전자 메일로 전송되는 이유는 무엇입니까? 이유는 , 그들은 그것이 무엇인지 모르지만, 알아내는 당신의 일이다. 행운을 빌어 요. ;)


4
프로그래머 SE에서 본 가장 유쾌한 답변 중 하나 인 +1!
Morgan Herlocker

19

당신이 그들에게서 무언가를 얻을 수 없다면, 무언가를 쓰고 승인하십시오. 기술이 아닌 사람들이 '아니요, 싫어요'라고 말하는 것이 '이것이 당신이 어떻게해야하는지'보다 훨씬 쉽습니다.

종종 그들이 원하는 것과 그들이 당신에게 말하는 것은 매우 다른 두 가지입니다. 현재 알고있는 정보로 사양의 첫 번째 초안을 작성하는 데 시간이 걸립니다. 이해 관계자들에게 그것을 읽고 승인하도록 요청하십시오. 그들이 읽을 때, 그들이 좋아하지 않거나 동의하지 않는 것을 보게 될 것입니다. 피드백을 받고 수정하십시오.

어떤 방법 으로든 갈 수있는 것이 있다면, 두 옵션을 모두 온라인으로하여 의사 결정자가 선택하도록하십시오. 그들이 할 때까지 혼자 두지 마십시오.

프로토 타입은 스크린 모형을 만들고 대신 작동 방식을 설명하십시오. 다시 한 번, 무언가를 보면 상황을 시각화하는 데 도움이됩니다. 회의에 새로운 화면 모형을 가져 가서 답변을 얻으십시오.

과거에는 실제로 FireBug를 열고 고객이 직접 요청한 변경 사항을 추가하여 고객이 어떻게 생겼는지 확인할 수있었습니다. 그들은 피드백을 주었고 스크린 샷을 찍고 변경 사항을 구현했습니다. 그들은 변화가 어떻게 생겼는지 볼 수 있기를 정말로 좋아했고, 빠른 속도로 그것을 좋아했고 그 회의에서 내 대답을 얻었습니다 ... 다음 회의는 아닙니다.


2
+1. strawman 기술은 최종 사용자가 자신이하는 일에 대해 생각할 수있는 유일한 방법 인 경우가 많습니다. 업무가 너무 자동적이어서 실제로 생각하기가 어렵습니다.
DaveE

솔직히 말하자면 (프로그래머 포함) 누구든지 "아니요, 싫어요. 이걸 원합니다."보다는 "변경하기를 원합니다." 프로젝트 전체를 한 번에 생각하지 않고 즉각적인 과제에 집중하는 데 도움이된다고 생각합니다.
Earlz

"I want this"대신 "No I like 싫습니다"라고 말하면 +1됩니다. 회사가 원하는 것을 정확히 모른다면 이것이 내가 시도하고 취하는 접근법입니다.
Rachel

11

비즈니스에 대해 더 많이 이야기하고 응용 프로그램에 대해서는 덜 이야기하십시오. 실제 문제가 무엇인지 알아보십시오. 월말보고에 시간이 오래 걸리고, 데이터 입력 오류가 발생하고, 현재 응용 프로그램을 능가했으며, 회사 성장이 어려워지고 있습니다.

이 회의는 구매하는 사람들과 실제로는 응용 프로그램과 관련된 작업을 수행하는 사람들이 아닌 것으로 추측됩니다. 이 사람들 중 몇 명과 만날 수 있는지 물어보십시오. 일이 실제로 어떻게 이루어지는 지 보여줄 수 있습니다. 시간과 비용을 예산으로 책정 한 고객과 거래하고 있는지 확인하십시오.

현재 사용 중이거나 사용하려는 보고서가 있는지 확인하십시오. 데이터를 올바르게 수집하지 않으면 보고서를 작성할 수 없습니다. 아직 시작하지 않은 사업이 아니라면 뭔가를해야합니다.

많은 사람들이 프로그래머라는 일반적인 개념을 가지고 있으므로 모든 프로그램을 작성하는 방법을 알고 있습니다. 전자 상거래 사이트는 모두 동일합니다.

작게 시작하십시오. 불행히도, 당신이 그들 앞에서 무언가를 얻을 때까지 프로세스는 등록되지 않습니다. 갈 것이 없다면 가짜로 만드십시오.


제프 말이 맞아 해결해야 할 실제 비즈니스 문제에 대해 이야기하게하십시오. 그런 다음 빠르고 저렴하게 할 수있는 일을 생각해보십시오. 당신이 그것을 제공하면, 당신은 배고프지 않을 것입니다.
Christopher Mahan

"비즈니스에 대해 더 많이 이야기하고 응용 프로그램에 대해서는 덜 이야기하십시오."+1 그것은 하나의 황금률입니다.
DPD

8

이 중 많은 부분이 일반적인 대인 관계 기술과 고객과의 의사 소통 방법과 관련이 있습니다. 그 이상으로 말할 수있는 것은 많지 않습니다. 프로세스를 대화식 프로세스로 설명해야합니다. 여기서 클라이언트 측에서도 피드백과 노력을 기대할 수 있습니다.

구체적으로 설명한 시나리오의 경우 다음과 같은 추가 조언이 있습니다. 유용한 정보를 설명하고 기술 전문 화나 노하우가 필요하지 않은 용어로 정보를 설명하는 수단을 제공하십시오.

  • 사용자 사례 / 사용 사례 사용자가해야 할 일, 수행하기 위해 필요한 정보 및 사용자가 직접 입력해야하는 내용에 대해 자세히 설명하십시오. 이 정보를 얻은 후에는 정보를 살펴보고 모든 내용이 기사로 덮여 있는지 확인하십시오. 응용 프로그램에 들어갈 내용이 없어야합니다. 여기서 사용자가 수행 할 내용을 다루는 기사가 없습니다.

  • 매력적인 데모 고객을 확보하기 위해 더 중요한 것은 무엇입니까? 프로그램 또는 기능 중 어느 부분이 눈에 띄어 야하며 완전히 연마되어야합니까? 노트 나 골판지 상자 또는 기타 스탠드 인을 사용하여 실물 모형 데모를 제공 할 수 있습니까?

  • 시장 / 경쟁 정보 각 사용자 스토리에 대해 경쟁사와 비슷한 작업을 수행하고 있습니까? 다른? 경쟁 업체는 어떤 이야기를하고 있으며, 의도적으로 다른 것을 복사 / 에뮬레이션 / 개선 / 혁신 / 고려하려고합니까?

  • 열린 질문 요구 사항 및 디자인 중 확실하고 유용한 정보는 무엇입니까? 어느 것이 효과가 있는지 알기 위해 대안을 어디에서 시도 할 것입니까? 여러 대안을보고 있는데 한 가지만 말한 경우 다른 고려 사항은 무엇입니까?

그런 다음 몇 가지 경계를 그립니다.

  • 나에게 기술적 제한을 두지 마십시오 . 비즈니스 사람은 "리눅스보다 낫기 때문에 창을 사용하십시오"라고 말해서는 안됩니다. 그러나 "모든 대상 시장에서 창을 사용하므로 성공하려면 응용 프로그램을 창에서 실행해야합니다."

  • 디자인에 대해 걱정하지 마십시오. 특히 영업 또는 마케팅을 지향하는 사람들을 다루는 경우 디자인 문제로 인해 혼란에 빠질 수 있습니다. 다시, 정보의 범위를 전문 분야로 좁히십시오. "여기서 파란색이 더 아름답습니다"는 적절하지 않습니다. "우리의 경쟁 업체는 파란색 테마를 사용하고 있으며 80 년대 이래로 혁신하지 않은 프로그램의 일부에 대해 우리가 새로운 것이 아니라는 것을 알리기 위해 파란색 구성표를 사용해야합니다." "이름은 화면 상단에 있어야합니다"는 적절하지 않지만 "이 페이지에서 가장 중요한 정보는 사용자 이름과 은행 계좌 잔고"일 것입니다. 디자이너가 이러한 요구 사항을 UI로 변환하는 데 관여해야합니다.

  • 결정 사항을 적어 두십시오. 계약 또는 다른 약속에 따라 결정하십시오. 그러나 고객이 이해하지 못하는 결정은 그 문서에 적힌 가치가 없다는 것을 기억하십시오. "응용 프로그램이 포트 1521에서 실행 됨"에서 사인 오프 한 고객은 "응용 프로그램이 구성 가능하고 사용자 정의 된 포트에서 실행되므로 전개시 방화벽 및 보안에 대한 특수 구성이 필요할 수 있습니다. "

프로세스가 계속되도록 장려하기 위해 :

  • 동일한 수준의 추상화로 피드백 제공 이것은 예를 들어, 단위에 대한 것입니다. 고객이 월별 사용자와 대화하는 경우 기가비트 대역폭으로 응답하지 않습니다. 또는 사용 사례-모듈 또는 버그 수정 또는 기능이 아닌 실제 사용 사례 측면에서 기능을 설명합니다.

  • 의미있는 의사 소통 제공 귀하에게 제공된 정보와 관련하여 귀하가 가진 질문과 발견하거나 찾은 추가 정보를 구하십시오. "우리는 리눅스를 사용하고있다"는 글은 좋지 않은 피드백 일 것이다. "우리의 테스트는 리눅스 머신에서 호스팅되고 윈도우에서 IE로 액세스 할 때 응용 프로그램이 더 원활하게 실행된다는 것을 보여준다"는 것이 더 적절할 수있다.

  • 신속하게 반복 클라이언트의 참여를 유지하려면 빠르고 의미있는 업데이트 및 반복을 제공하십시오. 프로세스가 시작될 때 입수 할 수 없었거나 입수하기 쉽지 않은 사양 및 정보는 고객이 비용을 지불하지 않는 동안 고객에게 지불하는 데 많은 노력을 기울일 수 있습니다. 고객이 프로세스에 참여하고 투자하게함으로써 업무가 시간과 노력을 투자해야 할 때 도움이 될 수 있습니다.


5

고객, 비즈니스맨은 어떤 종류의 문제가 있거나, 어떤 종류의 기술 솔루션을 원하지만 솔루션의 작동 방식에 대해서는 거의 알지 못하므로 잠재적 인 솔루션을 지정하는 방법에 대한 아이디어는 거의 없습니다. 그렇다면 누락 된 역할은 고객, 문제, 워크 플로 등을 연구 할 수있는 비즈니스 솔루션 분석가, 가능한 솔루션이 기업 절차, 문화 등에 적합한 방법 및 기타 특정 솔루션은 예산, 예산 등으로 제 시간에 구현하는 것이 가능할 수 있습니다. 이는 비즈니스 기술 (법, 회계, 물류 등), 사용자 심리학 및 소프트웨어 기술에 대한 지식이 필요한 고도의 학제 간 역할 일 수 있습니다.

고객이 자신의 비즈니스 솔루션 분석가가되도록 강요하려는 것 같습니다. 이는 합리적인 사양을 보장하기에 충분한 전문 지식을 보유한 역할이 아닐 수 있습니다. 그리고 당신도이 역할을하고 싶지 않은 것 같습니다. 귀 하나 귀하의 고객이이 역할을 수행 할 전문 지식을 가지고 있지 않은 경우, 성공적인 프로젝트에 필요한 모든 직원을 확보하지 못할 수 있습니다.

때로는 고객이 사용할 수있는 빠른 프로토 타입이 고객의 요구에 따라 사용 가능한 솔루션을 실험적으로 발견하고 수렴하는 유일한 방법 일 수 있습니다. 이것은 모든 종류의 비 개방형 계약에 적합하거나 적합하지 않을 수 있습니다.

ADDED : 필요한 전문 지식이없는 고객으로부터 요구 사항 문서를 작성하려고 할 경우, 이는 다가오는 재난을 나타내는 큰 위험 신호일 수 있습니다.


3

UI 또는 데이터 요구 사항을 요구하지 말고 기능 요구 사항을 요구하십시오.

응용 프로그램이 무엇을 원하는지 물어보십시오. 학생들에게 응용 프로그램 사용 방법을 안내하게하십시오. UI, 데이터 등의 세부 정보는 처음부터 그대로 두십시오.

나는 종종 사용자가 UI 또는 데이터 측면에서 원하는 것을 알지 못하지만 기능성에 이르기까지 원하는 것을 알고 있음을 발견했습니다. 예를 들어, "로그인하고 모든 고객 정보를보고 싶습니다."라고 알려줍니다. 화면이 어떻게 보이는지 또는 원하는 데이터를 얻지 말고 기능을 얻으십시오.

일단 당신이 그것을 가지고, 빠른 모형을 해 (나는 Balsamiq를 좋아 한다 ). UI / 데이터가 무엇인지 가정하고 많은 시간을 소비하지 마십시오. 그런 다음 해당 모형을 고객에게 다시 가져 가십시오. 여기에서 "이 필드가 필요하지 않습니다"또는 "실제로는 전화 번호 목록이 아니라 하나만 필요합니다"또는 "목록 상자가 아닌 드롭 다운이어야합니다"라고 말할 수 있습니다.

시작점이 있으면 데이터와 UI를 훨씬 쉽게 정의 할 수 있으며 기능을 결정하는 것이 가장 좋은 출발점입니다.


2

먼저 비즈니스 프로세스에 초점을 맞추도록 제안합니다. 문서 나 토론에서 현재 소프트웨어가 처리하는 모든 작업을 수행하는 방법을 정의하도록하십시오. 그런 다음 프로세스에서 변경하려는 부분 (소프트웨어를 원하는 이유)에 중점을 둡니다. 소프트웨어를 사용하여 프로세스의 다른 부분을 개선하거나 완전히 제거 할 수있는 토론의 시작점으로 사용하십시오.

고객이 소프트웨어 요구 사항을 제공하는 데 익숙하지 않은 경우 팀에서 요구 사항을 작성해야합니다. 여러 개정을 겪을 것으로 예상되지만 최소한 원하는 내용을 전달할 수 있도록 초기 문서를 제공해야합니다.

소프트웨어를 통합 할 것으로 예상되는 최종 결과 프로세스의 기능 요구 사항에 대한 정보를 얻었 으면 인터페이스 모형을 작성할 수 있습니다. 그들이 처음부터 찌르기를 원한다면 할 수는 있지만 일반적으로 초기 아이디어를 제공하고 조정하는 것이 좋습니다. 이를 위해 기능 코드가 필요하지 않습니다. 개발중인 UI의 스크린 샷, 정적 필러 텍스트를 사용한 레이아웃의 HTML 표현 또는 도면 (직원이 괜찮은 아티스트가있는 경우)을 초기 UI 토론에 사용할 수 있습니다.

몇 가지 개정을 거쳐 모든 사람이 제시된 내용에 동의 하면 고객의 서면 승인을 받으십시오! 아무리 저항하더라도이 단계는 매우 중요합니다. 요구 사항에 사인 오프한다고해서 프로젝트에 더 이상 입력 할 수 없다는 것을 의미하지는 않을 수 있습니다 (클라이언트와의 관계 특성에 따라 다름). 처리됩니다 (예 : 검토 및 승인, 후속 버전으로 푸시, 개선 사항으로 별도로 가격 책정 등).


1

기능별로 프로그램 기능을 개발하겠다고 말하고 싶습니다. 다음 회의까지 1-2 주 안에 X 개의 다양한 기능을 사용한다고 가정합니다. 1, 2, 3 이상일 수 있습니다.

가장 중요한 기능을 먼저 개발하여 시작한다고 가정 해보십시오. 핵심 기능부터 시작해야합니다. 텔러 기계를 만들고 있다고 가정 해 봅시다 (논쟁을 위해). 가장 중요한 기능 목록의 첫 번째 (또는 다음)는 큰 철수를 할 때 사용자의 생년월일을 확인하도록 요청하는 것입니다 (프로젝트의 기능을 대체하는 것이 주요 핵심 기능 중 하나가 아님 다음에 구현됩니다).

이 순진한 주장은 고객으로부터 반응을 이끌어 내야합니다. 그들이 다음에 무엇을 할 것인지 물어볼 때? 아직 프로젝트에서 수행되지 않은 가장 중요한 기능은 무엇입니까?

앞의 예를 다시 사용하면 고객이 사용자의 카드를 확인하거나 예금을하는 등의 방법을 알려줄 수 있습니다. 그런 다음 고객에게 정의하도록 요청하십시오. 많은 질문을하는 것을 두려워하지 말고 필요할 경우 순진한 질문을하십시오.

이것을 클라이언트와 논의한 후에는이 한 가지 기능에 대한 요구 사항이 있어야합니다. 둘 이상의 기능성을 정의 할 수 있지만 숫자를 매우 낮게 유지합니다.

1-2 주 후에 고객과 다시 만나서 귀하가 한 일을 발표하고 의견을 수렴하십시오. 고객에게 제시하고 변경 또는 추가해야 할 경우 입력을받습니다.

그런 다음 다음 기능 모음에 대해 이전 연습을 반복하십시오. 나머지 프로젝트에 대해이 프로세스를 반복적 인 방식으로 계속 진행하여 클라이언트와 계속 연락하고 정기적으로 회의를 진행하여 작업을 보여주고 다음에 수행 할 작업을 계획하십시오 (항상 작은 덩어리로 유지).


1

당신은 엔지니어링 토크를 말하고 있으며 내 경험상 그것에 대해 신경 쓰지 않습니다. 그들은 또한 어떤 일을하기를 원치 않으며 (특히 서면으로) 업무를 수행하고 싶지는 않지만 비즈니스 유형에 국한되지는 않습니다. 모르고 알 필요가 없습니다. 그것이 당신의 직업입니다.

내가하는 일은 도메인 언어로 원하는 것에 대해 이야기하는 것입니다. 사용자가 원하는 방식 (사용 사례, 계약에 의한 설계 등)을 정확하게 할 수 없거나 기꺼이 수는 없지만 모호하고 기발한 desiderata 목록을 실제 디자인으로 정확하게 변환 수 있습니다. 결과적으로 디자인 문서. 그들이 공식적으로 할 시간을 책정한다면 훨씬 더 좋습니다. 그렇지 않은 경우 반복 할 수있는 즉흥적 인 비공식적 인 것을 작성하십시오.

이것은 매우 행복한 대답은 아니지만, 나는 클라이언트 (또는 누군가)가 내 우주로 발을 내딛고 언어를 말하게하려고 노력하지 않을 때 인생이 더 쉬워지는 것을 알았습니다. 도메인과 요구 사항 (고객이 모호하게 이해하는 경우가 많음)과 관련하여 동일한 질문을 반복해서 제기하더라도 반 직관적 인 것은 토론이 좌절되지 않는다는 것입니다. 사실, 고객과의 관계가 더 강해지는 경향이 있습니다. 사람들은 자신이 알고있는 것에 대해 이야기하기를 원하기 때문에 더 엄격한 설계 접근 방식을 사용하는 경우보다 POV를 더 정확하게 이해하게 될 것입니다.


1

프로그래밍에 대해 잘 알고있는 관리자가 없었다면 나는 이것에 대해 어느 정도의 성공을 거두지 못했습니다. 오히려 내가 찾은 유일한 접근 방식은 실제로 진행되는 것을 관찰하는 것입니다.


1

프로그래머는 프로그램이 빌드되기 전에 어떻게 보일지 상상할 수있는 더 나은 능력을 가지고 있다고 생각합니다. 종이 프로토 타이핑 이를 극복하기 위한 효과적인 기술 일 수 있습니다 . 종이 프로토 타입은 제작하기에 비교적 "싸다". 간단한 종이 프로토 타입을 통해 고객을 안내함으로써 "진정한 요구 사항을 모으는 데 필요한 집중된 방식으로"생각할 필요성을 보여줍니다. 또한 집중할 수있는 구체적인 방법을 제공합니다. 실제로는 머리 속에있는 응용 프로그램을 사용하려고합니다!

또한 클라이언트가 원하는 응용 프로그램에 대한 클라이언트의 최선의 추측으로부터 매우 빠르게 반복 할 수 있지만 전달하기는 어렵습니다. 프로토 타입을보고 해당 애플리케이션의 모든 요구 사항을 나열하는 것보다 이상적인 애플리케이션에 맞지 않는 이유를 결정하는 것이 더 쉽습니다.


다른 파트너가 비즈니스 중심적인 웹 사이트에서 일했습니다. 여러 가지 방법으로 특정 요구 사항을 계속 요구했습니다. 그들의 대답은 기본적으로 "당신은 컴퓨터 사용자입니다. 우리는 당신이이 것을 알아낼 것을 기대합니다. 우리는 사업을하는 것을 선호합니다." 그들은 첫 번째 버전이 출시 될 때까지 구체적인 세부 사항에 관심이 없었습니다 ! 그들은 출시 후 요구 사항에 대해 훨씬 더 열정적이었습니다 .

따라서 반복이 핵심이라고 결정했습니다. 최소한의 실행 가능한 버전을 빌드하고 피드백을 기반으로 개선하십시오. 요구 사항이 너무 모호하고 일반적인 경우 "가장 간단하고 빠른 구현은 무엇입니까?"에 따라 결정하십시오. (기본 시스템 설계 / 아키텍처 제외). "옳다고 생각하는 것"에 근거한 가정에 지나치게 무게를 두지 마십시오. 당신의 사고 과정이 고객과 다를 가능성이 높기 때문에 시간을 낭비하게 될 것입니다.

예 : 클라이언트가 이미지 업로드 기능을 요청합니다. 더 구체적인 요구 사항을 설명하지 않습니다. 가능한 순진하게 구축하십시오. 클라이언트가 원하는 것이라고 생각하더라도 자동 자르기, 크기 조정 및 썸네일 기능을 추가하지 마십시오. 클라이언트에게 최소한의 실행 가능한 버전 (Non-Nive 버전보다 훨씬 빠르게 개발할 수 있음)을보고 요구 사항이 "현재 버전에 문제가 있음"으로 시작됩니다. 이러한 각 새로운 요구 사항을 "버그"로 기록하십시오. 가장 쉬운 / 가장 유리한 것을 우선 순위로 지정할 수 있습니다.

실제로 나에게 일어난 일 : 특별 초대 코드가 포함 된 가입 양식을 요청하십시오. 아이디어는 각 신규 사용자가 몇 개의 초대장을받는 바이러스 등록 프로세스를 만드는 것이 었습니다. 코드가 고유하고 한 번만 사용할 수 있도록 많은 시간을 보냈습니다. 또한 이름과 성 필드를 선택적으로 지정하여 가능한 한 마찰이없는 프로세스를 만들기 위해 많은 노력을 기울였습니다. 결국 파트너는 다음과 같은 변경 사항을 요청했습니다. 이름과 성, 필수 "코드" 는 필드에 아무것도 입력 되지 않은 경우 유효 합니다 ... sigh ~

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.