2010-08-13 15 views
21

Tôi đang cố gắng giải thích tỷ lệ chi phí phát triển so với chi phí bảo trì cho bộ phận bán hàng của chúng tôi, và hiện tại tôi có cảm giác mình mất khoảng 60% thời gian bảo trì.Chi phí phát triển so với chi phí bảo trì

Chúng tôi có một số người trong nhóm có xu hướng bán các giải pháp tùy chỉnh mà chúng tôi phải xây dựng và nếu nhân viên bán hàng không hiểu tổng chi phí phát triển thì họ sẽ không thể bán được với giá thực tế .

Một "vấn đề" khác là chúng tôi đang mở rộng dịch vụ của mình và cần phải tái cấu trúc một số cơ sở hạ tầng cơ bản để giảm thời gian ra thị trường và các điểm đo khác.

Bạn có đề xuất hay về những gì tôi nên tham khảo để xây dựng một đối số vững chắc không? Và tôi nên mang theo những điểm gì để họ hiểu rõ vấn đề?

Có thể có một số văn bản tuyệt vời ở đâu đó mà tôi có thể trỏ đến.

Trả lời

18

Trong "Những sự kiện cơ bản về kỹ thuật phần mềm thường bị quên lãng" của Robert L. Glass, (bài viết trong phần mềm IEEE tháng 5/2001), Ông nói về các quy tắc phần mềm "60/60", đó là bảo trì thường tiêu thụ 40 tới 80% (trung bình 60%) chi phí phần mềm, và sau đó tăng cường đó chịu trách nhiệm cho khoảng 60% chi phí bảo trì phần mềm, trong khi sửa lỗi là khoảng 17%.

+0

nhờ liên kết, tôi sẽ đọc một số. –

+0

Tôi thấy tài liệu tham khảo này trong một bài trình chiếu trên microservices (http://www.slideshare.net/INPAY/the-why-what-and-how-of-microservices). Thing là, có chi phí tăng lên hoặc xuống 16 năm trong tương lai? – Irwin

3

Hãy thử khiến họ nghĩ về phần mềm dưới dạng ô tô. Nó chỉ có thể mất một vài tuần hoặc một tháng để xây dựng nó, nhưng trong khi nó được sử dụng trong những tuần sau, tháng và năm có bảo trì sẽ được yêu cầu. Có lẽ nó chỉ là bảo trì thường xuyên để giữ cho mọi thứ chạy trơn tru; nhưng nó cũng có thể được bảo trì khẩn cấp khi nó làm một cái gì đó bất ngờ và cần sửa chữa.

Tương tự, mọi thứ có thể ổn khi bạn lần đầu tiên nhận được nó, nhưng sau một chút sử dụng nó sẽ cần đánh bóng để làm cho nó như thế nào bạn mong đợi nó được tất cả các thời gian.

+1

Sử dụng sự tương tự hàng ngày là một cách tuyệt vời để thảo luận các chủ đề như thế này. –

+3

Thành thật mà nói, tôi không nghĩ rằng đó là một sự tương tự tốt. Chi phí bảo trì của một chiếc xe là không đáng kể khi so sánh với giá mua. Vậy tại sao chi phí bảo trì của dự án phần mềm của bạn vượt quá một nửa tổng ngân sách phát triển? Đó chính là loại lý do mà đôi khi bạn cần phải chống lại. –

+0

@BartGijssens, tôi đồng ý. Chi phí duy trì một chiếc xe là để bảo vệ chức năng hiện tại của nó. Sự tương tự của phần mềm đó sẽ là lỗi nhỏ để sửa lỗi rò rỉ bộ nhớ, thực hiện làm sạch dữ liệu, xóa các tệp nhật ký cũ, v.v. Chi phí thực của "bảo trì" trong phần mềm thường tái thích nghi và cải tiến, hoặc sửa chữa sai sót khái niệm cơ bản - và một khi máy được sử dụng liên tục và tích lũy trạng thái, chi phí tương tự hơn để lắp hoặc thay thế động cơ máy bay chuyến bay. – Steve

4

Nghiên cứu khái niệm về nợ kỹ thuật. Ngoài ra, hãy thử đi chơi với những người bán hàng. Rất có thể là họ không phải là ác hoặc không quan tâm; họ chỉ được tiếp xúc với những thứ khác nhau, có những kỹ năng và sở thích khác nhau hơn bạn. Kỹ năng mềm rất quan trọng. Những sai lầm lớn nhất sẽ cho họ biết rằng "họ không hiểu máy tính". Anh chàng bán hàng dễ nhất mà tôi từng làm việc là cựu QA, nên anh ấy có rất nhiều thứ. Nhân tiện, công việc của những người bán hàng là để uốn cong sự thật và giữ cho những đô la đó đến. Đó là một sự cân bằng tinh tế giữa không phát sinh quá nhiều nợ kỹ thuật, và không bỏ lỡ cơ hội kinh doanh.

+0

Cảm ơn, tôi sẽ đọc kỹ về nợ kỹ thuật một chút. –

8

Sau 29 năm trong ngành, tôi có thể nói Bảo trì là 60-80% tổng chi phí. Phát triển tối đa là 20%. Nhưng hầu hết các công ty ngày nay dường như không thừa nhận rằng họ đặt trọng tâm nhất vào phát triển nhanh và đặt ngày đến hạn mà không có ước tính thích hợp. Điều này buộc các nhà phát triển đổ và đi, điều này chỉ làm cho việc bảo trì trở nên khó khăn hơn. Vì vậy, những gì các nhà quản lý làm như vậy là kết quả? Họ vứt bỏ tất cả phần mềm trong nhà và mua nội dung của bên thứ ba. Sau đó, cơn ác mộng của tích hợp hệ thống xảy ra và có thể 4 hoặc 5 năm sau họ sẽ loại, sắp xếp làm cho nó hoạt động nhưng chi phí để làm điều đó cao hơn theo cấp số nhân so với thời gian lên phía trước và thực hiện nó ngay lần đầu tiên. Trong khi chờ đợi, tất cả các bộ hẹn giờ cũ dày dạn treo lên mũ của họ và một giống mới của Bucks trẻ bay với thái độ của "chúng tôi có thể sửa chữa bất cứ điều gì". Và đó, bạn tôi là những gì họ sẽ làm trong một thời gian dài.

Đây là lý do tại sao Agile cuối cùng đã thắng tôi vì thác nước không hoạt động trong phần mềm. Không bao giờ có và sẽ không bao giờ. Đó là tất cả về lặp đi lặp lại làm việc nhỏ hơn và phát triển các bộ phận. Giống như Henry Ford đã cho chúng ta thấy vào năm 1900 ...

+0

Vấn đề là, khi nào bạn cuối cùng thiết kế một động cơ xe hơi tăng dần? Trong lĩnh vực cơ khí, họ không thực sự thiết kế các phần chính của xe (hoặc quan hệ của họ) từ đầu bằng phương pháp nhanh nhẹn - họ đơn giản đã thiết lập các mẫu thiết kế (đã xuất hiện từ hơn một thế kỷ sử dụng động cơ đốt), có thể tinh chỉnh sử dụng các nguyên tắc nhanh, nhưng về cơ bản không xác định lại. Trong phần mềm, định nghĩa lại cơ bản là phổ biến, đó là lý do tại sao các dự án CNTT lớn nhất (thường được thiết kế để tích hợp các giải pháp phần ăn nhỏ nhưng chức năng) dễ bị thất bại. – Steve

1

Điều tôi đã trải nghiệm là khoảng 35% chi phí phát triển sẽ được chi tiêu trong năm bảo trì đầu tiên, 30% trong năm thứ hai, 25% trong năm thứ 3. Vì vậy, nếu tôi dành 1 đô la để phát triển, tôi sẽ chi 350K trong năm đầu tiên và cứ tiếp tục như vậy. Sau 3 năm, chi phí lại tăng từ 5 đến 10% mỗi năm. Do đó, tổng số tái cấu trúc của ứng dụng có thể được yêu cầu sau 5 hoặc 6 năm.