1. [COSMIC FFP for
Estimation in
Agile Projects[
Prepared by: HỒ Tường Vinh
2. What keeps a PM awake at Night?
Will my team
deliver on time &
budget? How should I
Did we estimate
monitor
the effort
progress?
correctly?
How do I justify a
Do we Change Request
understand the estimate?
requirements?
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 2
3. Có thể đo được độ lớn PM không ?
200 m2
400 m2
Chức năng Chức năng
Phần mềm Phần mềm
500 CFP CFP
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 3
4. Sử dụng Độ lớn phần mềm
Phân tích Lập kế
nghiệp vụ hoạch
Quyết định
đầu tư
Xây dựng
Theo dõi
Yêu cầu
tiến độ
Đo độ lớn Ước lượng
Công sức,
Giá thành, Đúc rút
Thời gian kinh nghiệm
Nghiên
cứu khả thi Quản lý
hợp đồng
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 4
5. Sử dụng độ lớn
Ví dụ: đo năng suất phát triển
Công sức thực tế (giờ công)
Năng suất =
Độ 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 Độ lớn phần mềm của ‘Dự án mới’
=
(giờ công) Năng suất trong các dự án trước
Gia giảm cho
x
‘Dự án mới’
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 5
6. Ví dụ về ước lượng dự án
Ƣớc lƣợng dựa trên
Độ lớn chức năng Đặc tính dự án cơ sở DL
Dự án X – 112 Cfsu • Client Server Công sức = 6.5 tháng công
• New Development
• Below Average Thời gian = 2.75 tháng
Personnel Management
• Above Average Process Năng suất = 17 Cfsu / tháng
and Methods
Ƣớc lƣợng dựa trên
Hệ số gia giảm Kết quả cuối cùng
cơ sở dữ liệu
= 1.11 Công sức = 7.2 tháng
Công sức = 6.5 Tháng
= 1.11 Thời gian = 3.05 months
Thời gian = 2.75 tháng
= 1.11 Năng suất= 15 Cfsu / tháng
Năng suất =17 Cfsu / tháng
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 6
7. Quy trình đo lường
Bƣớc 1 Bƣớc 2
Chuẩn bị Đo Độ lớn Đánh giá
cho việc Chức năng Đặc tính
đo lường Dự án
Cơ sở dữ liệu
Quy trình Chỉ số đo ước tính
lặp lại & thực tế
Ước lượng Bƣớc 3
Xác định
Ước lượng các
Thông báo Chỉ số
Kết quả Chỉ số: công sức,
Năng suất
Thời gian, Kinh phí
Bƣớc 4
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 7
8. Mô hình Ước lượng dự án PM
ĐẶC TẢ PM Đặc tính
Chi phí Độ lớn ThờI gian
Độ lớn ThờI gian
CV Phân tích
ĐO ĐỘ XÁC ĐỊNH CHỌN DỰ ÁN ƢỚC LƢỢNG THỰC TẾ
LỚN
ĐẶC TINH TƢƠNG TỰ
Ngƣời đo Quản trị dự án PM PM / Khách hàng Chỉ số
(PM)
Báo cáo
Mô hình ước lượng chỉ có hiệu quả dựa trên Cơ sở So sánh
một Cơ sở dữ liệu phù hợp dữ liệu
Cần có 1 CSDL quốc gia (mô hình ISBSG)
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 8
9. Xây dựng CSDL dự á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
Cơ sở
Quản trị dự án: phương pháp dữ liệu
Dự án
Công nghệ: công nghệ sử dụng, công cụ
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
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 9
10. Độ lớn phần mềm
Mmm… quá nhiều chƣơng trình,
quá nhiều dòng lệnh
KỸ THUẬT
• 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
Lớn cỡ
nào nhỉ ? Mmm… quá nhiều chức năng ...
• Có ý nghĩa đối với người quản lý,
CHƢC NĂNG
• 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
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 10
11. Độ 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 Ho.Tuong.Vinh@gmail.com 11
12. Các phương pháp đo
Function Point
ISO Recognized
Internal
Logical
External
Files
Interface
File
Phần mềm
Độ lớn
Yêu cầu
UC Point
Công sức
Thời gian
Phần mềm
Giá thành
Entry Read
Exit Write
COSMIC ISO Recognized
Phần mềm
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 12
13. Phương pháp đo Độ lớn chức năng
COSMIC: 1 phương pháp
đơn giản có thể áp dụng cho
Hệ thống TT và HT nhúng ISO ‘FSM’
Standard
MkII
FPA 1.3
3-D
FP’s COSMIC
MkII
FPA Full FP’s
V.1
Feature IFPUG IFPUG
Points 4.1 4.3
IFPUG
Allan 4.0
Albrecht
FPA
1980 1985 1990 1995 2000 2010-
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 13
14. Phương pháp COSMIC
Đưa dữ liệu vào (E) Ghi dữ liệu (W)
Cơ sở
Phần mềm
Dữ liệu
Xuất dữ liệu ra (X) Đọc dữ liệu (R)
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
http://www.cosmicon.com/
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 14
15. Ví dụ Đo độ lớn 1 chức năng: Thay đổi
thông tin nhân viên
: 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 Độ lớn
Hiện thông tin nhân viên --> 1 eXit
= 6C fp
Nhập thông tin thay đổi --> 1 Entry
Save thông tin --> 0
Ghi --> 1 Write
Thông báo lỗi --> 1 eXit
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 15
16. Á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 Ho.Tuong.Vinh@gmail.com 16
17. Đo độ lớn và ước lượng năng suất
Dự án Độ lớn phần mềm Công sức thực tế Năng suất phát triển
(cfsu) (người x giờ) (người x giờ)/cfsu
1 979 3600 3,7
2 463 1440 3,1
Thống kê của tổ chức ISBSG
Năng suất phát triển phần mềm (ngƣời x
giờ/cfsu)
Kiểu ứng Số lƣợng dự án Lớn nhất Trung bình Trung vị Nhỏ nhất
dụng
MIS 15 4,20 1,89 1,49 0,69
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 Ho.Tuong.Vinh@gmail.com 17
18. Ước lượng Công sức phát triển PM
Dự Năng suất trung Độ lớn Công sức Công sức Chênh lệch
án bình (ngƣời * (cfsu) dự đoán thực tế (%)
giờ/cfsu) (ngƣời * giờ) (ngƣời * giờ)
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 Ho.Tuong.Vinh@gmail.com 18
19. Productivity, Cost, Quality Metrics
1. Function Size Units per Staff Hour
Software Size 100 Cfp
M1 = = 2 Cfp/Staff-hour
M1 =
Staff Hours 5 Staffs x 10h
2. Cost per Function Size Unit
Software Cost 2000 $
M2 = = 20 $ / Cfp
M2 = 100 Cfp
Software Size
3. Defects per Function Size Unit
Numb. of Defects 20 defects
M3 = M3 = = 0.2 defect / Cfp
Software Size 100 Cfp
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 19
20. 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 Ho.Tuong.Vinh@gmail.com 20
21. Mô hình quản lý hợp đồng PM
Chủ đầu tư Hợp đồng
….
…. Nhà tƣ vấn
(Scope Manager)
…
• độc lập
• chuyên gia đo lường
Nhà cung cấp • đ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 Ho.Tuong.Vinh@gmail.com 21
22. 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 Ho.Tuong.Vinh@gmail.com 22
23. Phƣơng pháp southernSCOPE
Xác định Yêu cầu dự án
1 Thuê tƣ vấn
Ƣớc lựơng: độ lớn, chi phí, thời gian
$/m2
Viết tài liệu mô tả dự án Chủ đầu tư
2 Mời thầu: đơn giá $ / Điểm chức năng
Chọn nhà thầu: dựa trên đơn giá + ….
3 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
Nhà tư vấn
4 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
5 Nhà thầu phát triển PM
Chuyển giao PM
6 Nhà cung cấp
Thanh lý hợp đồng theo Số ĐCN bàn giao
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 23
24. How do you
Estimate
In Agile projects ?
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 24
25. Story points !
Which one is suitable for me?
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 25
26. In Agile projects,
Can you estimate:
• Productivity,
• Unit Cost,
• Defect rate
Per Story Points ??? 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.
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 26
27. So, COSMIC method can help …..
Source: Grant Rule, Sizing User Stories with the COSMIC FSM, http://www.cosmicon.com
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 27
28. So, COSMIC method can help …..
US1. Customers can rent movies on-site
What information
needed to rent a film?
Client’s infos: name, address, tel, client number
According to COSMIC Method:
Film’s infos: title, acteur, year, category
• 3 Entries
• 3 Reads
Price infos: regular price, privilege price
• 3 Writes
• 4 eXits
Total size: 13 Cfp
Improving Agile Software Project Planning using the COSMIC Method, Jean-Marc Desharnais et al.
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 28
29. If we know Productivity …
US1. Customers can rent movies on-site
Functional size of US1 = 13 Cfp
If Productivity = 3.0 man-hours per Cfp
Then Effort to develop US1 = 3.0 x 13 = 39 man-hours
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 29
30. Sizing 2 projects with COSMIC method
Library Management Online Auction
o Create user (5 Cfp) Create user (5 Cfp)
o Delete user (6 Cfp) Delete user (6 Cfp)
o Modify user (6 Cfp) Modify user (6 Cfp)
Set user permission (5 Cfp)
o Create book (5 Cfp)
Create new auction (5 Cfp)
o Delete book (6 Cfp) Cancel auction (6 Cfp)
o Modify book (6 Cfp) Search auction (5 Cfp)
o Make reservation (13 Cfp) Place bid (13 Cfp)
o Borrow book (9 Cfp) Buy it now (9 Cfp)
……. ……..
TOTAL = 56 cfp TOTAL = 60 Cfp
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 30
32. Percentage of Completion
How to estimate
PoC
in Agile project ???
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 32
33. Percentage of Completion
With size measured with COSMIC, you can estimate
PoC = Size done / Size total
Size done = Size implemented (“done”) up to
the Ith given iteration
Size total = the Total Planned Size
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 33
34. Productivity, Cost, Quality Metrics
1. Function Size Units per Staff Hour
Software Size 100 Cfp
M1 = = 2 Cfp/Staff-hour
M1 =
Staff Hours 5 Staffs x 10h
2. Cost per Function Size Unit
Software Cost 2000 $
M2 = = 20 $ / Cfp
M2 = 100 Cfp
Software Size
3. Defects per Function Size Unit
Numb. of Defects 20 defects
M3 = M3 = = 0.2 defect / Cfp
Software Size 100 Cfp
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 34
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
Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 35