Câu hỏi bạn nên tự hỏi mình là làm thế nào để nhân viên bán hàng biết rằng tính năng này sẽ có giá x ngày nhà phát triển. Cho rằng ngay cả những người quản lý dự án giỏi với nhiều năm kinh nghiệm chuyên môn cũng không thể nói rằng, dữ liệu đó đến từ một nhân viên bán hàng dường như cực kỳ ... đầu cơ .
Theo kinh nghiệm của tôi, nhân viên bán hàng thường không đưa ra ước tính, nhưng hãy đoán xem bao nhiêu là quá nhiều cho quản lý hoặc khách hàng: nếu quản lý sẵn sàng trả 50 tuần làm việc, nhưng sẽ từ chối hoàn toàn 75 tuần. rằng tính năng này sẽ mất 70 tuần làm việc trong khi sẵn sàng đàm phán lại (một điều không thể nghi ngờ đối với ước tính thực tế) xuống còn 55 tuần.
Một mặt, bạn có ước tính được thực hiện bởi các chuyên gia CNTT nói điều gì đó như:
Theo kiểm toán cụ thể này, chúng tôi đang lãng phí 8.000 đô la mỗi ngày khi sử dụng công nghệ lỗi thời so với các dự án tương tự có quy mô tương tự sử dụng các công nghệ mới hơn. Dường như sẽ mất từ 50 đến 80 tuần để di chuyển toàn bộ cơ sở mã; trong thời gian này, sẽ không có tính năng mới nào được phát hành. Cũng có 10% rủi ro khi di chuyển một thành phần cụ thể có thể dẫn đến 20-30 tuần làm việc thêm.
Mặt khác, bạn có những phỏng đoán được thực hiện bởi những người bán hàng, dựa trên đòn bẩy của họ khi đàm phán với người mà họ cần thuyết phục.
Đó là tất cả về tầm ảnh hưởng của bạn trong công ty của bạn. Giao tiếp là chìa khóa ở đây và đây là nơi các nhân viên bán hàng thường giành chiến thắng trước các chuyên gia CNTT khi giải thích các lợi ích của một tính năng cho quản lý (hoặc khách hàng).
Lưu ý rằng nếu trong quá khứ, ước tính của bạn khá chính xác, bạn có được danh tiếng và tầm ảnh hưởng. Nếu ước tính của bạn luôn sai, quản lý có thể sẽ bỏ qua các đề xuất của bạn.
Đối với các ước tính, rất khó để tạo ra một giá trị ở đây, vì có một số lượng lớn các tham số cần tính đến. Trong số những người khác:
Bạn có thực sự biết nhóm của bạn trong C # khéo léo như thế nào so với VB6 không? Nó dựa trên các phép đo thực tế hay chỉ là phỏng đoán?
Đội ngũ này đã phát triển các dự án lớn trong C #? Họ có biết các công cụ họ nên sử dụng (IDE, trình gỡ lỗi, trình biên dịch, v.v.) không? Bạn có cần giấy phép bổ sung (trong thế giới của Microsoft, có nghĩa là hàng ngàn đô la cho mỗi máy) không?
Dự án hiện tại có hoàn toàn rõ ràng và bạn có thể đảm bảo rằng sẽ không có bất ngờ khi di chuyển? Là đơn giản để viết lại tất cả mọi thứ , mọi tính năng, hoặc sẽ có những bất ngờ?
Bạn có cơ sở hạ tầng hỗ trợ C # không? Thế còn hội nhập liên tục? Còn máy chủ xây dựng của bạn thì sao? Hướng dẫn phong cách? Kiểm tra tĩnh?
Trong sản xuất, các máy chủ (nếu đây là ứng dụng web) hay PC khách hàng (nếu đây là ứng dụng dành cho máy tính để bàn) có thể chạy phiên bản .NET Framework mà bạn muốn sử dụng không?
Nhưng điều quan trọng nhất là phải biết tại sao bạn muốn viết lại mọi thứ. Có gì vấn đề bạn đang cố gắng để giải quyết thông qua một ghi đè? Mất năng suất? Bạn đo lường nó như thế nào? Làm thế nào để bạn thể hiện sự mất năng suất này cho quản lý?
Khi bạn đã cho thấy rằng bạn đang lãng phí, giả sử, 8.000 đô la mỗi ngày vì VB6 (có nghĩa là bạn sẽ tiết kiệm được 8 000 đô la mỗi ngày khi bạn chuyển sang C #), làm thế nào để bạn giải thích lợi ích của việc nắm giữ mọi phát triển tính năng mới và tập trung vào viết lại hoàn chỉnh? Lợi ích gì so với viết lại lũy tiến khi bạn di chuyển các thành phần của mình thành từng phần nhỏ một, trong khi vận chuyển các tính năng mới?