Quy trình Giám sát và kiểm soát dự án Project tracking and control Process • Giám sát monitor trạng thái của mỗi yêu cầu được coi là một phần của việc giám sát dự án project tracking sa
Trang 1CHƯƠNG 8:
SOFTWARE RISK MANAGEMENT
QUẢN LÝ RỦI RO PHẦN MỀM
Trang 2Nội dung
• Hazard analysis (HA)
• Threat modeling ™
• Risk management
Trang 3(FUNDAMENTALS OF SOFTWARE RISK
MANAGEMENT)
• Dự án phải đối mặt với nhiều loại rủi ro gồm:
• Các rủi ro liên quan đến phạm vi dự án
• Phải phụ thuộc vào một đối tác bên ngoài
• Phải đối mặt với các rủi ro nảy sinh từ sự kém chính xác của các ước lượng trước khi tiến hành dự án
• Các rủi ro liên quan đến công nghệ
• Sự thiếu hiểu biết về các nguồn rủi ro cũng là nguồn gốc của rủi ro…
Trang 4CÁC YẾU TỐ CỦA QUẢN LÝ RỦI RO
(ELEMENTS OF RISK MANAGEMENT)
• Quản lý rủi ro là ứng dụng các công cụ và thủ tục thích
hợp để kiềm chế rủi ro dự án trong một giới hạn có thể chấp nhận
Trang 5CÁC YẾU TỐ CỦA QUẢN LÝ RỦI RO
(ELEMENTS OF RISK MANAGEMENT)
• Quản lý rủi ro bao gồm các hoạt động sau:
Trang 6Đánh giá rủi ro (risk assessment) tr 93
• Đánh giá rủi ro (risk assessment) là quy trình khảo sát,
xác định và kiểm soát rủi ro trước khi chúng gây tổn thất cho dự án
• Nếu có 1 gì đó không hay đã xảy ra, nó là 1 vấn đề
(issue), không phải là rủi ro
• Việc xử lý các vấn đề (problems and issues) phải theo qui trình theo dõi trạng thái dự án và qui trình sửa lỗi, không thuộc về quản lý rủi ro
• Đánh giá rủi ro gồm:
• Định danh rủi ro (risk identification)
• Phân tích rủi ro (risk analysis)
• Ưu tiên hoá rủi ro (risk prioritization
Trang 7Thực tế quản lý dự án
• Các công ty phần mềm thành công cũng sẽ phải đối mặt với các khó khăn to lớn khi thực hiện các dự án lớn hơn, khách hàng đa dạng hơn, khi lịch biểu được siết chặt
hơn, hoặc khi làm việc trong một miền nghiệp vụ mới mẻ hơn
• Vì vậy, bạn cũng nên biết những cách tiếp cận làm yêu cầu mới có giá trị đối với công việc của bạn
• Ví dụ: các phương thức làm việc dành cho đội có 5 thành viên không thể mở rộng áp dụng cho 1 đội có 125 thành viên rải rác trong các chi nhánh cách xa nhau được
Trang 8Mối liên hệ giữa yêu cầu và các quy trình dự án khác
Trang 9Quy trình Lập kế hoạch dự án
(Project planning process)
• Yêu cầu phải là cơsở của các quy trình lập kế hoạch dự
án
• Các ước lượng tài nguyên và lịch biểu cần dựa trên sự hiểu biết về cái gì sẽ được xây dựng và chuyển giao cho khách hàng
• Thông thường, lập kế hoạch dự án nghĩa là tính toán sao cho tất cả các tính năng mong muốn sẽ được thực hiện trong một giới hạn ngân sách và thời gian nhất định
• Các quy trình lập kế hoạch có thể dẫn tới việc thu hẹp
phạm vi dự án hoặc lựa chọn một cách tiếp cận từng
bước một - phát hành dần từng phiên bản của sản phẩm, mỗi phiên bản chỉ bao gồm một số tính năng
Trang 10Quy trình Giám sát và kiểm soát dự
án (Project tracking and control
Process))
• Giám sát (monitor) trạng thái của mỗi yêu cầu được coi là một phần của việc giám sát dự án (project tracking) sao cho các nhà quản lý dự án có thể biết liệu công việc có được tiến hành như mong muốn hay không Nếu không, cấp quản lý có thể đề nghị thu hẹp phạm vi thông qua các quy trình kiểm soát thay đổi
Trang 11Quy trình Kiểm soát thay đổi
(Change control Process)
Quy trình kiểm soát thay đổi đảm bảo rằng:
• Hiểu rõ ảnh hưởng của một đề xuất thay đổi (proposed change)
• Tất cả những ai có liên quan đến thay đổi thì đều phải nhận biết được thay đổi này
•Những người có thẩm quyền ra quyết định chính thức khi chấp nhận thay đổi
•Tài nguyên và các thỏa thuận được điều chỉnh phù hợp
•Các tài liệu yêu cầu được cất giữ
Trang 12Quy trình Kiểm thử hệ thống
(System testing process)
• Các yêu cầu người dùng (user requirements) và các yêu cầu chức năng (functional requirements) là đầu vào chính
để kiểm thử hệ thống
• Nếu hành vi được mong đợi của phần mềm trong các điều kiện khác nhau không được đặc tả thì người kiểm thử rất khó biết hành vi nào của hệ thống là đúng, hành vi nào là sai
• Ngược lại, kiểm thử hệ thống là một phương tiện để xác nhận rằng tất cả các chức năng đã được lập kế hoạch thì đều được thực hiện và các công việc (tasks) mà người dùng mong muốn đã hoạt động một cách đúng đắn
Trang 13Quy trình Làm tài liệu người dùng
(User documentation process)
• Các yêu cầu là đầu vào chính của quy trình làm tài liệu, vì vậy chất lượng của yêu cầu sẽ quyết định chất lượng của tài liệu
Trang 14Quy trình Thi công hệ thống
(Construction process)
• Các yêu cầu là cơsở để thiết kế và thi công phần mềm Yêu cầu chức năng (functional requirements) dẫn tới các thiết kế components, chúng phục vụ nhưl à các đặc tả cho các mã sẽ được viết Thực hiện soát xét thiết kế để đảm bảo bản thiết kế đã chứa tất cả các yêu cầu Kiểm thử đơn vị (unit testing) mã nguồn có thể xác định liệu nó
có đáp ứng đặc tả thiết kế và yêu cầu tương ứng hay
không
Trang 15Quy trình Thi công hệ thống
(Construction process)
• Các yêu cầu là cơsở để thiết kế và thi công phần mềm Yêu cầu chức năng (functional requirements) dẫn tới các thiết kế components, chúng phục vụ nhưl à các đặc tả cho các mã sẽ được viết Thực hiện soát xét thiết kế để đảm bảo bản thiết kế đã chứa tất cả các yêu cầu Kiểm thử đơn vị (unit testing) mã nguồn có thể xác định liệu nó
có đáp ứng đặc tả thiết kế và yêu cầu tương ứng hay
không
Trang 16Yêu cầu và các nhóm Stakeholder
Trang 17Yêu cầu và các nhóm Stakeholder
• Nhóm marketing (Marketing or Product Management): đặc tả yêu cầu kinh doanh hoặc yêu cầu của thị trường cho nhóm phát triển; đề xuất các thay đổi đối với nhóm phát triển
• Nhóm hỗ trợ kỹ thuật (Technical Support): hỗ trợ người dùng của khách hàng, cung cấp đầu vào cho nhóm phát triển từ việc phân tích các báo cáo lỗi của khách hàng, đề nghị các thay đổi nâng cấp phần mềm
• Người phụ trách dùng (Users): mô tả các yêu cầu người dùng và thuộc tính chất lượng của các yêu cầu đó, soát xét các yêu cầu
Trang 18Yêu cầu và các nhóm Stakeholder
• Nhóm kỹ thuật phần cứng (Hardware Engineering): đặc tả các giao diện phần cứng mà phần mềm phải làm việc cùng
• Nhóm kỹ thuật hệ thống (Systems Engineering): phân bổ các yêu cầu hệ thống cho phần mềm, đề xuất thay đổi
• Nhóm mua sắm (Procuers): đặc tả các nhu cầu kinh doanh, chức năng và hiệu suất; đề xuất thay đổi
• Nhóm pháp lý (Legal Department): xử lý các vấn đề pháp luật liên quan đến license của các tools và components
• Cấp quản lý (Management): đề ra các ràng buộc của dự
án, ràng buộc về tài nguyên và cam kết khác cho nhóm phát triển
Trang 19(FUNDAMENTALS OF SOFTWARE PROCESS
IMPROVEMENT)
1. Cải tiến quy trình cần được thực hiện theo kiểu tiến
hoá, liên tục và có chu trình (Process improvement should be evolutionary, continuous, and cyclical)
2. Con người và các tổ chức chỉ thay đổi khi họ bị thúc ép
phải thay đổi (People and organizations change only when they have an intence to do so)
3. Các thay đổi quy trình cần phải được hướng đích
(Process changes should be goal oriented)
4. Xử lý các hoạt động cải tiến quy trình của bạn nhưlà
các tiểu dự án (Treat improvement activities as miniprojects)
Trang 20CHU TRÌNH CẢI TIẾN QUY TRÌNH
(THE PROCESS IMPROVEMENT CYCLE)
Assess Current Practices = Đánh giá các practices hiện tại
Plan Improvement Actions = Lập kế hoạch cho các hoạt động cải tiến
Create, Pilot and Implement New Processes = Thiết lập, thử nghiệm, cải tiến các quy trình mới
Evaluate Results = Đánh giá kết quả
Trang 21CHU TRÌNH CẢI TIẾN QUY TRÌNH
(THE PROCESS IMPROVEMENT CYCLE)
1. Cải tiến quy trình cần được thực hiện theo kiểu tiến
hoá, liên tục và có chu trình (Process improvement should be evolutionary, continuous, and cyclical)
2. Con người và các tổ chức chỉ thay đổi khi họ bị thúc ép
phải thay đổi (People and organizations change only when they have an intence to do so)
3. Các thay đổi quy trình cần phải được hướng đích
(Process changes should be goal oriented)
4. Xử lý các hoạt động cải tiến quy trình của bạn nhưlà
các tiểu dự án (Treat improvement activities as miniprojects)
Trang 22CÁC HOẠT ĐỘNG CỦA QUI TRÌNH CẢI TIẾN
1. Đánh giá các practices hiện tại (assess current
practices)
• Đánh giá các practices hiện tại đang được sử dụng trong tổ chức
để xác định thế mạnh và hạn chế của nó.
Trang 23CÁC HOẠT ĐỘNG CỦA QUI TRÌNH CẢI
Trang 24CÁC HOẠT ĐỘNG CỦA QUI TRÌNH CẢI TIẾN
Trang 25CÁC HOẠT ĐỘNG CỦA QUI TRÌNH CẢI
TIẾN
3. Thiết lập, thử nghiệm, cải tiến các quy trình mới (create,
pilot, and implement new processes)
4. Đánh giá kết quả (evaluate results)
Trang 26TÀI SẢN QUY TRÌNH PHÁT TRIỂN YÊU CẦU
(REQUIREMENTS DEVELOPMENT PROCESS ASSETS)
1. Template tầm nhìn và phạm vi của dự án (Project vision
and Scope Template)
2. Thủ tục phát triển yêu cầu (Requirements Development
Procedure)
3. Thủ tục phân bổ yêu cầu (Requirements Allocation
Procedure)
4. Template tình huống sử dụng (Use case template)
5. Template đặc tả yêu cầu phần mềm (SRS template)
6. Thủ tục xếp thứ tự ưu tiên các yêu cầu (Requirements
Prioritization Procedure)
7. Các checklists thanh tra SRS và use-case (SRS and
use -case Inspection Checklists)
Trang 27TÀI SẢN QUY TRÌNH QUẢN LÝ YÊU CẦU
(REQUIREMENTS MANAGEMENT PROCESS ASSETS)
1. Thủ tục kiểm soát thay đổi (Change control procedure)
2. Thủ tục ban kiểm soát thay đổi (Change Control Board
Procedure)
3. Checklists và templates phân tích ảnh hưởng thay đổi
yêu cầu (Requirements Change Impact Analysis Checklist and Template)
4. Thủ tục giám sát tình trạng yêu cầu (Requirements
Status Tracking Procedure)
5. Template ma trận lần vết yêu cầu (Requirements
Traceability Matrix Template)
Trang 28LỘ TRÌNH CẢI TIẾN QUY TRÌNH YÊU CẦU
(REQUIREMENTS PROCESS IMPROVEMENT ROADMAP)
Trang 29• Hoàn thành các Bảng tự đánh giá Requirements Practices
hiện tại trong Phụ lục Xác định 3 cơhội cải tiến requirements
practices cao nhất của bạn căn cứ trên các hạn chế của quy trình hiện tại.
• Xác định trong số các tài sản quy trình công nghệ yêu cầu ở Hình 4-6, tài sản quy trình nào chưa thực sự hữu ích trong tổ chức nhưng bạn lại nghĩ nó vẫn được sử dụng tốt.
• Dựa trên 2 bước trên, xây dựng một lộ trình cải tiến quy trình yêu cầu như template ở Hình 4-7 Giao cho mỗi ai đó thực hiện một mốc trên lộ trình.
• Yêu cầu mỗi người viết kế hoạch hành động để đạt được mốc
đó, sử dụng template về kế hoạch hành động trong Hình 4-4 Giám sát tiến độ thực hiện kế hoạch cải tiến.