1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng chương 3 Thu thập yêu cầu

68 789 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 5,14 MB

Nội dung

Bài giảng chương 3 Thu thập yêu cầu

Trang 1

Requirements Elicitation

Or

Requirement gathering

Trang 2

 Thu thập yêu cầu (Requirement elicitation) là gì?

 Các kỹ thuật thu thập yêu cầu

 Chọn lựa kỹ thuật thu thập yêu cầu

 Quy tắc nghiệp vụ và chính sách

 Quản lý mối quan hệ khách hàng

Trang 4

 Elicitation là quá trình xác định yêu cầu và làm giảm sự khác biệt giữa các nhóm có

liên quan để rút ra các yêu cầu đáp ứng

được nhu cầu của tổ chức hay dự án trong khi vẫn giữ được các ràng buộc

 Có rất nhiều kỹ thuâṭ elicitation khác nhau

Trang 5

 Elicitation là sự tương tác với stakeholders để nắm bắt được nhu cầu của họ.

 Analysis là tinh chỉnh (refinement) nhu cầu của stakeholder thành các đặc tả sản phẩm chính thức

Trang 6

 Requirements elicitation is perhaps the

most difficult, most critical, most

error-prone, and most communication-intensive aspect of software development

 Elicitation chỉ có thể thành công thông qua mối quan hệ hợp tác giữa customer và đội development

Trang 10

 Document Sampling

 Interviewing

 Survey and observation

 Questionaires

 Workshop and Brainstorming

 JAD (Joint Application Development)

sessions

Ba kỹ thuật phổ biến nhất là Document sampling, interviewing và questionaires

Trang 11

 Assignment 13: Document Sampling

◦ Nhóm???

 Assignment 14: Questionaires

Trang 12

 Là kỹ thuật trực tiếp và đơn giản

 Câu hỏi context-free có thể giúp hoàn

thành các phỏng vấn bias-free interviews

 Then, it may be appropriate to search for undiscovered requirements by exploring solutions.

 Tập hợp lại 1 số nhu cầu chung sẽ tạo

“requirements repository”để dùng trong suốt dự án

 Questionnaire không thể thay thế cho

interview.

Trang 13

• Interview cá nhân hay nhóm các người dùng là

nguồn thu thập yêu cầu kiều truyến thống cho cả sản phẩm thương mại cũng như các hệ thống

hiểu được tại sao hệ thống phải thực hiện các

chức năng này

• Đôi khi các yêu cầu của người dùng phản ánh các quy trình nghiệp vụ đã lỗi thời hay không hiệu

quả nữa và không nên đưa vào hệ thống mới

Trang 14

 Là câu hỏi có thể dùng cho bất kỳ dự án nào đang khảo sát

 Là các câu hỏi chung về bản chất của dự án và môi trường mà sản phẩm sẽ được dùng

 Được dùng trong mỗi giai đoạn khác nhau của cuộc phỏng vấn

Trang 15

Opening Questions: khi bắt đầu phỏng vấn,

câu hỏi context free sẽ giúp khởi đầu cuộc phỏng vấn và vượt qua được các lúng túng ban đầu.

Redirection: có thể được dùng để chuyển hướng

phỏng vấn khi nội dung cuộc đối thoại ra ngoài

chủ đề hay quá sâu không cần thiết, đưa cuộc đối thoại về lại vị trí trung lập để hướng đến chủ đề mong muốn

Closing: dùng để kết thúc cuộc phỏng vấn “Is

there anything else you would like to tell me?”  cho người được phỏng vấn (interviewee) cơ hội

được chủ động và chia xẽ các thông tin khác

Trang 16

 Phải chuẩn bị một danh sách các câu hỏi

context free trước khi phỏng vấn Có thể đặt cùng 1 hay 2 câu hỏi cho người được phỏng vấn (interviewee) để tìm ra điểm khác biệt

 Thông qua câu hỏi context free để giúp người tham gia phỏng vấn có hiểu biết chung

 Không bận tâm vào câu trả lời “right/wrong” Nhiều câu hỏi dùng gây ấn tượng hơn là để thu nhận dữ liệu, dùng để thu thập chi tiết

hơn yêu cầu đang khảo sát

Trang 17

Nên dành thời gian để:

 Establish Customer or User Profile

 Assessing the Problem

 Understanding the User Environment

 Recap the Understanding

 Analyst’s Inputs on Customer’s Problems

 Assessing Your Solution (if applicable)

Trang 18

 Có thể là kỹ thuật năng động nhất để thu thập yêu cầu

 Tập hợp tất cả các stakeholder chính cùng với nhau trong 1 giai đoạn tuy ngắn nhưng rất tập trung

 Sử dụng facilitator có kinh nghiệm từ bên ngoài trong quản lý yêu cầu có thể bảo

đảm cho sự thành công của workshop.

 Brainstorming là phần quan

trọng nhất của workshop.

Trang 19

 Bảo đảm có sự tham gia của các

stakeholder phù hợp

 Công tác hậu cần (Logistics)

◦ Cố và tránh luật Murphy’s law

◦ Bao gồm cả du lịch, giải trí và ăn nhẹ buổi chiều (“afternoon sugar filled snacks.”)

 Tài liệu đầu buổi hội thảo (Warm-up

materials)

◦ Thông tin của buổi hội thảo

◦ Out-of-box thinking preparation

Trang 20

• Để dễ dàng giao tiếp, nên sử dụng từ ngữ

của miền ứng dụng thay vì bắt khách hàng hiểu các thuật ngữ máy tính

• Nên đưa các thuật ngữ nghiệp vụ vào

glossary để các thành viên cùng dùng

chung các định nghĩa

• Customer nên hiểu là việc thảo luận về chức năng không hẳn là 1 nhiệm vụ phải có trong sản phẩm

Trang 21

• Kỹ năng để dẫn dắt các cuộc thảo luận phân

tích yêu cầu phải có được từ kinh nghiệm, tập huấn phỏng vấn, hỗ trợ nhóm, giải quyết xung đột,

• Người phân tích phải khảo sát cẩn thận (probe) nhu cầu thực sự của khách từ 1 loạt các yêu

cầu mà khách hàng đề ra

– Hỏi "why" nhiều lần

– Hỏi các câu hỏi mở (open-ended question) để giúp hiểu được quy trình nghiệp vụ hiện hành của người dùng và để thấy hệ thống mới có thễ cải thiện việc thực thi như thế nào

– Điều tra tìm hiểu (Inquire) những thay đổi xảy ra cho người dùng khi hệ thống mới được đưa vào sử dụng

– Thử đóng vai trò người tập sự (apprentice) học hỏi từ người dùng chính.

Trang 22

• Người phân tích yêu cầu (Requirements

analyst) thường tham gia các hội thảo phân tích yêu cầu

• Facilitator đóng vai trò chính trong việc lên kế hoạch hội thảo, chọn người tham dự, dẫn dắt

người tham dự để kết thúc thành công hội thảo.

• Khi đội bắt đầu các phương pháp mới để phân tích yêu cầu nên có một facilitator ngoài đội

hướng dẫn các workshop khởi đầu, nhờ đó các analyst có thể góp phần nhiều hơn vào các cuộc thảo luận

Trang 23

 Xác lập 1 phong cách chuyên nghiệp và mục tiêu rõ ràng cho cuộc họp

 Bắt đầu và kết thúc cuộc họp đúng giờ

 Xác lập và nhấn mạnh các quy tắc của cuộc họp.

 Giới thiệu mục tiêu và lịch trình của cuộc họp

 Điếu hành cuộc họp và giữ cho mọi người luôn

quan tâm theo dõi

 Tạo điều kiện khi cần biểu quyết nhất trí nhưng tránh tham gia vào.

 Bảo đảm mọi stakeholder đều có quyền phát biểu góp ý trong cuộc họp

 Kiểm soát các hành vi gây rối và không phù hợp

Trang 24

 Xây dựng lịch trình (agenda) trước cho buổi hội thảo và công bố nó cùng với các tài liệu chuẩn bị trước của workshop.

 Giữ ổn định cho buổi hội thảo rất quan

trọng, cố gắng theo đúng lịch trình, nhưng cũng không nên tuân theo nó quá cứng

nhắc, nhất là khi đang có thảo luận sôi nổi

Đặt ăn trưa (light working lunch)

Trang 25

 Cư xử lịch thiệp và vui vẻ

◦ Không nên “attack” thành viên khác.

◦ Không nên diễn thuyết nhiều quá.

◦ Đừng quay lại muộn sau khi giải lao

 Thẻ phạt (Workshop tickets)

◦ Cấp cho mỗi stakeholder một trong 3 loại thẻ phạt sau: đi muộn, gian lận (“cheap shot”) , phát biểu dài dòng (“soap box”)

◦ Facilitator cũng có thể bị nhận thẻ phạt.

◦ If you do not have a ticket create a fund to add

to, like $1 to pot for after workshop activities.

Trang 26

Establish ground rules

Trang 27

 Quản lý thời gian

◦ Khó bắt đầu lại sau nghỉ

giải lao và ăn trưa.

◦ Stakeholders quan trọng

thường quay lại muộn

 Giành quyền phát biểu

quá lâu,

 Thiều dữ liệu từ

stakeholders

 Phát biểu tiêu cực, hành

động nhỏ nhen, gây gỗ

sau khi ăn trưa

 Facilitator phải theo dõi thời gian nghỉ giải lao và phát bất kỳ ai đến muộn,

 Mỗi người chỉ được 5 phút để phát biểu

 Facilitator khuyến khích mọi người sử dụng 5 phút được phát biểu và ủng hộ các sáng kiến.

 Dùng vé phạt (“Cheap Shot Tickets”) và buộc trả chi phí

 Nên tổ chức ăn nhẹ buổi trưa, giải lao buổi chiều, sắp xếp lại chỗ ngồi

Trang 28

For [target end user]

Who wants/needs [compelling reason to

buy]

The [product name] is a [product category]

That provides [key benefit].

Unlike [main competitor],

The [product name] [key differentiation]

Trang 29

• Thường được dùng để phân tích tìm các yêu cầu ban đầu của stakeholder đối với sản phẩm

Phương pháp này được thực hiện với nhiều

stakeholders hay customers và các phiên giao tiếp này thường được dẫn dắt bởi 1 facilitators có kinh nghiệm, mỗi phiên (session) thường kéo dài tối đa 1 hay 2 ngày

• Mục tiêu của brainstorming session là đưa ra

các ý tưởng mới hay các tính năng của sản

phẩm trong 1 thời gian rất ngắn

Trang 30

 Khi xác định ý tưởng, điều quan trọng là phải tránh xung đột, e.g., một thành viên chê bài ý tưởng của người khác Nếu có thành viên lâu niên (senior) tham gia

session thì điều quan trọng là giữ cho họ không được đe dọa các thành viên ít kinh nghiệm hơn họ

Trang 31

Vai trò của facilitator rất quan trọng, quyết định session có thành công hay không?

Trang 32

 Mục tiêu và thời gian của brainstorming

session cần phải được thỏa thuận trước bởi tất cả các thành viên, tốt nhất là ngay trước khi bắt đầu session

 Session nên bắt đầu với việc tự do đưa ra

các ý kiến, tạo thành 1 tập hợp các kiến

nghị về sản phẩm Nên dùng “sticky notes” và dán vào bảng

Trang 34

• Việc dùng bảng có thể giúp nắm bắt được yêu cầu của stakeholder rõ ràng và chặt chẽ hơn

• Có 2 loại bảng hay được dùng:

– Decision table

– State table

Trang 35

• Bảng quyết định (Decision table) thông

dụng nhầt khi:

– Tập các điều kiện là rời rạc, có thể được xác định bằng “yes” hay “no,”

– Hành động sẽ thực hiện khi các điều kiện thỏa mãn

– Tập các rule khi tập các điều kiên là duy nhất và tương ứng với mỗi rule là 1 hành động

Trang 36

 Mỗi hàng biều diễn một condition, mỗi cột biểu diễn 1 rule, i.e, Một điều kiện và 1 tập các hành động tương ứng

 Khi cần phân tích bản phác thảo các yêu

cầu lúc đầu của stakeholder thì bảng quyết định được dùng rất hiệu quả để nắm bắt các quy tắc nghiệp vụ (business rule)

Trang 38

• Được dùng khi đối tượng đang khảo sát có thể có các trạng thái khác nhau ở các thời điểm

khác nhau và các sự kiện đơn giản nhưng rõ

ràng nào đó có thễ kích khởi việc đổi từ trạng thái này sang trạng thái khác

• State machine: là 1 đối tượng mà việc chuyển đổi trạng thái chỉ dựa vào các sự kiện rời rạc và số trạng thái của đối tượng đã biết trước

• Ví dụ: bảng người nộp thuế (taxpayer) không phải là bảng trạng thái vì chỉ có 1 trạng thái

duy nhất là “about to pay taxes.”

Trang 39

 State tables chỉ ra hành vi của state

machine, thường có 1 trạng thái khởi đầu và một tập các trạng thái mà đối tượng sẽ trải qua và cuối cùng là trạng thái exit thành

công hay 1 trong các trạng thái “error” Mỗi lần thay đổi trạng thái đều có liên quan đến

1 hay nhiều sự kiện (event)

Trang 40

Button

Trang 41

• Một số phương pháp điều tra được dùng rất

nhiều để đánh giá các yêu cầu thị trường, mối quan tâm về sản phẩm.

• Khi số lượng khách hàng tương đồi lớn, có thể thực hiện thống kê trên kết quả điều tra đề đo lường mức độ quan tâm của khách hàng đối với các tính năng của sản phẩm

• Một trong các phương pháp điều tra thông dụng nhất để phân tích mối quan tâm của khách

hàng là Kano modeling.

Trang 42

 Cung cấp ba biến để đo lường mối quan tâm của khách hàng:

• One-dimensional quality

• Expected quality

• Attractive quality

Trang 43

 One-dimensional (hay linear quality) được áp dụng ở những nơi mà tính năng của sản phẩm tăng tuyến tính cùng với 1 số ngữ

cảnh nào đó của tính năng đó Ví dụ tính

tiết kiệm điện năng của tủ lạnh, nếu tính

năng này càng hiệu quả thì khả năng khách hành đặt mua càng nhiều

Trang 44

 Expected quality là tính năng bắt buộc phải có đối với sản phẩm nào thànnh công trên thị trường

 Attractive quality là tính năng không

được mong đợi nhưng bổ sung vào yếu tố

tâm lý (emotional appeal) của sản phẩm Ví dụ camera trong mobile là attractive quality trong nhiều năm trước nhưng bây giờ là

expected quality trong hầu hết các thị

trường

Trang 45

 Một đo lường khác là yêu tố văn hóa Ví dụ, ở Mỹ hầu hết các khách hàng đều muốn

việc mua xe ô tô được chuyển giao tự động, trong khi đó ở châu Âu việc chuyển giao tự động là bình thường

 Kano modeling được chấp nhận rộng

rãi;một số công cụ quản lý requirements

engineering có sẵn chức năng Kano

analysis

Trang 46

Kano model

Trang 48

 JAD được như 1 kỹ thuật để phát triển yêu cầu của 1 hệ thống và trong các giai đoạn đầu của dự án phần mềm

 Mục đích: tập hợp MIS và người dùng cuối trong cơ chế của 1 workshop, để cùng

thống nhất (consensus) với nhau các yêu cầu của hệ thống

Trang 49

 Bằng cách kết hợp các workshop và nhấn

mạnh tinh thần cộng tác (spirit of

partnership)

 Bằng cách kết hợp công nghệ và nhu cầu

nghiệp vụ trong 1 quy trình thống nhất, lặp lại và hiệu quả

JAD giúp thu thập yêu cầu hệ thống nhanh hơn, chính xác hơn các phương pháp cổ điển

giảm 1 cách đáng kể thời gian, chi phí và lỗi cho dự án

Trang 50

 Liên quan đến nhiều nhóm người dùng khác nhau

 Rất quan trọng đến sự thành công trong

tương lai của tổ chức

 Là dự án mới của tổ chức

 Có trở ngại trong dự án cũ hay mối quan hệ giữa hệ thống và tổ chức

Trang 53

 Là người của tổ chức khách hàng và có quyền quyết định tối cao về dự án (CEO, người lãnh đạo dự án)

 Facilitator làm việc với sponsor để khởi

động dự án, nhưng sponsor mới là người quyết định chính, không phải là facilitator

Trang 54

 Nhận trách nhiệm cao nhất về các chức năng của hệ thống

 Giải quyết các xung đột về chính sách bằng cách đưa ra các quyết định cuối

 Công bố kết quả của quy trình JAD

 Xác lập vision cho dự án

 Bảo đảm cho đội dự án tiếp cận và làm việc được với các chuyên gia nghiệp vụ

 Tạo ra sự hợp tác và hỗ trợ của khách hàng đối với đội dự án

Trang 55

 Làm cho khách hàng tin tưởng vào quy trình JAD

 Trong lúc định hướng JAD, sponsor quan tâm đến cả đội, biểu lộ thái độ hợp tác và hỗ trợ

 Sponsor cũng tỏ ra tin cậy vào facilitator,

giảm thiêu được sự đối kháng ban đầu của đại diện khách hàng

 Sponsor chỉ là thành viên của JAD và thường không tham dự vào các cuộc họp JAD, chỉ

cần ghé qua để biểu lộ sự quan tâm hợp tác

Trang 56

 Vai trò của facilitator

 Vai trò của scribe

Assignment??

Ngày đăng: 17/01/2013, 10:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w