Upload
duong-tan
View
1.501
Download
4
Embed Size (px)
DESCRIPTION
Software project estimation for scrum2012 Presented at ScrumDay Vietnam 2012 By Dr. Ho Tuong Vinh
Citation preview
[COSMIC FFP for Estimation in
Agile Projects[
Prepared by: HỒ Tường Vinh
What keeps a PM awake at Night?
Do we understand the requirements?
Did we estimate the effort correctly?
Will my team deliver on time &
budget? How should I monitor
progress?
How do I justify a Change Request
estimate?
Cosmic, Effort Estimation, Agile project [email protected] 2
Có thể đo được độ lớn PM không ?
200 m2
400 m2
500 CFP CFP
Chức năngPhần mềm
Chức năngPhần mềm
Cosmic, Effort Estimation, Agile project [email protected] 3
Sử dụng Độ lớn phần mềm
Phân tích nghiệp vụ
Xây dựngYêu cầu
Đo độ lớn Ước lượng Công sức,Giá thành,Thời gian
Nghiên cứu khả thi
Quyết định đầu tư
Lập kế hoạch
Theo dõi tiến độ
Đúc rútkinh nghiệm
Quản lý hợp đồng
Cosmic, Effort Estimation, Agile project [email protected] 4
Sử dụng độ lớn
Ví dụ: đo năng suất phát triển
Năng suất = Công sức thực tế (giờ công)
Độ lớn phần mềm
Ước lượng công sức phát triển cho dự án
Công sức phát triển (giờ công)
=Độ lớn phần mềm của ‘Dự án mới’
Năng suất trong các dự án trước
Gia giảm cho ‘Dự án mới’
x
Cosmic, Effort Estimation, Agile project [email protected] 5
Ví dụ về ước lượng dự án
Độ lớn chức năng
Dự án X – 112 Cfsu
Ước lượng dựa trêncơ sở dữ liệu
Công sức = 6.5 Tháng
Thời gian = 2.75 tháng
Năng suất =17 Cfsu / tháng
Đặc tính dự án
• Client Server• New Development• Below Average
Personnel Management• Above Average Process
and Methods
Hệ số gia giảm
= 1.11
= 1.11
Ước lượng dựa trên cơ sở DL
Công sức = 6.5 tháng công
Thời gian = 2.75 tháng
Năng suất = 17 Cfsu / tháng
Kết quả cuối cùng
Công sức = 7.2 tháng
Thời gian = 3.05 months
Năng suất= 15 Cfsu / tháng = 1.11
Cosmic, Effort Estimation, Agile project [email protected] 6
Quy trình đo lường
Chuẩn bịcho việc đo lường
Đo Độ lớnChức năng
Đánh giá Đặc tínhDự án
Xác địnhChỉ số
Năng suất
Ước lượng các Chỉ số: công sức,
Thời gian, Kinh phí
Thông báoKết quả
Quy trìnhlặp lại
Cơ sở dữ liệuChỉ số đo ước tính
& thực tế
Ước lượng
Bước 1 Bước 2
Bước 4
Bước 3
Cosmic, Effort Estimation, Agile project [email protected] 7
Mô hình Ước lượng dự án PM
ĐO ĐỘ LỚN
ĐẶC TẢ PM
CV Phân tích
XÁC ĐỊNH
ĐẶC TINH
CHỌN DỰ ÁN
TƯƠNG TỰ
ƯỚC LƯỢNG THỰC TẾ
Người đo Quản trị dự án(PM)
PM PM / Khách hàng Chỉ số
Cơ sởdữ liệu
Báo cáoSo sánh
Đặc tínhĐộ lớn ThờI gianChi phí
Độ lớn ThờI gian
Mô hình ước lượng chỉ có hiệu quả dựa trên một Cơ sở dữ liệu phù hợp
Cần có 1 CSDL quốc gia (mô hình ISBSG)
Cosmic, Effort Estimation, Agile project [email protected] 8
Xây dựng CSDL dự án
Bảng thu thập số liệu – Tổ chức quốc tế ISBSG, http://www.isbsg.org/The International Software Benchmarking Standards Group Limited
Cơ sởdữ liệuDự án
Một số đặc tính cơ bản
Kiểu dự án: Phát triển mới, Bảo dưỡng, Phát triển lại
Quy trình: Quy trình phát triển dự án (RUP, CMMI, Agile)
Kiểu ứng dụng: Hệ thống thông tin, Hệ thống nhúng
Độ lớn: số đo độ lớn, phương pháp đo
Công sức, thời gian: số đo, phương pháp
Quản trị dự án: phương pháp
Công nghệ: công nghệ sử dụng, công cụ
Cosmic, Effort Estimation, Agile project [email protected] 9
Độ lớn phần mềm
Lớn cỡnào nhỉ ?
Mmm… quá nhiều chương trình, quá nhiều dòng lệnh
Mmm… quá nhiều chức năng ...
• Chỉ có ý nghĩa với chuyên viên kỹ thuật• Không có ý nghĩa với người quản lý,• Phụ thuộc môi trường,• Chỉ biết được sau khi đã phát triển xong
• Có ý nghĩa đối với người quản lý,• Có ý nghĩa với chuyên viên kỹ thuật,• Không phụ thuộc môi trường,• Có thể đo được sớm,• Độc lập với Phương pháp phát triển, Công nghệ sử dụng
KỸ
TH
UẬ
TC
HƯ
C N
ĂN
G
Cosmic, Effort Estimation, Agile project [email protected] 10
Độ lớn chức năng
Số đo lượng thông tin cần phải xử lý bởi phần mềm theo góc nhìn của người sử dụng:
Quan tâm đến Chức năng của phần mềm
Không quan tâm đến Giải pháp phát triển phần mềm
Không tính đến các đặc tính sau:
• Yêu cầu kỹ thuật (thời gian trả lời, v.v)
• Yêu cầu chất lượng
Cosmic, Effort Estimation, Agile project [email protected] 11
Các phương pháp đoYê
u cầ
u
InternalLogical
FilesExternal Interface
FilePhần mềm
Phần mềm
Phần mềm
Entry
Exit
Read
Write
Function Point
UC Point
COSMIC
Độ lớn
Công sức
Thời gian
Giá thành
Cosmic, Effort Estimation, Agile project [email protected] 12
ISO Recognized
ISO Recognized
Phương pháp đo Độ lớn chức năng
1980 1985 1990 1995 2000 2010-
Allan Albrecht FPA
IFPUG 4.0
IFPUG 4.1
MkII FPA
MkII FPA 1.3
Full FP’s V.1
3-D FP’s
Feature Points
ISO ‘FSM’
Standard
COSMIC
COSMIC: 1 phương pháp đơn giản có thể áp dụng cho Hệ thống TT và HT nhúng
IFPUG 4.3
Cosmic, Effort Estimation, Agile project [email protected] 13
Phương pháp COSMIC
http://www.cosmicon.com/
4 kiểu di chuyển dữ liệu:– Trao chuyển dữ liệu với người dùng: Đưa dữ liệu vào (E) và xuất dữ
liệu ra (X) thông qua giao diện người dùng– Trao chuyển dữ liệu với bộ nhớ: Đọc (R) và ghi (W) dữ liệu vào CSDL
Phần mềmCơ sở Dữ liệu
Đưa dữ liệu vào (E)
Xuất dữ liệu ra (X)
Ghi dữ liệu (W)
Đọc dữ liệu (R)
Cosmic, Effort Estimation, Agile project [email protected] 14
Ví dụ
: Người SD : Hệ thống
Yêu cầu thay đổi
Nhập ID nhân viên --> 1 Entry
Đọc thông tin nhân viên --> 1 Read
Hiện thông tin nhân viên --> 1 eXit
Nhập thông tin thay đổi --> 1 Entry
Save thông tin --> 0
Ghi --> 1 Write
Độ lớn
6 Cfp =
Đo độ lớn 1 chức năng: Thay đổi thông tin nhân viên
Cosmic, Effort Estimation, Agile project [email protected] 15
Thông báo lỗi --> 1 eXit
Áp dụng vào 2 dự án thực
Hệ thống quản lý công văn• Đội ngũ phát triển: 1 trưởng dự án và 5 kỹ sư tin học mới ra trường• Công nghệ sử dụng: ASP, SQL• Thời gian phát triển: 75 ngày bao gồm cả 5 khâu khảo sát, phân tích, thiết
kế, cài đặt, kiểm thử
Hệ thống quản lý khai báo tờ khai hải quan • Đội ngũ phát triển: 1 trưởng dự án, 3 kỹ sư phần mềm có kinh nghiệm• Công nghệ sử dụng: ASP, SQL• Thời gian hoàn thành: 45 ngày
Cosmic, Effort Estimation, Agile project [email protected] 16
Đo độ lớn và ước lượng năng suất
Dự án Độ lớn phần mềm (cfsu)
Công sức thực tế(người x giờ)
Năng suất phát triển(người x giờ)/cfsu
1 979 3600 3,7
2 463 1440 3,1
Năng suất phát triển phần mềm (người x giờ/cfsu)
Kiểu ứng dụng
Số lượng dự án Lớn nhất Trung bình Trung vị Nhỏ nhất
MIS 15 4,20 1,89 1,49 0,69
Thống kê của tổ chức ISBSG
Chỉ số Năng suất cho thấy: đội ngũ thứ nhất có Năng suất sản xuất phần mềm kém hơn (lý do: ít kinh nghiệm hơn)
Năng suất phát triển phần mềm này là cơ sở để chúng ta đánh giá năng lực các nhà thầu trong việc đấu thầu dự án
Cosmic, Effort Estimation, Agile project [email protected] 17
Ước lượng Công sức phát triển PM
Dự án
Năng suất trung bình (người * giờ/cfsu)
Độ lớn (cfsu)
Công sức dự đoán (người * giờ)
Công sức thực tế (người * giờ)
Chênh lệch(%)
1 3.4 979 3328.6 3600 7.5
2 3.4 463 1574.2 1440 9.3
So sánh giữa công sức thực tế và công sức ước lượng dựa trên độ lớn chức năng phần mềm, chúng ta có thể nhận thấy có sự chênh lệch khoảng 10%.
Cosmic, Effort Estimation, Agile project [email protected] 18
Productivity, Cost, Quality Metrics
1. Function Size Units per Staff Hour
M1=Software Size
Staff HoursM1=
100 Cfp
5 Staffs x 10h
= 2 Cfp/Staff-hour
2. Cost per Function Size Unit
M2=Software Cost
Software SizeM2=
2000 $
100 Cfp= 20 $ / Cfp
3. Defects per Function Size Unit
M3 =Numb. of Defects
Software SizeM3 =
20 defects
100 Cfp= 0.2 defect / Cfp
Cosmic, Effort Estimation, Agile project [email protected] 19
Học sử dụng COSMIC-FFP
Tài liệu:• Hướng dẫn sử dụng cùng các ví dụ cụ thể• Download tự do tại http://www.cosmicon.com/
Học sử dụng • Theo chương trình lấy Chứng chỉ quốc tế của tổ chức COSMICON• Khóa học ngắn hạn: 2 ngày với các ví dụ cụ thể• Tự học: 1 tháng
Cosmic, Effort Estimation, Agile project [email protected] 20
Mô hình quản lý hợp đồng PM
Hợp đồng
….
….
…
Chủ đầu tư
Nhà cung cấp
Nhà tư vấn(Scope Manager)• độc lập• chuyên gia đo lường• đo độ lớn chức năng• ước lượng giá• ước lượng Thay đổi• theo dõi tiến độ • chi phí 1-2%
Theo khuyến cáo của ISBSG
Cosmic, Effort Estimation, Agile project [email protected] 21
Phương pháp southernSCOPE
Do chính phủ Bang Victoria (Australia) phát triển
http://www.egov.vic.gov.au/
Đã và đang được sử dụng ở: Châu Âu, Bắc Âu (northernSCOPE), Brazil, Nhật (easternSCOPE), etc.
Được ISBSG khuyến cáo
Cosmic, Effort Estimation, Agile project [email protected] 22
Phương pháp southernSCOPE
Xác định Yêu cầu dự ánThuê tư vấnƯớc lựơng: độ lớn, chi phí, thời gian
Viết tài liệu mô tả dự án
Mời thầu: đơn giá $ / Điểm chức năng
Chọn nhà thầu: dựa trên đơn giá + ….
Phân tích: Đặc tả chi tiết Yêu cầu PM
Đo Độ lớn chức năng theo Yêu cầu PM
Chọn các chức năng phải thực hiện phù hợp với kinh phíThống nhất Số đo Độ lớn chức năng
Nhà thầu phát triển PM
Chuyển giao PM
Thanh lý hợp đồng theo Số ĐCN bàn giao
1
2
3
4
5
6
Chủ đầu tư
Nhà tư vấn
Nhà cung cấp
$/m2
Cosmic, Effort Estimation, Agile project [email protected] 23
How do you Estimate In Agile projects ?
Cosmic, Effort Estimation, Agile project [email protected] 24
Story points !Which one is suitable for me?
Cosmic, Effort Estimation, Agile project [email protected] 25
In Agile projects,Can you estimate: • Productivity,• Unit Cost,• Defect rate
Per Story Points ???
Cosmic, Effort Estimation, Agile project [email protected] 26
Big Boss
Having only User Story Points (USP) calibrated solely on effort and no
common definition of what is a USP, means it is difficult to perform internal
benchmarking and impossible to exploit external benchmark data.
So, COSMIC method can help …..
Cosmic, Effort Estimation, Agile project [email protected] 27
Source: Grant Rule, Sizing User Stories with the COSMIC FSM, http://www.cosmicon.com
So, COSMIC method can help …..
Cosmic, Effort Estimation, Agile project [email protected] 28
Improving Agile Software Project Planning using the COSMIC Method, Jean-Marc Desharnais et al.
US1. Customers can rent movies on-site
Client’s infos: name, address, tel, client number
What information needed to rent a film?
Film’s infos: title, acteur, year, category
Price infos: regular price, privilege price
According to COSMIC Method:• 3 Entries• 3 Reads• 3 Writes• 4 eXits
Total size: 13 Cfp
If we know Productivity …
Cosmic, Effort Estimation, Agile project [email protected] 29
US1. Customers can rent movies on-site
If Productivity = 3.0 man-hours per Cfp
Then Effort to develop US1 = 3.0 x 13 = 39 man-hours
Functional size of US1 = 13 Cfp
Sizing 2 projects with COSMIC method
Cosmic, Effort Estimation, Agile project [email protected] 30
Library Management Online Auction
o Create user (5 Cfp)o Delete user (6 Cfp)o Modify user (6 Cfp)
o Create book (5 Cfp)o Delete book (6 Cfp)o Modify book (6 Cfp)
o Make reservation (13 Cfp)o Borrow book (9 Cfp)…….TOTAL = 56 cfp
Create user (5 Cfp) Delete user (6 Cfp) Modify user (6 Cfp) Set user permission (5 Cfp)
Create new auction (5 Cfp) Cancel auction (6 Cfp) Search auction (5 Cfp)
Place bid (13 Cfp) Buy it now (9 Cfp)……..TOTAL = 60 Cfp
Cosmic, Effort Estimation, Agile project [email protected] 31
Ref: 1
How to estimatePoC in Agile project ???
Percentage of Completion
Cosmic, Effort Estimation, Agile project [email protected] 32
Percentage of Completion
Cosmic, Effort Estimation, Agile project [email protected] 33
PoC = Size done / Size total
With size measured with COSMIC, you can estimate
Size done = Size implemented (“done”) up to the Ith given iteration
Size total = the Total Planned Size
Productivity, Cost, Quality Metrics
1. Function Size Units per Staff Hour
M1=Software Size
Staff HoursM1=
100 Cfp
5 Staffs x 10h
= 2 Cfp/Staff-hour
2. Cost per Function Size Unit
M2=Software Cost
Software SizeM2=
2000 $
100 Cfp= 20 $ / Cfp
3. Defects per Function Size Unit
M3 =Numb. of Defects
Software SizeM3 =
20 defects
100 Cfp= 0.2 defect / Cfp
Cosmic, Effort Estimation, Agile project [email protected] 34
Cosmic, Effort Estimation, Agile project [email protected] 35
References
1. Berardi, Enrico, and Luca Santillo. "COSMIC-based Project Management in Agile Software Development and Mapping onto related CMMI-DEV Process Areas.”, IWSM/MetriKon 2010
2. Sylvie Trudel & Luigi Buglione, Guideline for Sizing Agile Projects with COSMIC
3. Jean-Marc Desharnais et al., Using the COSMIC method to estimate Agile user stories, Profes '11 Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement
4. Others