Làm thế nào để đối phó với thiết kế giao diện người dùng và hỗ trợ tính năng tương ứng trong phát triển Agile?


11

Trong quy trình phát triển Agile thường tập trung chính vào các câu chuyện của Người dùng, nhưng đôi khi một yêu cầu duy nhất có thể kéo dài một số câu chuyện của người dùng.

Ví dụ: khách hàng có thể yêu cầu một trang tìm kiếm cho tất cả người dùng trong diễn đàn và có một số hành động có thể xảy ra với mỗi người dùng như cấm người dùng, xóa người dùng, đặt lại Mật khẩu, v.v.

Chúng tôi có thể chia tính năng này thành ít nhất 4 câu chuyện của người dùng:

  1. Tìm kiếm người dùng
  2. Cấm người dùng
  3. Xóa người dùng
  4. Đặt lại mật khẩu

Làm thế nào các nhà thiết kế giao diện người dùng sẽ thực hiện một giao diện người dùng như vậy? Anh ấy / cô ấy có nên làm việc trên câu chuyện người dùng đầu tiên và sau đó bắt đầu tăng thêm nhiều tính năng cho UI không? Tuy nhiên, tôi nghĩ UI cuối cùng sẽ bị rối tung!

Nếu anh ta quyết định làm việc trên toàn bộ tính năng (tìm kiếm + hành động), điều gì xảy ra nếu các hành động có mức độ ưu tiên thấp và sẽ được thực hiện một số lần lặp sau khi chức năng tìm kiếm được thực hiện?


6
Điều này nhấn mạnh ý tưởng sai lầm chứa chấp bởi một số người nhanh nhẹn, tuy nhiên bạn xác định nó, là một cái gì đó khác hơn là một công cụ quản lý dự án. Bạn vẫn cần ai đó nhìn toàn bộ sản phẩm theo quan điểm kiến ​​trúc và đảm bảo tất cả các câu chuyện của bạn thêm vào một cái gì đó mạch lạc.
Blrfl

các cử tri xuống sẽ giải thích tại sao? !!
Songo

@Songo: Không, những người bỏ phiếu bình thường không giải thích, đó là quá nhiều nỗ lực. :-(
Giorgio

Câu trả lời:


13

Hãy lặp đi lặp lại. Bạn đang làm việc trực tiếp với người dùng, phải không? Vì vậy, nó không bao giờ nên thực sự là một mớ hỗn độn.

Đầu tiên làm trang tìm kiếm. Bạn và người dùng nên nhớ rằng họ sẽ muốn có thể thực hiện các hành động đối với kết quả. Người dùng có thích nó không? OK, bạn đã tìm kiếm của bạn.

Bây giờ thêm "Thay đổi mật khẩu" (hoặc bất cứ điều gì được ưu tiên tiếp theo). Rất tiếc, chúng tôi cần thay đổi trang tìm kiếm một chút - tốt, thay đổi thường là một phần của trò chơi. Người dùng có thích nó như kết quả không? Tốt

Bây giờ thêm mục tiếp theo, và ...

Cách tiếp cận nhanh nhẹn nói rằng bạn luôn có phản hồi ngay lập tức, vì vậy bạn nên làm tốt.

Điều đó nói rằng, không có lý do thực sự tại sao bạn có thể không thể tấn công 2 trong số những câu chuyện này trong cùng một lần lặp (thêm người dùng xóa VÀ cấm người dùng). Điều quan trọng là luôn luôn làm việc với khách hàng để đảm bảo đúng.

Bạn thường (luôn luôn?) Sẽ kết thúc với việc người dùng nghĩ về điều gì khác mà họ muốn làm từ màn hình tìm kiếm đó sau khi "thiết kế" ban đầu của bạn được thực hiện và thực hiện. Vì vậy, cuối cùng bạn sẽ sửa đổi nó tại một số điểm . Chỉ cần tiếp cận tất cả mọi thứ với kỳ vọng đó và bạn sẽ tốt.


8

Tôi cảm thấy như tôi nói điều này rất nhiều. Agile không có nghĩa là bạn cần đặt người khiếm thị để bỏ qua tương lai và thiết kế chính mình vào một góc. Agile là về cách bạn cung cấp chức năng và có rất ít liên quan đến cách bạn thiết kế chức năng.

Nói cách khác, bạn có thể nhìn xa tới tương lai như bạn muốn khi tạo ra thiết kế của mình, miễn là nó không trì hoãn việc phân phối chức năng trong thời gian ngắn.

Điều đó có nghĩa trong ví dụ cụ thể của bạn là bạn tiếp tục và thiết kế giao diện người dùng sao cho dễ dàng thêm hành động sau này. Tuy nhiên, nếu làm việc đúng với thiết kế hành động sẽ trì hoãn việc phân phối tìm kiếm người dùng cơ bản bằng cách lặp lại, tốt hơn là thực hiện thiết kế mà không có hành động trước, giả sử tìm kiếm mà không có hành động nào có giá trị với khách hàng.

Câu hỏi để tự hỏi mình là "Công việc thiết kế này có làm trì hoãn việc giao hàng đầu tiên của tôi không?" Hầu hết thời gian, câu trả lời sẽ là không. Dù sao bạn cũng phải làm một thiết kế, tất cả những gì bạn thay đổi là một số tiêu chí thiết kế.


+1: Câu trả lời rất hay: "Agile là về cách bạn cung cấp chức năng và có rất ít liên quan đến cách bạn thiết kế chức năng." Tôi nghĩ rằng quá thường xuyên nhanh nhẹn được sử dụng như một cái cớ để biện minh cho sự vắng mặt của thiết kế trả trước (ví dụ: nếu nhà phát triển không sẵn sàng hoặc không thể làm điều đó.). Thay vào đó, người ta nên lên lịch cho các hoạt động (câu chuyện của người dùng và chạy nước rút) sau khi kế hoạch tổng thể và kiến ​​trúc đã được chuẩn bị (tất nhiên bạn có thể cần phải điều chỉnh kiến ​​trúc khi bạn tiến hành dự án).
Giorgio

1

Câu chuyện người dùng đầu tiên có thể là thiết kế của toàn bộ giao diện - họ không phải thiết kế chỉ một phần của nó. Đó là thiết kế nói chung làm tăng giá trị kinh doanh.

Điều đó đang được nói, tôi thấy ít nhất hai tính năng khác biệt ở đây: khả năng tìm kiếm người dùng và khả năng thực hiện một chức năng trên một hoặc nhiều người dùng. Nhà thiết kế có thể giải quyết từng vấn đề một cách khó khăn nếu điều đó có ý nghĩa hơn.

Hãy nhớ rằng: mục tiêu là cung cấp phần mềm chất lượng, không phải là mù quáng làm theo một số phương pháp. Tự hỏi bản thân việc phá vỡ thiết kế thành từng mảnh có giúp ích hay cản trở mục tiêu đó không. Không có cảnh sát scrum, chỉ có khách hàng hài lòng hoặc không hài lòng.


1

Tôi đã có cơ hội thực tập tại một nhà máy lập trình Agile / Extreme. Họ đã sử dụng thẻ câu chuyện để thúc đẩy quá trình phát triển lặp lại. Mỗi thẻ câu chuyện đã thực hiện hoặc thay đổi. Chìa khóa là sự tương tác của người dùng. Làm thế nào một người có thể thiết kế thành công một giao diện có ý nghĩa cho người dùng mà không tương tác với người dùng phần mềm?

Một kịch bản có thể xảy ra là bắt đầu với sự tương tác của người dùng để quyết định người dùng muốn gì trước tiên. Sau đó, lặp đi lặp lại, thiết kế giao diện người dùng dựa trên việc tăng phản hồi, mức độ ưu tiên của người dùng và những gì người dùng phải có.

Các câu chuyện của người dùng ở đó để điều khiển cách người dùng sẽ tương tác, ở cấp độ nào và theo cách thức nào. Nhưng chúng chỉ là xấp xỉ cho đến khi tương tác với người dùng. Nếu có vô số người dùng mong muốn một cái gì đó cụ thể, thì một cuộc khảo sát nhỏ về mọi người có thể để xác định một số đường cơ sở cho UI.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.