Fp (function point) là gì
Ở Nhật đợt vừa rồi đc nghỉ tết Tây nên N ngồi học/nghiên cứu phương pháp estimation này để xem lợi hại của nó thế nào, sau khi nghiên cứu xong nên muốn viết 1 bài chia sẻ cho anh em. Hi vọng giúp ích cho anh em PM trong việc estimation Vì cái phương pháp này nói có mà cả ngày nên N sẽ cố gắng viết ngắn gọn và tóm tắt nhất có thể (hi vọng dễ hiểu T-T). Còn slide thì mọi người có thể tham khảo slide trên fsoft insight (~130 slide, chỉ dành cho người làm
fsoft :D) + search thêm trên google. Bài viết này không nhắm đến việc so sánh với các phương pháp estimation khác. Quy cho cùng estimation cũng chỉ là estimation không thể đúng chính xác 100% và mỗi phương pháp đều có 1 điểm mạnh/yếu riêng của mình. —- Khái quát Như tên gọi, phương pháp Function Point (FP) cơ bản dựa vào việc đánh điểm/trọng số cho các chức năng của phần mềm để từ đó ra được số FP cuối cùng rồi convert ra con số MM dựa trên 1 số parameter như
ngôn ngữ gì, fulllife cycle hay 1 phần công đoạn. Kỹ thuật quan trọng nhất của FP chính là phải biết ĐẾM ILF, EIF, DET, RET, EI, EO, EQ, FTR (giải thích bên dưới),. Đếm có 2 đối tượng cần được đếm là Data và Transaction. Nói đơn giản data tương ứng với table/item trong DB, còn transaction là các hành động/event hay các chức năng chính của phần mềm (như thêm, xóa sửa, hiển thị,…) Đếm data: có 2 loại data
Mỗi loại data sẽ có 2 khái niệm con
Đếm transaction: có 3 loại transaction
Mỗi loại transaction lại có 2 khái niệm con là FTR và DET.
— Dựa vào 1 template có sẵn (FSOFT có), chỉ cần count xong các item đã mô tả ở trên ta sẽ ra con số UFP tức Unadjusted Function Point). Sau đó tiếp tục trả lời 14 câu hỏi về đặc điểm của phần mềm được phát triển để tính toán ra 1 hệ số VAF. Cuối cùng ta sẽ có Final FP = UFP * VAF. Cách tính toán thế nào mọi người không cần quan tâm lắm vì trong excel đã hỗ trợ hết (file excel chỉ dành cho người làm fsoft :D) — Vậy pp FP này phù hợp cho những style dự án nào? PP này phù hợp cho các dự án đặc thù về nghiệp vụ doanh nghiệp. — Cá nhân N nghĩ, estimation theo pp FP khó nhất là vụ đếm, nếu mình đếm sai, không đúng thì sẽ ra lệch rất nhiều + nếu có quá nhiều data/table kiểu “quá đơn giản” thì FP cũng sẽ bị đội lên rất nhiều. PP này phù hợp khi mình đã mường tượng ra 1 mức nào đó ở Basic Design sẽ gồm những table gì, item gì.Việc phân tách hóa quá nặng về hướng kỹ thuật như chia tách bảng để tối ưu,v.v… cũng không dc khuyến khích vì đó là thuộc công đoạn sau và end-user không hiểu nó là gì và cũng sẽ gây đội FP lên khá cao. – Tỉ lệ các công đoạn theo %MM (copy trên mạng)
1 số dự án thì mình dùng tỉ lệ khác như bên dưới
– FP/MM theo 1 số ngôn ngữ phổ biết (năng suất trung bình của thế giới thì phải, không rõ scope)
– Update ngày 2021/07/04 Thật sự bất ngờ vì không nghĩ bài viết này của mình được nhiều người tham khảo thế, ngay cả trong công ty cũng rất nhiều bạn đã search ra bài viết này và hỏi mình nhiều câu hỏi. Sẵn dạo gần đây mình cũng đang phải est 1 số dự án bằng function point cho khách nên sẵn update thêm một số thông tin mình nghĩ là có ích cho mọi người.
Một số checklist khi est bằng FPT
|