ScrumDay Vietnam 2012 - Software project estimation for Scrum - Dr.Vinh

1,752
-1

Published on

Software project estimation for scrum2012
Presented at ScrumDay Vietnam 2012
By Dr. Ho Tuong Vinh

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,752
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
85
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ScrumDay Vietnam 2012 - Software project estimation for Scrum - Dr.Vinh

  1. 1. [COSMIC FFP for Estimation in Agile Projects[Prepared by: HỒ Tường Vinh
  2. 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. 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 CFPCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 3
  4. 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 đồngCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 4
  5. 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. 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ở DLDự á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ùngcơ sở dữ liệu = 1.11 Công sức = 7.2 thángCông sức = 6.5 Tháng = 1.11 Thời gian = 3.05 monthsThời gian = 2.75 tháng = 1.11 Năng suất= 15 Cfsu / thángNăng suất =17 Cfsu / tháng Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 6
  7. 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ệuQuy 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. 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 gianCV 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. 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 LimitedCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 9
  10. 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ụngCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 10
  11. 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ượngCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 11
  12. 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ềmCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 12
  13. 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. 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. 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 eXitCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 15
  16. 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àyCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 16
  17. 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,1Thố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ự ánCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 17
  18. 18. Ước lượng Công sức phát triển PMDự 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.52 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. 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 CfpCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 19
  20. 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ángCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 20
  21. 21. Mô hình quản lý hợp đồng PMChủ đầu tư Hợp đồng  ….  …. Nhà tƣ vấn (Scope Manager) … • độc lập • chuyên gia đo lườngNhà 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. 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. 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. 24. How do you Estimate In Agile projects ?Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 24
  25. 25. Story points ! Which one is suitable for me?Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 25
  26. 26. In Agile projects, Can you estimate: • Productivity, • Unit Cost, • Defect rate Per Story Points ??? Big BossHaving only User Story Points (USP) calibrated solely on effortand no common definition of what is a USP, means it is difficult toperform internal benchmarking and impossible to exploitexternal benchmark data.Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 26
  27. 27. So, COSMIC method can help …..Source: Grant Rule, Sizing User Stories with the COSMIC FSM, http://www.cosmicon.comCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 27
  28. 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 numberAccording to COSMIC Method: Film’s infos: title, acteur, year, category• 3 Entries• 3 Reads Price infos: regular price, privilege price• 3 Writes• 4 eXitsTotal 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. 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-hoursCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 29
  30. 30. Sizing 2 projects with COSMIC methodLibrary Management Online Auctiono 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 CfpCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 30
  31. 31. Ref: 1 Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 31
  32. 32. Percentage of Completion How to estimate PoC in Agile project ???Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 32
  33. 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 SizeCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 33
  34. 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 CfpCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 34
  35. 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. OthersCosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 35
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×