Kinh nghiệm của tôi là có một sự cân bằng để đạt được.
Ngay bây giờ, tôi đang làm việc (với ý nghĩa trả lời các câu hỏi và cung cấp các đề xuất phát triển, mà không thấy bất kỳ mã nào) với nhà phát triển đang sản xuất một dự án FOSS rất thú vị sử dụng mã tôi đã viết. Việc phát hành công khai đã bị trì hoãn nhiều lần bởi việc thực hiện các thay đổi thiết kế sẽ giúp dự án tốt hơn trong thời gian dài, nhưng đòi hỏi phải viết lại mã đáng kể đã được viết và đã "hoạt động". Quan điểm của tôi là, đã có một bản phát hành hoạt động nhưng không hoàn hảo ngay khi có thứ gì đó hoạt động để trình bày, ý tưởng cho những thay đổi (và bản vá thực tế) có thể đến từ cộng đồng rộng lớn quan tâm đến dự án này hơn là tăng tốc về phía trước thay vì có các vấn đề xuất hiện từ từ, từng lúc một, khi nhà phát triển nghĩ về họ và yêu cầu phản hồi thiết kế từ bản thân tôi và các thành viên quan tâm khác của cộng đồng. Vì vậy, từ quan điểm này, tôi rất ủng hộ "phát hành sớm, phát hành thường xuyên".
Mặt khác, các bản phát hành chất lượng thấp có thể làm cho một dự án mới trở nên tồi tệ trước khi nó bắt đầu. Một số cạm bẫy tôi đã thấy bao gồm:
- Cây xương với định nghĩa giao diện nhưng không có mã.
- Mã không biên dịch thành công cho bất kỳ ai trừ nhà phát triển.
- Không có hướng dẫn về cách xây dựng / chạy chương trình.
- Không có tài liệu về những khía cạnh có thể được dự kiến sẽ làm việc.
- Mô tả không rõ ràng về những gì chương trình thậm chí làm hoặc sẽ làm.
- Thiếu bất kỳ minh chứng về tính hữu dụng.
Đối với điểm cuối cùng, tôi nghĩ về những thứ như:
- Trình biên dịch / trình thông dịch thậm chí không thể biên dịch / chạy chương trình kiểu hello-world.
- Trình giả lập ít nhất không thể chạy một chương trình mẫu nào đó hoặc bằng cách khác chứng minh rằng nó đang làm gì đó.
- Công cụ xử lý hình ảnh không thể làm gì khác ngoài tải và lưu lại hình ảnh chưa sửa đổi.
- Trò chơi không có gì ngoài một màn hình tiêu đề.
Những loại vấn đề này cho vay một hình ảnh "phần mềm hơi" có thể khó rung chuyển trừ khi bạn rất cởi mở về việc thiếu mã làm việc để bắt đầu.
Cuối cùng, làm cho số phiên bản của bạn có ý nghĩa. Đừng gọi dự án của bạn là "1.0" cho đến khi nó thực hiện những gì người dùng mong đợi nó sẽ làm mà không gặp sự cố. Tôi luôn gặp may mắn khi sử dụng số phiên bản khoảng "0,5" cho lần phát hành công khai ban đầu và đi từ đó, nhưng tôi cũng đã thấy những thứ như "0,1" hoặc "0,10" có ý nghĩa.