35
[COSMIC FFP for Estimation in Agile Projects[ Prepared by: HỒ Tường Vinh

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

[COSMIC FFP for Estimation in

Agile Projects[

Prepared by: HỒ Tường Vinh

Page 2: ScrumDay Vietnam 2012 - Software project estimation for Scrum - Dr.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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Độ 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

C N

ĂN

G

Cosmic, Effort Estimation, Agile project [email protected] 10

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

Độ 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

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

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

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

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

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

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

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

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

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

Á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

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

Đ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

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

Ướ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

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

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

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

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

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

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

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

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

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

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

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

How do you Estimate In Agile projects ?

Cosmic, Effort Estimation, Agile project [email protected] 24

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

Story points !Which one is suitable for me?

Cosmic, Effort Estimation, Agile project [email protected] 25

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

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.

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

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

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

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

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

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

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

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

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

Cosmic, Effort Estimation, Agile project [email protected] 31

Ref: 1

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

How to estimatePoC in Agile project ???

Percentage of Completion

Cosmic, Effort Estimation, Agile project [email protected] 32

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

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

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

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

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

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