SlideShare una empresa de Scribd logo
1 de 35
[COSMIC FFP for
  Estimation in
 Agile Projects[
Prepared by:   HỒ Tường Vinh
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
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
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
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
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
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
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
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
Độ 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
Độ 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
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
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
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
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
Á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
Đ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
Ướ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
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
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
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
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
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
How do you
        Estimate
        In Agile projects ?



Cosmic, Effort Estimation, Agile project   Ho.Tuong.Vinh@gmail.com   24
Story points !
  Which one is suitable for me?




Cosmic, Effort Estimation, Agile project   Ho.Tuong.Vinh@gmail.com   25
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
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
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
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
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
Ref: 1
 Cosmic, Effort Estimation, Agile project   Ho.Tuong.Vinh@gmail.com   31
Percentage of Completion


                                           How to estimate
                                           PoC
                                           in Agile project ???




Cosmic, Effort Estimation, Agile project       Ho.Tuong.Vinh@gmail.com   32
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
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
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

Más contenido relacionado

Más de DUONG Trong Tan

Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoNgười lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoDUONG Trong Tan
 
Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?DUONG Trong Tan
 
Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)DUONG Trong Tan
 
Các nguyên lí giáo dục
Các nguyên lí giáo dụcCác nguyên lí giáo dục
Các nguyên lí giáo dụcDUONG Trong Tan
 
Vì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiVì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiDUONG Trong Tan
 
Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)DUONG Trong Tan
 
Scrum - a tool to achieve agility
Scrum - a tool to achieve agilityScrum - a tool to achieve agility
Scrum - a tool to achieve agilityDUONG Trong Tan
 
Training is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamTraining is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamDUONG Trong Tan
 
Đường vào agile - 2013
Đường vào agile - 2013Đường vào agile - 2013
Đường vào agile - 2013DUONG Trong Tan
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developerDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangDUONG Trong Tan
 
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,DoiScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,DoiDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - Trung
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - TrungScrumDay Vietnam 2012 - Scrum tu chien hao VNext - Trung
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - TrungDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)DUONG Trong Tan
 
ScrumDayVietnam 2012 - Agile tutorial -Tan
ScrumDayVietnam 2012 - Agile tutorial -TanScrumDayVietnam 2012 - Agile tutorial -Tan
ScrumDayVietnam 2012 - Agile tutorial -TanDUONG Trong Tan
 
FOSS and agile software development
FOSS and agile software developmentFOSS and agile software development
FOSS and agile software developmentDUONG Trong Tan
 

Más de DUONG Trong Tan (20)

Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoNgười lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
 
Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?
 
Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)
 
Các nguyên lí giáo dục
Các nguyên lí giáo dụcCác nguyên lí giáo dục
Các nguyên lí giáo dục
 
Vì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiVì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏi
 
Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)
 
Scrum - a tool to achieve agility
Scrum - a tool to achieve agilityScrum - a tool to achieve agility
Scrum - a tool to achieve agility
 
Agile mindset
Agile mindsetAgile mindset
Agile mindset
 
Training is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamTraining is not enough - Coaching your agile team
Training is not enough - Coaching your agile team
 
Đường vào agile - 2013
Đường vào agile - 2013Đường vào agile - 2013
Đường vào agile - 2013
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developer
 
ScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - Nhan
 
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
 
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,DoiScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
ScrumDay Vietnam 2012- Thực hành XP với Coding Dojo - Tu,Doi
 
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - Trung
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - TrungScrumDay Vietnam 2012 - Scrum tu chien hao VNext - Trung
ScrumDay Vietnam 2012 - Scrum tu chien hao VNext - Trung
 
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)
ScrumDay Vietnam 2012 - Open company (talk on scrumday 9 dec2012)
 
ScrumDayVietnam 2012 - Agile tutorial -Tan
ScrumDayVietnam 2012 - Agile tutorial -TanScrumDayVietnam 2012 - Agile tutorial -Tan
ScrumDayVietnam 2012 - Agile tutorial -Tan
 
Agile Learning
Agile LearningAgile Learning
Agile Learning
 
Agile Education
Agile EducationAgile Education
Agile Education
 
FOSS and agile software development
FOSS and agile software developmentFOSS and agile software development
FOSS and agile software development
 

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

  • 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
  • 31. Ref: 1 Cosmic, Effort Estimation, Agile project Ho.Tuong.Vinh@gmail.com 31
  • 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