Mặc dù tiêu đề nghe có vẻ hơi cực đoan, nhưng một câu tương tự đã được Michael McLay hỏi công khai vào năm 1994 :
Nếu Guido bị xe buýt đâm? (Guido van Rossum là người sáng tạo ra ngôn ngữ Python)
Câu hỏi đó đã dẫn đến việc tạo ra Hệ số xe buýt , còn được gọi là vấn đề xe buýt, yếu tố xe tải, yếu tố xe tải , hoặc thậm chí yếu tố xổ số .
Mặc dù có một số định nghĩa hơi khác nhau trên Web, chúng tôi có thể tóm tắt chúng như sau:
Hệ số Xe buýt là tổng số người cần phải mất khả năng lao động, chẳng hạn như bị xe buýt đâm khiến dự án sẽ bị bỏ rơi.
Để làm cho điều này dễ mô tả hơn, điểm Yếu tố Xe buýt là một ước tính về những người rất quan trọng đối với dự án của bạn mà không có họ, dự án sẽ bị đình trệ. Nếu những người đó biến mất khỏi dự án vì bất kỳ lý do gì (chẳng hạn như "tai nạn" hoặc thậm chí đi nghỉ, bị sa thải hoặc rời khỏi dự án), sẽ không ai có thể duy trì dự án.
Điểm Yếu tố Xe buýt thấp nhất có thể chỉ là 1, có nghĩa là nếu một người rời khỏi dự án, nó sẽ bị đình trệ hoặc chết. Từ quan điểm kỹ thuật hơn, đây có thể được coi là một điểm thất bại duy nhất trong dự án. Điểm Hệ số xe buýt lớn hơn nhiều được ưu tiên, nhưng không phải lúc nào cũng dễ dàng đạt được.
Cuối năm 2021, cộng đồng PHP nhận được thông tin đáng buồn rằng sau 10 năm thực hiện vô số bản sửa lỗi, tính năng & bảo trì PHP, một trong những người đóng góp chính: Nikita Popov , đã quyết định tập trung làm việc trong một cộng đồng và ngôn ngữ hoàn toàn khác (Rust & LLVM), mà anh ấy đã xa nhau được vài năm.
Tương tự như lịch sử của ngôn ngữ Python, quyết định đó cho thấy ngôn ngữ PHP có một vấn đề thực sự lớn với điểm Hệ số xe buýt thấp như vậy. Nó đặt tương lai của ngôn ngữ sử dụng ~ 78% web vào một vị trí nguy hiểm.
Để cải thiện tình trạng hiện tại, mọi người và các công ty làm việc trên PHP đã hợp lực và bắt đầu một sáng kiến mới: Quỹ PHP .
Quỹ PHP là một tổ chức phi lợi nhuận có sứ mệnh đảm bảo sự tồn tại lâu dài và thịnh vượng của ngôn ngữ PHP.
Quyết định đầu tiên của quỹ là thuê / tài trợ cho các nhà phát triển mới làm việc trên các thành phần cốt lõi của PHP. Bằng cách đó, họ có thể bắt đầu tăng điểm Hệ số xe buýt lên mức an toàn hơn. Đây là một trong nhiều bước cần được cộng đồng thực hiện để tương lai của PHP trở nên an toàn và ổn định.
Rất nhiều công ty tôi từng làm việc, từ các công ty khởi nghiệp đến các tập đoàn, thường bị ảnh hưởng nặng nề bởi Yếu tố Xe buýt. Nhiều nhóm của họ (hầu hết không cố ý) rơi vào NIH (Not Invented Here) , dẫn đến các vấn đề về bảo trì và cấp độ đầu vào cao hơn cho người mới, vì ngày càng nhiều thứ được tạo ra bởi những người có thể rời khỏi dự án bất cứ lúc nào. Điều này thường dẫn đến Nợ kỹ thuật cao (mà tôi sẽ cố gắng giải thích trong bài đăng sau).
Điểm Hệ số xe buýt thấp thường là một phần của thời gian phát triển nhanh khi chỉ một số nhà phát triển tạo ra hầu hết các chức năng mà sau này trở thành cơ sở cho một dự án ngày càng phức tạp. Hầu hết các công ty bắt đầu kế hoạch tuyển dụng lớn trong thời gian tăng trưởng như vậy, nhưng đó không phải là thứ có thể tăng Hệ số xe buýt một mình.
Mỗi thành viên mới nên có ít nhất 30 phút của một phiên lập trình cặp với một trong những người cao cấp trong dự án mà cô ấy / anh ấy đang tham gia. Trong các phiên như vậy, một người ít kinh nghiệm hơn nên làm hầu hết việc viết mã, trong khi các cố vấn cấp cao, dẫn dắt bằng ví dụ và đề xuất các phần có thể giúp đạt được mục tiêu của nhiệm vụ.
Khi bạn xác định những người thuộc Yếu tố Xe buýt , bạn nên tập trung vào cách họ có thể chia sẻ kiến thức mà họ đã tổng hợp được trong suốt những năm đó trong dự án của bạn. Kiến thức của họ là một trong những giá trị lớn nhất cho nhóm của bạn. Yêu cầu họ tập trung hơn vào việc viết tài liệu, tạo bảng cheats, thực hiện các bài thuyết trình nội bộ và chia sẻ kiến thức trong các phiên trực tiếp với đồng đội. Sự tập trung của họ vào lập trình nên được giảm bớt .
Trong khi việc áp dụng Văn hóa đánh giá mã được thực hiện bởi các nhóm để cải thiện chất lượng mã và quá trình xem xét, kết quả ít rõ ràng hơn là chia sẻ kiến thức trực tiếp giữa những người trong dự án. Đánh giá không được giống như đóng dấu phê duyệt. Họ nên chỉ ra lý do tại sao điều gì đó được thực hiện theo cách đó, không phải cách khác, dẫn đến các cuộc thảo luận mang tính xây dựng giữa tiền bối và đồng đội khác về những gì có thể được thực hiện theo cách khác, từ quan điểm của tiền bối. Nhận xét phải dẫn đến thảo luận.
Thông thường, vấn đề của các công ty phát triển nhanh là Nợ kỹ thuật tăng nhanh, dẫn đến điểm Hệ số xe buýt thấp. Một trong những kỹ thuật hiệu quả là giảm độ phức tạp của các dự án bằng cách chia chúng thành những dự án nhỏ hơn, chuyên dụng hơn. Điều này dẫn đến cấp đầu vào thấp hơn, áp dụng nhanh hơn và bảo trì dễ dàng hơn. Tất cả những điểm này cho phép tăng Hệ số xe buýt tổng thể khá hiệu quả. Vấn đề lớn nhất bạn phải tránh trong quá trình giảm độ phức tạp của các dự án là luôn liên quan đến các nhóm (thậm chí là những nhóm nhỏ) trong việc tái cấu trúc để tránh tạo ra cùng một vấn đề trong (các) dự án con mới.
Đây có thể là cách hiệu quả nhất để tăng điểm Hệ số xe buýt, nhưng cũng là cách khó và nguy hiểm nhất. Bạn cần phải lên kế hoạch sâu sắc cho mọi khả năng để tránh làm mất tinh thần của cả đội. Không nên ép buộc "xáo trộn" mà nên đề xuất với các thành viên trong nhóm một cách thường xuyên, như: hai quý một lần; đồng đội không thể thay đổi đội quá thường xuyên vì họ sẽ cần phải được giới thiệu như một người mới. Nếu được lập kế hoạch và thực hiện tốt, các nhóm của bạn sẽ có được nhiều kinh nghiệm hơn trong các lĩnh vực khác nhau, chia sẻ kiến thức học được khi làm việc với các nhóm khác.
Lập kế hoạch ngân sách đào tạo cho các nhà phát triển của bạn cũng có thể tăng điểm Hệ số xe buýt vì mọi người sẽ thu thập được nhiều kinh nghiệm hơn và mở rộng nhóm của bạn để có nhiều người hơn ở mỗi cấp bậc thâm niên trong hệ thống phân cấp công ty của bạn.
Việc tăng điểm Hệ số xe buýt của đội bạn không phải là dễ dàng, rẻ tiền hay nhanh chóng. Có những trường hợp bạn không muốn (hoặc thậm chí không thể) dễ dàng tăng điểm số đó, ví dụ như khi dự án chứa dữ liệu nhạy cảm và bạn không thể tin tưởng những người thuê mới của mình để bắt đầu xử lý nó. Nhưng bây giờ bạn đã biết một số điều cơ bản có thể giúp bạn ngăn chặn việc hoạt động của mình bị dừng lại do "tai nạn xe buýt".