Tôi có nên kết hợp chi phí thoát vào việc chọn giải pháp


10

Tôi hiện đang lựa chọn giữa hai thiết kế / giải pháp phần mềm khả thi. Giải pháp 1 rất dễ thực hiện, nhưng sẽ khóa một số dữ liệu ở định dạng độc quyền và sẽ khó thay đổi sau này. Giải pháp 2 khó thực hiện, nhưng sẽ dễ dàng thay đổi hơn sau này.

Tôi có nên đi YAGNI về vấn đề này hay tôi nên kết hợp chi phí thoát hiểm trong quá trình ra quyết định? Hoặc được hỏi khác nhau, là chi phí xuất cảnh của TCO?

Tôi đang nghĩ đến việc quay lại với khách hàng với điều này để hỏi liệu anh ta có nghĩ rằng chi phí thoát ra có liên quan hay không, nhưng tôi muốn biết cộng đồng nghĩ gì trước tiên.

PS Chi phí xuất cảnh có đúng hạn không?


Bạn có thể thêm lý do tại sao bạn nghĩ rằng giải pháp đầu tiên sẽ khóa dữ liệu và sẽ khó thay đổi sau này?
Jaap

Về bản chất, không phải tất cả các định dạng thuộc sở hữu độc quyền, ngay cả những định dạng được cho là 'tiêu chuẩn' hoặc 'mở'? Yagni có thể áp dụng nếu định dạng 'độc quyền' dễ thực hiện hơn, dễ sử dụng và / hoặc định dạng defacto để trao đổi.
JustinC

Mà không đi vào chi tiết cụ thể; nghĩ về nó như đặt một bảng Excel (do khách hàng thiết kế) vào hệ thống quản lý tài liệu (giải pháp 1), so với việc tạo các bảng và GUI phù hợp và tạo bảng Excel theo yêu cầu (giải pháp 2). Ngoại trừ đó không phải là Excel.
dvdvorle

Tuy nhiên, điều này có lẽ không loại trừ lưu ý khía cạnh quan tâm này trong việc trình bày sự lựa chọn và quyết định cho nhà tài trợ dự án.
JustinC

@JustinC cuối cùng chúng ta cũng nói về tiền mặt ở đây. Có rẻ hơn khi sử dụng định dạng 'độc quyền' trong thời gian dài hay không? Đó là điều tôi nghĩ là quan trọng nhất đối với nhà tài trợ dự án
dvdvorle

Câu trả lời:


4

Chi phí xuất cảnh là một phần của TCO ( T có nghĩa là tổng cộng ), nhưng rất khó để rút ra trừ khi bạn biết một tiên nghiệm hệ thống sẽ kéo dài bao lâu. Nói cách khác, nếu bạn biết hệ thống sẽ được sử dụng đúng một năm và sẽ tốn 52.000 đô la để ngừng hoạt động một năm kể từ bây giờ, bạn có thể khá tự tin khi thêm 1.000 đô la mỗi tuần vào ngân sách hoạt động để trang trải cho nó.

Mô hình đó xuất hiện ngoài cửa sổ khi bạn không biết tuổi thọ của hệ thống. Về lý thuyết, hệ thống có thể vẫn được sử dụng mãi mãi, điều đó có nghĩa là sẽ không có tiền chi tiêu cho việc tắt nó. Bất cứ điều gì bạn tính đến bây giờ sẽ là bằng đô la ngày nay, và những con số đó có thể là vô nghĩa năm năm kể từ bây giờ vì những thay đổi về tỷ lệ lao động và công nghệ làm cho quá trình dễ dàng hơn (hoặc khó hơn).

Tốt nhất bạn nên cung cấp cho khách hàng của mình một số ý tưởng về những gì cần thiết để chuyển khỏi hệ thống và để họ đưa ra quyết định thay thế khi thời điểm đó đến.

(Và bây giờ, khi đã viết câu trả lời này, tôi có thể bỏ phiếu để đóng câu hỏi này ngoài chủ đề.)


Thay thế cho chi phí thoát là một phần của TCO của giải pháp này, sẽ là nó sẽ là một phần của TCO của giải pháp tiếp theo. Bây giờ tôi biết điều này nghe có vẻ kỳ lạ nếu tôi nói nó giống như vậy, nhưng theo kinh nghiệm của tôi, chi phí ngừng hoạt động một hệ thống được tạo ra trong kế hoạch dự án / ngân sách của hệ thống tiếp theo, chứ không phải kế hoạch / ngân sách dự án cho hệ thống hiện tại. Điều đó có ý nghĩa?
dvdvorle

1
Điều này có ý nghĩa với tôi, và đó gần như là kết luận mà tôi đã đưa ra. Bạn không thể thực sự đưa ra một tổng số thực tế cho đến khi toàn bộ kết thúc và hoàn thành.
Blrfl

Tôi đồng ý về những khó khăn khi ước tính chính xác 'chi phí thoát hiểm', tôi nghĩ rằng có giá trị trong việc cung cấp một khoản ngay cả khi đó là bằng tiền ngày nay. So sánh "điều này sẽ khó khăn và tốn thời gian" và "điều này có thể sẽ có giá từ $ 25000 đến $ 50000 nếu được thực hiện vào ngày mai".
vaughandroid

@Blrfl, điều gì làm cho câu hỏi này lạc đề?
neontapir

1
@neontapir: Phần cốt lõi của câu hỏi thực sự là về quản lý dự án; thực tế là về một chương trình không thực sự làm cho nó về lập trình. Điều tương tự có thể áp dụng dễ dàng cho các thiết bị chuyển mạch điện thoại hoặc lò nướng pizza.
Blrfl

2

YAGNI là một quy tắc tuyệt vời ở vị trí của nó, nhưng tôi không chắc nó nên áp dụng trong trường hợp này. Bạn đang ước tính chi phí trong tương lai ở đây, một hoạt động phải liên quan đến việc xem xét các thay đổi yêu cầu trong tương lai. Nếu bạn đang viết việc thực hiện nó sẽ là một câu chuyện khác!

Tôi khuyên bạn nên làm chi phí, nhưng hãy chắc chắn rằng khách hàng hiểu lý do tại sao bạn thực hiện nó. Nếu họ không có kỹ thuật thì đừng ngạc nhiên nếu họ nói điều gì đó với tác dụng của "đó không thể là một giải pháp tốt nếu bạn đã nghĩ đến việc sử dụng một cái gì đó khác!"

Có thể có một số khía cạnh chi tiết hơn để xem xét khi bạn thực hiện / trình bày dự toán chi phí của bạn:

  • Làm thế nào có khả năng dữ liệu sẽ được di chuyển sang một hệ thống khác trong tương lai?
  • Có khả năng nhà cung cấp giải pháp sẽ thay đổi định dạng dữ liệu của họ để việc di chuyển dữ liệu trong tương lai sẽ dễ dàng / khó khăn hơn không? Nếu vậy, điều này sẽ ảnh hưởng đến giải pháp của bạn?
  • Ngay cả khi bạn không muốn thay đổi dữ liệu sau này, có khả năng bạn có thể muốn trình bày / truy cập nó theo một cách khác không? Kinh nghiệm của tôi là điều này khá phổ biến!

1

Làm việc từ nhận xét của bạn về tình hình tệp Excel, tôi xem nó như sau:

  • không thay đổi định dạng hiện tại (giải pháp 1)
  • bây giờ so với phân tích định dạng và lưu trữ nó ở một định dạng khác (có thể / hy vọng phù hợp hơn / sẵn sàng trong tương lai) (bước giải pháp 1 + phân tích cú pháp, còn gọi là giải pháp 2)

Tôi tin rằng YAGNI áp dụng cho bước phân tích cú pháp đó; đảm bảo bạn giữ kiến ​​thức về cấu trúc hiện tại, nhưng chưa triển khai phân tích cú pháp.

Ngoài ra, cấu trúc dữ liệu được phân tích cú pháp có thể không linh hoạt như bạn nghĩ; các yêu cầu có thể hướng tới việc lưu trữ thông tin / tệp khác nhau, điều đó có nghĩa là bạn phải cập nhật / mở rộng các bảng của mình.


Để rõ ràng, hiện tại không có giải pháp (giải pháp 0 nếu bạn muốn). Họ hiện đang giữ tất cả thông tin trong các tập tin giấy. Tôi hoàn toàn đồng ý với câu trả lời này nếu họ đã sử dụng tệp "Excel" trong hệ thống quản lý tài liệu, nhưng vẫn có một lựa chọn ở đây.
dvdvorle

Hoặc bạn có nghĩ rằng điều đó không liên quan vì việc thực hiện giải pháp 1 là rẻ?
dvdvorle

Quan điểm của tôi là tôi tin rằng nếu giải pháp 2 có thể được coi là sự tăng cường của giải pháp 1, nhưng việc tăng cường đó không thực sự cần thiết bây giờ, YAGNI áp dụng.
Jaap

Tôi hiểu ý bạn là gì. Đó là một cái gì đó để suy nghĩ. Mặc dù tôi nghĩ rằng đã đến lúc phải đến với khách hàng, hãy xem anh ấy nghĩ gì về việc đó là một sự nâng cao và không có gì.
dvdvorle

0

Nếu bạn không chắc chắn 95%, nó sẽ được thay đổi trong tương lai - Giải pháp 1 - YAGNI =)

Chắc chắn nó phụ thuộc vào khách hàng của bạn, và vào kinh nghiệm của bạn lập trình một cái gì đó cho khách hàng này .


2
Vì vậy, bạn đang nói rằng bất kỳ chi phí liên quan đến 5% cơ hội giải pháp sẽ thay đổi là không liên quan?
dvdvorle

Ý tôi là đây là một loại cảm giác ... Bạn biết chính mình "YAGNI" nghĩa là gì - phần còn lại là cảm giác =)
MikroDel

0

Theo kinh nghiệm của tôi, bánh xe được phát minh lại mất nhiều thời gian để phát minh lại hơn bạn nghĩ và bánh xe bên ngoài có xu hướng dễ thay thế hơn. Cả hai loại bánh xe có xu hướng trông tệ hơn khi mua so với khi bạn đưa ra quyết định.

Nếu bạn thực sự nghĩ rằng # 1 dễ thực hiện và đang đặt câu hỏi # 2 sẽ mất bao lâu, tôi sẽ lắng nghe câu hỏi. Thực hiện # 1 ngay bây giờ và suy nghĩ về thiết kế lớn hơn khi bạn đi. Điều đó sẽ giúp bạn nếu sau này bạn muốn phát minh lại nó.

Ngược lại, nếu số 1 không còn dễ như bạn tưởng, hãy chuyển sang số 2.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.