Tôi đã rất thích thiết kế một số cơ sở dữ liệu có độ phức tạp trung bình, tất cả được sử dụng trong các doanh nghiệp, với nhiều giao diện khác nhau bao gồm web, Access và C #.
Thông thường, tôi đã ngồi xuống và làm việc với lược đồ cơ sở dữ liệu trước. Điều này luôn có ý nghĩa nhất đối với tôi. Tuy nhiên, đã không có một trường hợp nào mà tôi không thực hiện thay đổi, thêm bảng mới hoặc sống với các khía cạnh làm phiền tôi và về cơ bản là quá muộn để khắc phục.
Tôi không nghĩ cách chữa là viết mã trước. Và tôi không nghĩ vấn đề là "không đủ yêu cầu kinh doanh" hoặc ít nhất, không phải là một vấn đề có thể được giải quyết đầy đủ. Người dùng không biết họ cần gì và tôi không có khả năng khiến họ suy nghĩ nhiều hơn hoặc thông minh hơn hoặc nhận thức rõ hơn hoặc trả lời câu hỏi của tôi tốt hơn. Hoặc họ tranh luận và tôi được lệnh phải làm một cái gì đó theo một cách nhất định.
Các hệ thống tôi xây dựng thường ở những khu vực mới mà chưa có ai đi vào trước đó. Tôi không mua từ tổ chức, tài nguyên hoặc công cụ để thực hiện công việc mà một nhóm phát triển gồm các chuyên gia thiết kế hàng đầu có thể được trả tiền như một đội gấp mười lần những gì tôi làm để xây dựng mọi thứ gấp đôi thời gian
Tôi rất giỏi trong những gì tôi làm. Nhưng chỉ có một trong số tôi làm điều đó trong một môi trường "không phát triển."
Tất cả những gì đã nói, tôi đang trở nên tốt hơn trong việc khám phá các quy tắc kinh doanh. Và tôi thấy một loại tùy chọn thứ ba:
Trước khi bạn thiết kế cơ sở dữ liệu và trước khi viết bất kỳ mã nào, hãy vẽ các màn hình thô cho biết ứng dụng sẽ hoạt động như thế nào. Chúng phải được vẽ bằng tay để ngăn bất kỳ ai bình luận về phông chữ hoặc kích thước hoặc kích thước - bạn chỉ muốn chức năng.
Với giấy trong suốt và các mảnh giấy bạn có thể trao đổi trong và ngoài, có một người là máy tính, hai người là người dùng chuyên môn phi kỹ thuật (hai người nói to) và một người ở đó làm người hướng dẫn ghi chú và rút thăm ra cho người dùng về quá trình suy nghĩ và nhầm lẫn của họ. Người dùng "nhấp chuột" và kéo và viết vào hộp, "máy tính" cập nhật màn hình và mọi người đều được trải nghiệm thiết kế. Bạn sẽ học được những điều bạn không thể học được cho đến khi đi sâu vào quá trình phát triển.
Có lẽ tôi đang mâu thuẫn với chính mình - có lẽ đó là khám phá yêu cầu tốt hơn. Nhưng ý tưởng là thiết kế ứng dụng trước, không cần viết bất kỳ mã nào. Tôi đã bắt đầu làm điều này ở quy mô nhỏ, và nó đang hoạt động! Mặc dù các vấn đề trong môi trường của tôi, nó giúp tôi có được cơ sở dữ liệu được thiết kế tốt hơn ngay từ đầu. Tôi biết rằng một cột phải di chuyển vào một bảng cha mới vì có nhiều loại. Tôi biết rằng danh sách công việc phải có các đơn hàng thường trực không đến từ hệ thống đơn hàng tích hợp. Tôi học đủ thứ!
Theo tôi, đây là một chiến thắng rất lớn.