Đội trưởng Rõ ràng để giải cứu!
Tôi sẽ là Đội trưởng Rõ ràng ở đây và nói rằng có một số nền tảng được tìm thấy.
Bạn muốn xây dựng cho tương lai và tránh tự nhốt mình vào một lựa chọn công nghệ hoặc một thiết kế tồi. Nhưng bạn không muốn mất 3 tháng để thiết kế một thứ gì đó đơn giản hoặc thêm điểm mở rộng cho một ứng dụng nhanh và bẩn sẽ có tuổi thọ 2 năm và không có khả năng có các dự án tiếp theo.
Thật khó để tìm ra sự khác biệt, bởi vì bạn không thể luôn dự đoán được sự thành công của sản phẩm và nếu bạn cần gia hạn sau này.
Xây dựng ngay bây giờ nếu ...
- dự án sẽ bị loại bỏ
- dự án có vòng đời ngắn
- dự án không nên có phần mở rộng
- dự án không có giá trị tác động rủi ro (chủ yếu là về hình ảnh)
Nói chung, các dự án nội bộ hoặc một cái gì đó được xây dựng cho khách hàng nên được phát triển ngay bây giờ. Hãy chắc chắn có các yêu cầu thẳng, và liên quan đến chúng khi cần thiết để biết những gì cần thiết và những gì không. Đừng muốn dành quá nhiều thời gian cho bất cứ điều gì "tốt đẹp để có." Nhưng đừng mã như một con lợn.
Để lại vấn đề chung cho sau này, nếu nó có thể là cần thiết và đáng để nỗ lực:
Xây dựng cho tương lai nếu ...
- dự án sẽ được công khai
- dự án là một thành phần được tái sử dụng
- dự án là bước đệm cho các dự án khác
- dự án sẽ có các dự án tiếp theo hoặc phát hành dịch vụ với những cải tiến
Nếu bạn đang xây dựng cho một cái gì đó công khai, hoặc sẽ được sử dụng lại trong các dự án khác, thì bạn có xác suất cao hơn nhiều rằng một thiết kế xấu sẽ quay trở lại ám ảnh bạn, vì vậy bạn nên chú ý đến điều đó hơn. Nhưng nó không phải lúc nào cũng được đảm bảo.
Hướng dẫn
Tôi muốn nói rằng tuân thủ các nguyên tắc sau tốt nhất có thể, và bạn nên đặt mình vào vị trí thiết kế các sản phẩm hiệu quả, có thể thích ứng:
- biết rằng YAGNI ,
- HÔN ,
- Bất cứ khi nào bạn cảm thấy muốn gãi ngứa và nghĩ đến một sự bổ sung, hãy viết nó ra. Nhìn lại các yêu cầu dự án của bạn và tự hỏi nếu bổ sung là ưu tiên hay không. Hỏi xem họ có thêm giá trị kinh doanh chính hay không.
Tôi biết rằng cá nhân tôi có xu hướng lật đổ và lật đổ. Nó thực sự giúp viết ý tưởng xuống và rất thường xuyên suy nghĩ lại nếu tôi cần các tính năng bổ sung. Thông thường, câu trả lời là không, hoặc, "nó sẽ rất tuyệt sau này." Những ý tưởng cuối cùng đó rất nguy hiểm, vì chúng ở sau đầu tôi và tôi cần buộc bản thân mình không lên kế hoạch cho chúng.
Cách tốt nhất để viết mã mà không gây áp lực và không chặn chính bạn sau này là tập trung vào một thiết kế tối thiểu tốt. Phá vỡ mọi thứ độc đáo như các thành phần mà sau này bạn có thể mở rộng, nhưng không cần suy nghĩ về cách chúng có thể được mở rộng sau này. Bạn không thể dự đoán tương lai.
Chỉ cần xây dựng những điều đơn giản.
Tiến thoái lưỡng nan
Áp đảo
Đây có phải là một lập trình viên xu hướng thường làm theo khi đi về một dự án như thế này?
Chết tiệt Đó là một vấn đề nan giải đã biết và nó chỉ cho thấy rằng bạn quan tâm đến sản phẩm. Nếu bạn không, điều đó đáng lo ngại hơn. Có sự bất đồng về việc có hay không luôn luôn thực sự nhiều hơn và nếu tệ hơn thì luôn thực sự tốt hơn . Bạn có thể là một chàng trai MIT hoặc New Jersey . Không có câu trả lời dễ dàng ở đây.
Tạo mẫu / Quick-n-Dirty / Ít hơn
Đây có phải là một xu hướng điển hình chỉ để nghiền một ví dụ khả thi càng sớm càng tốt?
Đó là một thực tế phổ biến, nhưng đó không phải là cách mà phần lớn các dự án được tiếp cận. Tuy nhiên, theo nguyên mẫu là một xu hướng tốt trong quan điểm của tôi, nhưng một trong những nhược điểm có ý nghĩa. Có thể khuyến khích quảng bá các nguyên mẫu nhanh và bẩn cho các sản phẩm thực tế hoặc sử dụng chúng làm cơ sở cho các sản phẩm thực tế dưới áp lực quản lý hoặc hạn chế về thời gian. Đó là khi nguyên mẫu có thể trở lại ám ảnh bạn.
Có những lợi thế rõ ràng cho việc tạo mẫu , nhưng cũng có rất nhiều khả năng lạm dụng và lạm dụng (nhiều nghịch đảo chính xác của các lợi thế được liệt kê trước đây là kết quả).
Khi nào nên sử dụng Prototyping?
Có những gợi ý về các loại dự án tốt nhất để sử dụng nguyên mẫu :
[...] Tạo mẫu có lợi nhất trong các hệ thống sẽ có nhiều tương tác với người dùng.
[...] Tạo mẫu rất hiệu quả trong việc phân tích và thiết kế các hệ thống trực tuyến, đặc biệt là để xử lý giao dịch, trong đó việc sử dụng các hộp thoại màn hình có nhiều bằng chứng hơn. Sự tương tác giữa máy tính và người dùng càng lớn, lợi ích [...] càng lớn.
"Một trong những cách sử dụng hiệu quả nhất của tạo mẫu nhanh cho đến nay là một công cụ cho các yêu cầu lặp lại của người dùng về kỹ thuật và thiết kế giao diện người-máy tính."
Mặt khác:
Các hệ thống có ít tương tác người dùng, chẳng hạn như xử lý hàng loạt hoặc các hệ thống chủ yếu thực hiện tính toán, được hưởng lợi rất ít từ việc tạo mẫu. Đôi khi, mã hóa cần thiết để thực hiện các chức năng hệ thống có thể quá chuyên sâu và lợi ích tiềm năng mà việc tạo mẫu có thể cung cấp là quá nhỏ.
Và nếu bạn có một con quái vật màu xanh lá cây xung quanh, chỉ cần đảm bảo giữ nguyên mẫu trong ngân sách ...