Kỹ thuật ước tính - Tổng quan
Estimation là quá trình tìm kiếm ước tính, hoặc ước lượng, là một giá trị có thể được sử dụng cho một số mục đích ngay cả khi dữ liệu đầu vào có thể không đầy đủ, không chắc chắn hoặc không ổn định.
Ước tính xác định cần bao nhiêu tiền, công sức, nguồn lực và thời gian để xây dựng một hệ thống hoặc sản phẩm cụ thể. Ước tính dựa trên -
- Dữ liệu quá khứ / Kinh nghiệm trong quá khứ
- Tài liệu / Kiến thức sẵn có
- Assumptions
- Rủi ro đã xác định
Bốn bước cơ bản trong Ước tính Dự án Phần mềm là:
- Ước tính kích thước của sản phẩm phát triển.
- Ước tính nỗ lực theo người-tháng hoặc người-giờ.
- Ước tính lịch trình trong các tháng dương lịch.
- Ước tính chi phí dự án bằng đơn vị tiền tệ đã thỏa thuận.
Các quan sát về ước tính
Ước tính không cần phải là nhiệm vụ một lần trong một dự án. Nó có thể diễn ra trong -
- Mua lại một Dự án.
- Lập kế hoạch Dự án.
- Thực hiện Dự án khi có nhu cầu.
Phạm vi dự án phải được hiểu rõ trước khi quá trình ước tính bắt đầu. Sẽ rất hữu ích nếu có Dữ liệu dự án lịch sử.
Các chỉ số của dự án có thể cung cấp quan điểm lịch sử và đầu vào có giá trị để tạo ra các ước tính định lượng.
Việc lập kế hoạch đòi hỏi các nhà quản lý kỹ thuật và nhóm phần mềm phải đưa ra cam kết ban đầu vì nó dẫn đến trách nhiệm và giải trình.
Kinh nghiệm trong quá khứ có thể hỗ trợ rất nhiều.
Sử dụng ít nhất hai kỹ thuật ước tính để đạt được ước tính và đối chiếu các giá trị kết quả. Tham khảo Kỹ thuật phân tách trong phần tiếp theo để tìm hiểu về điều chỉnh ước tính.
Các kế hoạch nên lặp đi lặp lại và cho phép điều chỉnh khi thời gian trôi qua và biết thêm chi tiết.
Phương pháp tiếp cận ước tính dự án chung
Phương pháp Dự toán Dự án được sử dụng rộng rãi là Decomposition Technique. Kỹ thuật phân rã có cách tiếp cận chia để trị. Quy mô, Nỗ lực và Ước tính chi phí được thực hiện theo từng bước bằng cách chia nhỏ Dự án thành các Chức năng chính hoặc các Hoạt động Kỹ thuật Phần mềm liên quan.
Step 1 - Hiểu rõ phạm vi của phần mềm sẽ xây dựng.
Step 2 - Tạo ước tính kích thước phần mềm.
Bắt đầu với tuyên bố về phạm vi.
Phân chia phần mềm thành các chức năng có thể được ước tính riêng lẻ.
Tính kích thước của từng hàm.
Phát huy nỗ lực và ước tính chi phí bằng cách áp dụng các giá trị kích thước cho các chỉ số năng suất cơ bản của bạn.
Kết hợp các ước tính chức năng để tạo ra một ước tính tổng thể cho toàn bộ dự án.
Step 3- Tạo ra một ước tính về nỗ lực và chi phí. Bạn có thể đạt được nỗ lực và ước tính chi phí bằng cách chia nhỏ dự án thành các hoạt động kỹ thuật phần mềm liên quan.
Xác định trình tự các hoạt động cần thực hiện để dự án được hoàn thành.
Chia các hoạt động thành các nhiệm vụ có thể đo lường được.
Ước tính nỗ lực (tính bằng giờ / ngày) cần thiết để hoàn thành mỗi nhiệm vụ.
Kết hợp các ước tính nỗ lực của các nhiệm vụ của hoạt động để tạo ra một ước tính cho hoạt động.
Nhận đơn vị chi phí (tức là chi phí / đơn vị nỗ lực) cho mỗi hoạt động từ cơ sở dữ liệu.
Tính tổng nỗ lực và chi phí cho mỗi hoạt động.
Kết hợp nỗ lực và ước tính chi phí cho từng hoạt động để tạo ra nỗ lực tổng thể và ước tính chi phí cho toàn bộ dự án.
Step 4- Ước tính đối chiếu: So sánh các giá trị thu được từ Bước 3 với các giá trị thu được từ Bước 2. Nếu cả hai bộ ước lượng đều đồng ý, thì các con số của bạn có độ tin cậy cao. Mặt khác, nếu xảy ra các ước tính khác nhau, hãy tiến hành điều tra thêm về việc liệu -
Phạm vi của dự án không được hiểu đầy đủ hoặc đã bị hiểu sai.
Phân tích chức năng và / hoặc hoạt động không chính xác.
Dữ liệu lịch sử được sử dụng cho các kỹ thuật ước tính không phù hợp với ứng dụng, hoặc lỗi thời hoặc đã được áp dụng sai.
Step 5 - Xác định nguyên nhân của phân kỳ và sau đó đối chiếu các ước lượng.
Độ chính xác ước tính
Độ chính xác là một dấu hiệu cho thấy điều gì đó gần với thực tế. Bất cứ khi nào bạn tạo một ước tính, mọi người đều muốn biết các con số gần với thực tế như thế nào. Bạn sẽ muốn mọi ước tính chính xác nhất có thể, dựa trên dữ liệu bạn có tại thời điểm tạo nó. Và tất nhiên bạn không muốn trình bày ước tính theo cách tạo cảm giác tin tưởng sai lầm vào các con số.
Các yếu tố quan trọng ảnh hưởng đến độ chính xác của ước tính là -
Độ chính xác của tất cả dữ liệu đầu vào của ước tính.
Độ chính xác của bất kỳ phép tính ước tính nào.
Dữ liệu lịch sử hoặc dữ liệu ngành được sử dụng để hiệu chỉnh mô hình phù hợp với dự án bạn đang ước tính đến mức nào.
Khả năng dự đoán của quá trình phát triển phần mềm của tổ chức bạn.
Tính ổn định của cả yêu cầu sản phẩm và môi trường hỗ trợ nỗ lực kỹ thuật phần mềm.
Dự án thực tế có được lên kế hoạch, giám sát và kiểm soát cẩn thận hay không và không có bất ngờ lớn nào xảy ra gây ra sự chậm trễ không mong muốn.
Sau đây là một số hướng dẫn để đạt được ước tính đáng tin cậy -
- Ước tính cơ sở về các dự án tương tự đã được hoàn thành.
- Sử dụng các kỹ thuật phân tách tương đối đơn giản để tạo ra các ước tính chi phí và nỗ lực của dự án.
- Sử dụng một hoặc nhiều mô hình ước tính thực nghiệm để ước tính chi phí và nỗ lực phần mềm.
Tham khảo phần Hướng dẫn ước tính trong chương này.
Để đảm bảo tính chính xác, bạn luôn được khuyến cáo ước lượng bằng ít nhất hai kỹ thuật và so sánh kết quả.
Các vấn đề về ước tính
Thông thường, các nhà quản lý dự án sử dụng cách ước tính lịch trình bỏ qua để ước tính kích thước. Điều này có thể là do lịch trình do quản lý cao nhất hoặc nhóm tiếp thị đặt ra. Tuy nhiên, bất kể lý do là gì, nếu điều này được thực hiện, thì ở giai đoạn sau, rất khó để ước tính lịch trình để phù hợp với các thay đổi phạm vi.
Trong khi ước tính, một số giả định nhất định có thể được đưa ra. Điều quan trọng cần lưu ý là tất cả các giả định này trong bảng ước tính, vì một số vẫn không ghi các giả định trong bảng ước tính.
Ngay cả những ước tính tốt cũng có những giả định, rủi ro và sự không chắc chắn cố hữu, nhưng chúng thường được coi là chính xác.
Cách tốt nhất để thể hiện ước tính là một loạt các kết quả có thể xảy ra, chẳng hạn như nói rằng dự án sẽ mất từ 5 đến 7 tháng thay vì nói rằng nó sẽ hoàn thành vào một ngày cụ thể hoặc nó sẽ hoàn thành trong một số không cố định. trong tháng. Cẩn thận với việc cam kết một phạm vi quá hẹp vì điều đó tương đương với việc cam kết vào một ngày xác định.
Bạn cũng có thể bao gồm sự không chắc chắn như một giá trị xác suất đi kèm. Ví dụ, có 90% xác suất rằng dự án sẽ hoàn thành vào hoặc trước một ngày xác định.
Các tổ chức không thu thập dữ liệu dự án chính xác. Vì độ chính xác của các ước tính phụ thuộc vào dữ liệu lịch sử, nó sẽ là một vấn đề.
Đối với bất kỳ dự án nào, có một lịch trình ngắn nhất có thể cho phép bạn bao gồm các chức năng cần thiết và tạo ra sản phẩm chất lượng. Nếu có ràng buộc về lịch trình bởi quản lý và / hoặc khách hàng, bạn có thể thương lượng về phạm vi và chức năng sẽ được phân phối.
Thống nhất với khách hàng về việc xử lý creep phạm vi để tránh vượt quá lịch trình.
Sự thất bại trong việc điều chỉnh dự phòng trong ước tính cuối cùng gây ra các vấn đề. Ví dụ, các cuộc họp, sự kiện tổ chức.
Việc sử dụng tài nguyên nên được coi là dưới 80%. Điều này là do các tài nguyên sẽ chỉ có hiệu quả trong 80% thời gian của chúng. Nếu bạn chỉ định tài nguyên ở mức sử dụng hơn 80%, chắc chắn sẽ có sự trượt giá.
Nguyên tắc ước tính
Người ta nên ghi nhớ các nguyên tắc sau trong khi ước tính một dự án -
Trong quá trình ước lượng, hãy hỏi kinh nghiệm của người khác. Ngoài ra, hãy đặt kinh nghiệm của riêng bạn vào công việc.
Giả sử rằng các nguồn lực chỉ có hiệu quả trong 80% thời gian của chúng. Do đó, trong quá trình ước tính, sử dụng tài nguyên dưới 80%.
Các tài nguyên làm việc trên nhiều dự án mất nhiều thời gian hơn để hoàn thành nhiệm vụ do mất thời gian chuyển đổi giữa chúng.
Bao gồm thời gian quản lý trong bất kỳ ước tính nào.
Luôn dự phòng cho việc giải quyết vấn đề, các cuộc họp và các sự kiện bất ngờ khác.
Dành đủ thời gian để ước tính dự án phù hợp. Những ước tính vội vàng là những ước tính không chính xác, có độ rủi ro cao. Đối với các dự án phát triển lớn, bước ước tính thực sự nên được coi như một dự án nhỏ.
Nếu có thể, hãy sử dụng dữ liệu được lập thành văn bản từ các dự án tương tự trong quá khứ của tổ chức bạn. Nó sẽ cho kết quả ước tính chính xác nhất. Nếu tổ chức của bạn chưa lưu giữ dữ liệu lịch sử, bây giờ là thời điểm tốt để bắt đầu thu thập dữ liệu đó.
Sử dụng ước tính dựa trên nhà phát triển, vì ước tính được chuẩn bị bởi những người khác với những người sẽ thực hiện công việc sẽ kém chính xác hơn.
Sử dụng nhiều người khác nhau để ước tính và sử dụng một số kỹ thuật ước tính khác nhau.
Đối chiếu các ước tính. Quan sát sự hội tụ hoặc lan truyền giữa các ước tính. Sự hội tụ có nghĩa là bạn đã có một ước tính tốt. Kỹ thuật Wideband-Delphi có thể được sử dụng để thu thập và thảo luận các ước tính bằng cách sử dụng một nhóm người, mục đích là tạo ra một ước tính chính xác, không thiên vị.
Ước tính lại dự án nhiều lần trong suốt vòng đời của nó.