Những người chưa phát triển phần mềm không biết những gì các nhà phát triển phần mềm cần biết. Họ không thể tự mình sản xuất các yêu cầu kỹ thuật và trường hợp sử dụng. Bạn cần áp dụng các kỹ thuật khơi gợi yêu cầu để có được thông tin mà bạn cần biết. Làm việc với khách hàng (và hy vọng một mẫu người dùng từ các vai trò khác nhau) để xác định những gì họ cần hoặc muốn. Các kỹ thuật phổ biến cho việc này là phỏng vấn và / hoặc quan sát người dùng, xác định các trường hợp sử dụng và câu chuyện của người dùng và tạo mẫu.
Tôi rất khuyên bạn nên áp dụng các kỹ thuật phát triển lặp và tăng dần trong trường hợp này, vì bạn có các yêu cầu mơ hồ, không đầy đủ hoặc hiểu kém. Nhìn vào các phương pháp nhanh nhẹn khác nhau cùng với Mô hình xoắn ốc để giải quyết lập kế hoạch vòng đời.
Bắt đầu bằng cách đạt được mục tiêu kinh doanh thúc đẩy sự phát triển của phần mềm này. Phỏng vấn khách hàng và người dùng, và nếu bạn có thể, hãy xem họ tại nơi làm việc. Cố gắng xác định vấn đề họ đang cố gắng giải quyết. Xem những công cụ nào họ hiện đang sử dụng và cách họ sử dụng chúng để bạn có thể cải thiện cách làm việc hiện tại của họ. Sử dụng cơ hội này để tìm hiểu tên miền và ngôn ngữ của nó - việc giao tiếp sẽ trở nên dễ dàng hơn vô cùng nếu các nhà phát triển phần mềm và khách hàng / người dùng đều nói cùng một ngôn ngữ (và không mong muốn khách hàng / người dùng nói theo thuật ngữ phần mềm).
Khi bạn hiểu mục tiêu là gì, bạn có thể bắt đầu làm việc với các mô hình thiết kế UI mà bạn có và "kỹ sư đảo ngược" sử dụng các trường hợp và câu chuyện người dùng từ chúng dựa trên cách các màn hình khác nhau khớp với nhau. Định dạng câu chuyện của người dùng có thể sẽ hoạt động tốt để đối phó với khán giả phi kỹ thuật. Các định dạng của As a <user type>, I want to <action> so that <reason>
công việc ra về việc khiến các nhà phát triển và khách hàng / người dùng nói cùng một ngôn ngữ. Khi bạn có thể bắt đầu câu chuyện của người dùng, tôi sẽ áp dụng cách tiếp cận tạo mẫu để phát triển.
Tôi nghĩ rằng tôi sẽ tiếp cận điều này với việc sử dụng nguyên mẫu. Bạn có thể tiếp cận điều này từ quan điểm tạo mẫu tiến hóa hoặc phối cảnh tạo mẫu , nhưng tôi sẽ xem xét phương pháp tạo mẫu tiến hóa trước. Bắt đầu với những câu chuyện người dùng mà bạn cảm thấy thoải mái nhất và đã xác thực, và bắt đầu thực hiện chúng. Khi bạn thực hiện chúng, nhận phản hồi từ khách hàng và phát triển câu chuyện người dùng mới, trường hợp sử dụng và giải quyết những hiểu lầm.
Ngoài ra, đừng nghĩ về điều này như "thực hiện giao diện người dùng với các tính năng trong đó". Thay vào đó, hãy nghĩ về nó như những lát mỏng dọc. Đừng triển khai tất cả giao diện người dùng cùng một lúc và sau đó lo lắng về các tính năng. Thay vào đó, hãy sử dụng các mô hình giao diện người dùng để xác định các tính năng và các yêu cầu khác, sau đó triển khai một lát cắt dọc từ giao diện người dùng xuống logic lưu trữ dữ liệu và logic nghiệp vụ. Lặp lại điều này cho mỗi lát dọc. Bạn cũng nên thoải mái đưa ra các đề xuất để cải thiện giao diện người dùng dựa trên các yêu cầu và nguyên tắc sử dụng.
Tôi khuyên bạn nên đọc hai cuốn sách của Karl Wiegers - Yêu cầu phần mềm và thêm về yêu cầu phần mềm . Tôi nghĩ rằng những điều này sẽ giúp bạn với các yêu cầu kỹ thuật và thực hành tốt nhất trong lĩnh vực này.