Tóm tắt
Sử dụng Joel Test.
Tại sao?
Cảm ơn câu hỏi khó. Tôi sắp viết một câu trả lời dài về thành tích đánh giá mã trực tiếp và gián tiếp, hiểu bối cảnh tổ chức của bạn, quan điểm, tìm ra quy trình và đặt tiêu chí cho mã là đủ tốt, và sau đó sự khác biệt giữa mã hoàn hảo và chỉ đủ tốt mà vẫn có thể có nghĩa là "rất ấn tượng". Tôi sắp tham khảo Steve McConnell’s Code Complete và thậm chí đề xuất ủy quyền kiểm toán mã cho ai đó vô tư, bạn có thể tin tưởng, ai đủ hiểu biết về kinh doanh và lập trình để nắm bắt bối cảnh, phối cảnh, áp dụng các tiêu chí một cách hợp lý và báo cáo kết quả gọn gàng lại cho bạn . Tôi sẽ khuyên bạn nên xem xét các phần của giao diện người dùng thông thường nằm ngoài tầm với của người dùng cuối giống như cách để đánh giá chất lượng làm sạch bằng cách kiểm tra bụi bẩn ở những nơi khó tiếp cận.
Vâng, và sau đó nó đánh tôi: mục tiêu cuối cùng là gì? Trong hầu hết, nhưng rất ít kịch bản mã hóa cao bồi cạnh, do kết quả của việc kiểm tra, bạn có thể khám phá ra rằng mã này tốt hơn rác, nhưng chắc chắn không phải là tốt, có thể chỉ thấp hơn một chút so với nhãn hiệu đủ tốt. Và sau đó là gì tiếp theo? Có thể sẽ có một vài lựa chọn:
- Thay đổi nhà cung cấp.
- Nhấn mạnh vào mã đang được tính lại.
- Rời khỏi mọi thứ khi chúng đến và từ thời điểm đó để yêu cầu mã tốt hơn.
Thật không may, không có tùy chọn nào là lý tưởng hoặc rất tốt.Nhà cung cấp thay đổi đầu tư là tốn kém và khá rủi ro: một phần của tính toàn vẹn khái niệm phần mềm sẽ bị mất, công ty của bạn sẽ phải, mặc dù gián tiếp, nuốt chi phí không thể tránh khỏi của nhà cung cấp mới tiếp quản phát triển và đi qua đường cong học tập (đối lập chính xác với hầu hết các nhà cung cấp sẽ yêu cầu bạn thử và đặt chân vào cửa). Và sẽ có một nguy cơ lớn bị thiếu thời hạn ban đầu.
Tùy chọn nhấn mạnh việc tính lại mã không hoàn hảo. Sẽ có một câu hỏi về chi phí và rất có thể vì nhiều lý do hợp đồng và lịch sử khác nhau, bạn sẽ không thấy mình ở vị trí thương lượng tốt. Trong mọi trường hợp, phần mềm viết lại có khả năng ảnh hưởng đến thời hạn và tổ chức những gì không thể thực hiện công việc ngay lần đầu tiên là rất khó có thể tạo ra mã tốt hơn cho lần thử thứ hai. Sau này là thích hợp với lựa chọn thứ ba tôi sẽ không rõ ràng của bất kỳ công ty sản xuất một mã tốt hơn mà không có một số, thường xuyên đáng kể, thay đổi tổ chức. Rời khỏi mọi thứ vì chúng không tốt: một đoạn mã thối trừ khi hoàn toàn bị cô lập sẽ cuối cùng sẽ gây độc cho phần còn lại của nguồn.
này mang lại cho tôi đến kết luận thực tế, hoặc trong thực tế hai:
- Tập trung vào chọn các công ty phần mềm phù hợp ở một nơi đầu tiên, kể từ khi đi về phía trước tùy chọn sẽ được phần nào bị hạn chế.
- Sử dụng kiến thức CNTT và quản lý để chọn một công ty tập trung vào việc thu hút và giữ lại các nhà phát triển tốt, tạo môi trường làm việc và văn hóa phù hợp để sản xuất mã chất lượng tốt thay vì dựa vào phân tích thực tế.
Không cần phải mở rộng tầm quan trọng của việc chọn đúng công ty ngay từ đầu thay vì đánh giá tổng kết dự án được phân phối; hy vọng rằng điểm đã được thực hiện.
Vâng, làm sao chúng ta biết công ty phần mềm là đúng? Ở đây tôi hoàn toàn đăng ký triết lý được truyền giảng bởi Joel Spolsky: chất lượng của phần mềm trực tiếp phụ thuộc vào chất lượng của những người liên quan mà nó đã được indicated by several studies có thể thay đổi theo thứ tự độ lớn. Và thông qua hoạt động của các nhà phát triển thị trường tự do, các công ty sẽ tập trung vào các công ty dựa trên số tiền mà một công ty cụ thể quan tâm đến việc thu hút và giữ lại chúng.
Như một quy tắc chung của cuộc sống, các lập trình viên tốt nhất sẽ làm việc với những người giỏi nhất, tốt với trung bình, tốt với trung bình và cao bồi với các lập trình viên cao bồi khác. Tuy nhiên có một lời cảnh báo. Hầu hết các công ty sẽ có ít nhất một hoặc hai nhà phát triển rất tốt mà họ quan tâm và cố gắng hết mình để giữ lại. Những devs luôn luôn đặt trên một tiền tuyến: để chữa cháy, để thu hút một khách hàng, để chứng minh tiềm năng tổ chức và thẩm quyền. Làm việc giữa các đồng nghiệp trung bình, trải qua nhiều dự án, và được coi là hoàng tộc, thật đáng buồn, những lập trình viên ngôi sao này thường xuyên chạm vào thực tế và trở thành prima donnas, những người sẽ không "bẩn" bàn tay của họ với bất kỳ công việc lập trình thực tế nào.
Thật không may, tài năng lập trình không quy mô và không chắc rằng prima donna sẽ làm việc trên dự án của bạn qua giai đoạn ban đầu được thiết kế để thu hút và khóa bạn trong vai trò khách hàng. Cuối cùng, mã sẽ được sản xuất bởi một đồng nghiệp ít tài năng hơn và kết quả là bạn sẽ có được những gì bạn sẽ nhận được.
Giải pháp là tìm kiếm một công ty có tài năng nhà phát triển phù hợp hơn và mọi người đều đủ tốt để sản xuất đúng chất lượng mã. Và khi nói đến việc chọn một tổ chức như vậy, nơi Joel Test trở nên hữu ích. Tôi tin rằng nó đặc biệt thích hợp cho ứng dụng của một người không có kinh nghiệm lập trình nhưng hiểu rõ về CNTT và quản lý.
Điểm số của công ty nhiều hơn trên Bài kiểm tra Joel càng có nhiều khả năng thu hút và giữ chân các nhà phát triển giỏi và quan trọng nhất là cung cấp cho họ các điều kiện để tạo mã chất lượng. Và vì hầu hết các nhà phát triển giỏi thực sự yêu thích lập trình nên cần phải hợp tác, tạo môi trường làm việc tốt và hỗ trợ, mục tiêu đáng tin cậy (hoặc thậm chí tuyệt vời hơn) và họ sẽ bắt đầu tung ra mã chất lượng cao. Nó đơn giản mà. Vâng, điều duy nhất là công ty có điểm số đầy đủ mười hai điểm trong Bài kiểm tra của Joel có khả năng sẽ tính phí nhiều hơn một cửa hàng bán đồ có giá trị chỉ bằng 3 hoặc 5 (mức trung bình ngành tự ước tính). Tuy nhiên, lợi ích của việc có sức mạnh tổng hợp của các hoạt động hiệu quả và bespoke phần mềm không gặp khó khăn thúc đẩy các mục tiêu chiến lược chắc chắn sẽ tạo ra lợi tức đầu tư vượt trội và vượt qua mọi rào cản vượt xa mọi chi phí dự án. Ý tôi là, vào cuối ngày công việc của công ty có thể sẽ đáng giá tiền, mỗi xu của nó.
Cũng hy vọng rằng ai đó sẽ tìm thấy câu trả lời dài đáng giá này.
Cũng cho rằng tôi có thể sẽ không có cơ hội để ký hợp đồng với anh ta ... một số cách hay để đánh giá khác là gì? – Krevin
Đây sẽ là một câu hỏi dễ dàng hơn nhiều nếu nhà nước của nghệ thuật sẽ ngồi yên trong một phút. – quillbreaker