Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
1
Các kinh nghiệm q của
Công nghệ phần mềm
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
2
Mục đích:
?
?
Khám
Khám
phá
phá
các
các
triệu
triệu
chứng
chứng
và
và
các
các
nguyên
nguyên
nhân
nhân
cốt
cốt
kinh
kinh
nghiệm
nghiệm
tốt
tốt
cho
cho
quá
quá
trình
trình
phát
phát
triển
triển
phần
phần
mềm
mềm
?
?
Xem
Xem
xét
xét
cách
cách
dùng
dùng
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
3
Phân tích tình hình của CNPM
Kinh tế thế giớI ngày
càng phụ thuộc hơn
vào CNPM
Các ứng dụng mơ rộng
về kích thước, độ phức
tạp, và phân bố
Thương trường đòi hỏi nâng
cao năng suất & chất lượng
và giảm thời gian
Không đủ nhân lực có
trình độ
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
4
Phát triển phần mềm là công việc tập thể
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
Tester
Các thách thức
• Các nhóm đông hơn
những
những
gì
gì
người
người
dùng
dùng
cần
cần
?
?
Không
Không
thể
thể
thích
thích
ứng
ứng
với
với
các
các
thay
thay
đổi
đổi
về
về
?
?
Phần
Phần
mềm
mềm
khó
khó
bảo
bảo
trì
trì
và
và
nâng
nâng
cấp
cấp
,
,
mở
mở
rộng
rộng
?
?
Phát
Phát
hiện
hiện
năng
năng
của
của
phần
phần
mềm
mềm
thấp
thấp
?
?
Các
Các
thành
thành
viên
viên
trong
trong
nhóm
nhóm
không
không
biết
biết
được
được
ai
ai
thay
thay
đổi
đổi
?
?
Quá
Quá
trình
trình
build
build
-
-
and
and
-
-
release
release
không
không
đáng
đáng
tin
tin
cậy
cậy
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
Duong Anh Ð?c
8
Các nguyên nhân chính của các v/đ trong PTPM
?
?
Sự
Sự
quản
quản
lý
lý
y
y
/
/
c
c
người
người
dùng
dùng
không
không
đầy
đầy
đủ
đủ
?
?
Trao
chắc
?
?
Độ
Độ
phức
phức
tạp
tạp
vượt
vượt
quá
quá
tầm
tầm
kiểm
kiểm
soát
soát
?
?
Có
Có
những
những
mâu
mâu
thuẫn
thuẫn
không
?
Kiểm
Kiểm
chứng
chứng
không
không
đầy
đầy
đủ
đủ
?
?
Sự
Sự
lượng
lượng
giá
giá
chủ
chủ
quan
quan
về
về
tình
tình
trạng
trạng
của
thác
nước
nước
?
?
Sự
Sự
lan
lan
truyền
truyền
không
không
thể
thể
kiểm
kiểm
soát
soát
của
của
các
các
thay
thay
đổi
đổi
?
?
Thiếu
đủ
đủ
?
?
Trao
Trao
đổi
đổi
thông
thông
tin
tin
mơ
mơ
hồ
hồ
?
?
Kiến
Kiến
trúc
trúc
kém
kém
bền
bền
vững
vững
?
?
chưa
chưa
thấy
thấy
?
?
Kiểm
Kiểm
chứng
chứng
nghèo
nghèo
nàn
nàn
?
?
Q
Q
/
/
tr
tr
phát
phát
triển
triển
thác
thác
nước
nước
Phát
Phát
triển
triển
theo
theo
vòng
vòng
lặp
lặp
?
?
Quản
Quản
trò
trò
các
các
y
y
/
/
c
c
?
?
Sử
Sử
dụng
dụng
soát
soát
các
các
thay
thay
đổi
đổi
Nguyên nhân cốt lõi
Nguyên nhân cốt lõi
Các kinh nghiệm tốt
Các kinh nghiệm tốt
Các kinh nghiệm giúp giải quyết các vấn đề
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
10
Symptoms
end-user needs
changing
requirements
modules dont fit
hard to maintain
late discovery
poor quality
poor performance
colliding developers
build-and-release
Root Causes
insufficient requirements
ambiguous
vòng
lặp
lặp
Kiểm
Kiểm
soát
soát
các
các
thay
thay
đổi
đổi
trong
trong
hệ
hệ
thống
thống
Sử
Sử
dụng
dụng
kiến
kiến
trúc
trúc
Component
Component
Quản
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
12
Các kinh nghiệm tạo ra các nhóm lv hiệu năng cao
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
Tester
Kết quả
• Nhiều dự án thành
công hơn
ControlControl ChangesChanges
DevelopDevelop IterativelyIteratively
UseUse
ComponentComponent
ArchitecturesArchitectures
ManageManage
RequirementsRequirements
ModelModel
VisuallyVisually
VerifyVerify
QualityQuality
Cỏc kinh nghi?m quớ trong CNPM
Duong Anh é?c
13
đầu
đầu
có
có
thể
thể
không
không
hoàn
hoàn
chỉnh
chỉnh
so
so
với
với
các
các
yêu
yêu
cầu
cầu
chính
chính
?
?
Việc
Việc
phát
phát
tốn
tốn
thời
thời
gian
gian
và
và
thậm
thậm
chí
chí
làm
làm
hủy
hủy
bỏ
bỏ
dự
dự
án
án
$$$
Các kinh nghi?m quí trong CNPM
Duong Anh Ð?c
15
T I M E
Qui trình thaùc nöôùc truyeàn thoáng
Subsystem
Testing
Các
vòng
vòng
lặp
lặp
đầu
đầu
dành
dành
cho
cho
các
các
v
v
/
/
đ
đ
nhiều
nhiều
rủi
rủi
ro
ro
?
?
Mỗi
Mỗi
vòng
?
Mỗi
Mỗi
VL
VL
bao
bao
gồm
gồm
cả
cả
việc
việc
tích
tích
hợp
hợp
và
và
kiểm
kiểm
chứng
chứng
T
C
D
R
T I M E
Iteration 1 Iteration 2 Iteration 3
T
chính
chính
được
được
giải
giải
quyết
quyết
trước
trước
khi
khi
có
có
các
các
phát
phát
triển
triển
lớn
lớn
?
?
Các
Các
vòng
vòng
lặp
lặp
liên
liên
tục
tục
?
?
Các
Các
cột
cột
mốc
mốc
cục
cục
bộ
bộ
sẽ
sẽ
đònh
đònh
ra
ra
các
các
tiêu
tiêu
điểm
điểm
ngắn
ngắn
bộ
bộ
phận
phận
có
có
thể
thể
triển
triển
khai
khai
riêng
riêng
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
20
Áp dụng các kinh nghiệm trong chu kỳ sống PM
Project Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary
Iteration(s)
Iter.
#1
Phases
Process Workflows
các
feedback
feedback
từ
từ
người
người
dùng
dùng
Các
Các
hiểu
hiểu
lầm
lầm
nghiêm
nghiêm
trọng
trọng
được
được
làm
làm
rõ
rõ
sớm
sớm
Tập
Tập
trung
thông
qua
qua
test
test
Mâu
Mâu
thuẫn
thuẫn
đc
đc
phát
phát
hiện
hiện
sớm
sớm
Bắt
Bắt
đầu
đầu
test
test
sớm
sớm
Các
Các
rủi
rủi
ro
cầu
cầu
đ
đ
/
/
v
v
hệ
hệ
thống
thống
?
?
Trao
Trao
đổi
đổi
TT
TT
mơ
mơ
hồ
hồ
?
?
Kiến
Kiến
trúc
trúc
Các
Các
mâu
mâu
thuẫn
thuẫn
không
không
được
được
phát
phát
hiện
hiện
?
?
Kiểm
Kiểm
chứng
chứng
kém
kém
?
?
QT
QT
thác
thác
nước
nước
Architectures
Manage
Manage
Requirements
Requirements
Model
Visually
Verify
Quality
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
23
Yêu cầu đối với hệ thống luôn động --
Phải lường trước khả năng chúng bò thay đổi trong
quá trình PTPM
Kinh nghiệm 2: Quản lý yêu cầu đ/v hệ thống
?
?
Suy
Suy
dẫn
dẫn
,
,
tổ
tổ
chức
chức
,
,
Lượng
Lượng
giá
giá
các
các
thay
thay
đổi
đổi
và
và
xác
xác
đònh
đònh
ảnh
ảnh
hưởng
hưởng
của
của
chúng
chúng
?
?
Theo
Theo
dấu
dấu
Một
Một
yêu
yêu
cầu
cầu
là
là
một
một
điều
điều
kiện
kiện
hoặc
hoặc
khả
khả
năng
năng
mà
mà
hệ
hệ
thống
thống
phải
phải
tuân
tuân
thống
thống
để
để
?Suy dẫn, tổ chức, và tạo sưu liệu về các yêu cầu
chức năng đ/v hệ thống, và
?Thiết lập và duy trì sự thỏa thuận giữa
customer/user và project team liên quan đến các
thay đổi về yêu cầu đ/v hệ thống
Các kinh nghi?m q trong CNPM
Duong Anh Ð?c
25
Thỏa thuận về những gì mà HT phải làm
Đích
Surrogate
Goal
Xác minh
Các yêu cầu
Cộng đồng
Các Customer
User
Các yêu cầu
Hệ thống
cần xây dựng
Adapted from Al Davis