Họ gọi nó là Real World ™ vì một lý do.
99% những gì bạn sẽ gặp trong thế giới doanh nghiệp thực sự sẽ bị coi là tào lao, và vì lý do chính đáng mà tôi sẽ giải thích. 1% không được coi là tào lao cuối cùng sẽ trở thành tào lao.
# 1 Viết mã, # 2 ????, # 3 Lợi nhuận!
Trước hết các doanh nghiệp tồn tại để kiếm lợi nhuận, họ không tồn tại để tạo ra hàng núi mã học thuật được thiết kế hoàn hảo về mặt lý thuyết và nguyên sơ nằm trong kho vàng hoàn hảo. Thậm chí không gần gũi, thậm chí không phải là những người trong doanh nghiệp bán mã nguồn mà họ sản xuất.
Trong thế giới kinh doanh mã là một phương tiện để kết thúc . Nếu một số mã giải quyết một vấn đề kinh doanh và kiếm được nhiều tiền hơn chi phí để tạo và duy trì thì đó là mong muốn cho doanh nghiệp. Sử dụng bạn để viết mã chỉ là một cách để doanh nghiệp có được mã.
Lý thuyết 0 - Thực hành
Bảo trì lý tưởng nên là mối quan tâm nhiều hơn nhưng thường thì không, vì trong ngắn hạn, nó không thắng được về mặt tài chính. Về lâu dài, phần mềm thường có vòng đời tương đối ngắn, đặc biệt là các ứng dụng dựa trên web, chúng bị lỗi thời một cách nhanh chóng và được viết lại thường xuyên hơn.
Trong các ứng dụng kinh doanh nội bộ là những ứng dụng bắt đầu như những gì được coi là dự án zombie bất tận vì nhiều lý do dựa trên động lực. Những dự án này thực sự là những thành công mà họ tiếp tục vì họ tiếp tục làm cho doanh nghiệp có lãi.
Trong lý thuyết không có sự khác biệt giữa lý thuyết và thực hành. Trong thực tế có. - Beri Yogi
Về lý thuyết, kiến trúc hoàn toàn sạch sẽ, cơ sở mã nguyên sơ hoàn toàn sạch sẽ với bảo hiểm mã 100% sẽ tiết kiệm tiền cho các công ty, trong thực tế, nó thậm chí không tiến gần đến việc cung cấp bất kỳ thứ gì gần với lợi tức đầu tư hợp lệ.
Vật lý của vòng đời phần mềm
Ngoài ra còn có một lực lượng entropy siêu mạnh đang hoạt động trong thế giới phần mềm. Đó là một lỗ đen không thể tránh khỏi, lên án tất cả các phần mềm thoái hóa thành một quả bóng lớn .
Bạn bắt đầu từ BBM càng xa thì càng tốt, nhưng mọi hệ thống phần mềm cuối cùng sẽ đến đó khi có đủ thời gian. Mức độ nhanh chóng bạn tiếp cận 100% entropy được xác định bởi nơi bạn bắt đầu và mức độ nhanh chóng của bạn đối với nợ kỹ thuật và mức độ quan tâm của nó.
Hệ thống phần mềm suy thoái và mục nát vì bảo trì, không phải vì thiếu nó. Một hệ thống được áp dụng trong nhiều năm mà không có thay đổi mã theo định nghĩa đáp ứng tất cả các yêu cầu và mục tiêu của nó và là một thành công.
Đó là các hệ thống đòi hỏi phải thay đổi liên tục vì chúng bắt đầu gần với entropy tối đa là những hệ thống liên tục bị chọc và chọc và đó là sự bảo trì giúp đẩy nhanh sự thay đổi tiêu cực.
Đủ tốt là đủ tốt
Các hệ thống vòng đời ngắn như các trang web thay đổi liên tục không được hưởng lợi từ thiết kế trả trước 100% mã lớn đắt tiền trong các thử nghiệm đơn vị, vì thời gian khấu hao quá ngắn để thu lại chi phí.
Các hệ thống vòng đời dài như dòng ứng dụng kinh doanh nội bộ đã đề cập ở trên, không thực sự được hưởng lợi từ các khoản đầu tư lớn cho các thử nghiệm đơn vị bảo hiểm mã 100%, bởi vì tỷ lệ thay đổi trong vòng đời của dự án đạt đến một hằng số gần bằng 0 thời trang phi tuyến tính.
Đó là lý do tại sao các kế hoạch cuối đời quan trọng hơn và các hệ thống thay thế nên được lên kế hoạch giống như một cái gì đó đang được phát hành, chứ không phải khi nó đã qua được vài năm và không thể hỗ trợ nên một hệ thống mới phải được đưa vào sử dụng.
Họ không dạy về BBM theo như tôi biết, tôi chưa bao giờ gặp một sinh viên tốt nghiệp CS gần đây biết nó là gì, ít hơn nhiều tại sao nó lại xảy ra.
Đó là lý do tại sao Đủ tốt là Đủ tốt , bất cứ điều gì nhiều hay ít đều không.
Slumlords phần mềm
Có những lãnh chúa khu ổ chuột bất động sản vì một lý do, họ kiếm được lợi nhuận từ việc điều hành các tòa nhà tồi tàn mà họ sở hữu. Lợi nhuận kiếm được nhiều hơn số tiền họ chi cho việc bảo trì gia tăng tài sản. Nếu họ không làm, họ sẽ phá hủy tòa nhà và thay thế nó. Nhưng họ không làm thế, vì chi phí gia tăng ít hơn nhiều so với đại tu hoặc thay thế toàn bộ tòa nhà. Cũng có những khách hàng (người thuê nhà) sẵn sàng trả tiền để chạy xuống tài sản.
Không có chủ sở hữu tòa nhà, chúa tể khu ổ chuột hay không sẽ chi tiền cho một bất động sản chỉ vì một số khái niệm học thuật về sự hoàn hảo không mang lại lợi nhuận đáng kể so với chi phí liên quan.
Không có khách hàng sẽ trả tiền để nâng cấp lên một hệ thống phần mềm đang hoạt động chấp nhận được với họ. Không có doanh nghiệp sẽ chi tiền cho chỉ viết và viết lại mã cho lợi nhuận đáng kể hữu hình.
Microsoft đang chiếm ưu thế và thành công nhất trong khu ổ chuột. Windows đã không bắt đầu nhận được viết lại nền tảng lớn cho đến gần đây. Và họ vẫn không bỏ tất cả mã kế thừa từ kernel. Điều đó không có ý nghĩa kinh doanh đối với họ, mọi người không sẵn sàng chấp nhận những kỳ vọng thấp mà họ đã đặt ra trong thập kỷ qua.
Tiên lượng
Đây là một mô hình trong hơn 20 năm tôi đã phát triển phần mềm. Nó sẽ không thay đổi bất cứ lúc nào sớm. Đây không phải là cách mọi người muốn nó ra khỏi một số hệ thống niềm tin, đó là một thực tế của các lực lượng bên ngoài đối với một doanh nghiệp. Kinh doanh thúc đẩy việc ra quyết định, lợi nhuận không phải là xấu mà họ trả lương cho bạn, tầm nhìn ngắn hạn hay dài hạn là không liên quan, đây là một ngành ngắn hạn thay đổi liên tục theo định nghĩa. Bất cứ ai lập luận chống lại đủ tốt để kiếm lợi nhuận đều không hiểu kinh doanh.
Tôi đã dành 15 năm để tư vấn và học rất nhanh rằng đủ tốt chỉ là, bất cứ điều gì khác đều làm tôi mất tiền. Vâng tôi muốn mọi thứ phải hoàn hảo, nhưng trừ khi bạn đang bán một cơ sở mã, mà 99,99999% thời gian bạn đang bán một giải pháp , tất cả các mã thanh lịch được tổ chức sạch sẽ bị mất và bạn chỉ lãng phí thời gian của mình, bạn sẽ không bao giờ được hoàn trả .
Tiến bộ và Hy vọng
Các phương pháp nhanh nhẹn là một bước tốt theo đúng hướng, ít nhất là về mặt triết học. Họ giải quyết sự hỗn loạn và thay đổi liên tục như một công dân hạng nhất và chấp nhận nó. Họ từ chối các thực hành giáo điều, thừa nhận rằng các phương pháp và thực tiễn nên thay đổi cũng như các yêu cầu và công nghệ.
Họ chấp nhận entropy được giới thiệu bởi các thiếu thời gian hoặc thay đổi yêu cầu, thay đổi nhân viên và các liveness của một hệ thống phần mềm với các khái niệm về nợ kỹ thuật.
Nhưng Agile không phải là thuốc chữa bách bệnh, nó sẽ không thay đổi các định luật cơ bản của vật lý và các cơ sở mã sẽ bị thối rữa. Tùy thuộc vào quản lý để lên kế hoạch đối phó với sự thối rữa trước khi nó hoàn toàn mất kiểm soát và không thể quản lý được.
Nhanh nhẹn khi được thực hiện chính xác, giúp quản lý entropy, làm chậm nó, theo dõi nó, đo lường và đối phó với nó một cách có kế hoạch. Nó sẽ không dừng lại đâu!
Quyết định nghề nghiệp
Nếu đây là một vấn đề triết học thực sự cho bạn, có lẽ bạn nên xem xét các lựa chọn nghề nghiệp khác, bởi vì cách mọi thứ hoạt động có giá trị kinh doanh hợp lệ đằng sau nó. Các dự án nguồn mở không có bất kỳ hồ sơ theo dõi nào tốt hơn và trong nhiều trường hợp, mã thậm chí còn tệ hơn hầu hết các mã công ty tôi đã thấy.