Tôi đã dành 3 tháng cuối cùng trong một giai đoạn đầy đủ - và mệt mỏi - thu thập các yêu cầu của một dự án lớn và đã học được, trên hết, rằng không có giải pháp nào phù hợp cho tất cả mọi người . Không có quá trình, không có bí mật, sẽ làm việc trong mọi trường hợp. Phân tích yêu cầu là một kỹ năng thực sự và chỉ khi bạn nghĩ rằng cuối cùng bạn đã tìm ra tất cả, bạn sẽ tiếp xúc với một nhóm người hoàn toàn khác và phải ném mọi thứ bạn biết ra ngoài cửa sổ.
Các bên liên quan khác nhau nghĩ ở mức độ trừu tượng khác nhau.
Thật dễ dàng để nói "nói ở cấp độ kinh doanh, không phải kỹ thuật", nhưng nó không nhất thiết phải dễ thực hiện . Hệ thống bạn đang thiết kế là một con voi và các bên liên quan của bạn là những người mù kiểm tra nó . Một số người quá đắm mình vào quá trình và thói quen mà họ thậm chí không nhận ra rằng có là một doanh nghiệp. Những người khác có thể làm việc ở mức độ trừu tượng mà bạn muốn nhưng có xu hướng đưa ra những tuyên bố cường điệu hoặc thậm chí sai, hoặc tham gia vào suy nghĩ mong muốn.
Thật không may, bạn chỉ cần biết tất cả các cá nhân với tư cách cá nhân và hiểu cách họ nghĩ, học cách diễn giải những điều họ nói và thậm chí quyết định bỏ qua những gì.
Phân chia và chinh phục
Nếu bạn không muốn một cái gì đó được thực hiện, gửi nó cho một ủy ban.
Đừng gặp gỡ với các ủy ban. Giữ những cuộc họp nhỏ nhất có thể. YMMV, nhưng theo kinh nghiệm của tôi, kích thước lý tưởng là 3-4 người (bao gồm cả chính bạn) cho các phiên mở và 2-3 người cho các phiên đóng (tức là khi bạn cần một câu hỏi cụ thể được trả lời).
Tôi cố gắng gặp gỡ những người có chức năng tương tự trong kinh doanh. Thực sự có rất ít để đạt được và mất rất nhiều từ việc ném những người tiếp thị trong phòng với quầy đậu. Tìm kiếm những người là chuyên gia về một chủ đề và khiến họ nói về chủ đề đó.
Một cuộc họp mà không có sự chuẩn bị là một cuộc họp không có mục đích.
Một vài câu trả lời / nhận xét khác đã đề cập đến kỹ thuật người rơm, đây là một câu trả lời tuyệt vời cho những người rắc rối mà bạn dường như không thể nhận được bất kỳ câu trả lời nào. Nhưng đừng dựa vào rơm-men quá nhiều, hoặc người khác sẽ bắt đầu cảm thấy như bạn đang railroading họ. Bạn phải nhẹ nhàng đẩy mọi người đi đúng hướng và để họ tự đưa ra những chi tiết cụ thể, để họ cảm thấy như họ sở hữu chúng (và theo một nghĩa nào đó, họ sở hữu chúng).
Những gì bạn cần phải có là một mô hình tinh thần nào đó về cách bạn nghĩ doanh nghiệp hoạt động và hệ thống nên hoạt động như thế nào . Bạn cần phải trở thành một chuyên gia tên miền , ngay cả khi bạn không phải là chuyên gia về công ty cụ thể được đề cập. Thực hiện nhiều nghiên cứu nhất có thể về doanh nghiệp của bạn, đối thủ cạnh tranh của họ, các hệ thống hiện có trên thị trường và bất kỳ thứ gì khác thậm chí có thể liên quan từ xa.
Vào thời điểm đó, tôi thấy hiệu quả nhất khi làm việc với các cấu trúc cấp cao, chẳng hạn như Ca sử dụng, có xu hướng dễ chịu với mọi người, nhưng vẫn rất quan trọng để đặt câu hỏi cụ thể. Nếu bạn bắt đầu với "Làm thế nào để bạn lập hóa đơn cho khách hàng của bạn?" , bạn đang ở trong một cuộc họp rất dài. Đặt câu hỏi ngụ ý một quy trình thay vì thực hiện quy trình tại nơi di chuyển: Mục hàng là gì? Họ tính toán như thế nào? Họ có thường xuyên thay đổi không? Có bao nhiêu loại bán hàng hoặc hợp đồng khác nhau? Họ được in ở đâu? Bạn có được ý tưởng.
Nếu bạn bỏ lỡ một bước, ai đó thường sẽ nói với bạn. Nếu không ai phàn nàn, thì hãy tự vỗ lưng, vì bạn vừa ngầm xác nhận quy trình.
Trì hoãn các cuộc thảo luận ngoài chủ đề .
Là một nhà phân tích yêu cầu, bạn cũng đóng vai trò là người hỗ trợ, và trừ khi bạn thực sự thích dành tất cả thời gian của mình trong các cuộc họp, bạn cần tìm cách để theo dõi mọi thứ. Trớ trêu thay, vấn đề này trở nên nguy hiểm nhất khi bạn cuối cùng đã làm được mọi người nói chuyện. Nếu bạn không cẩn thận, nó có thể làm trật bánh tàu mà bạn đã dành quá nhiều thời gian để theo dõi.
Tuy nhiên - và tôi đã học được điều này một cách khó khăn từ lâu - bạn không thể nói với mọi người rằng một vấn đề không liên quan . Nó rõ ràng có liên quan đến họ , nếu không họ sẽ không nói về nó. Công việc của bạn là khiến mọi người nói "có" càng nhiều càng tốt và đưa ra một rào cản như thế chỉ khiến bạn rơi vào lãnh thổ "không".
Đây là một sự cân bằng tinh tế mà nhiều người có thể duy trì với "các hành động" - về cơ bản một hàng đợi chung của các cuộc thảo luận mà bạn đã hứa sẽ quay trở lại để đôi khi , thường được gắn thẻ với tên của những bên liên quan người nghĩ rằng nó là thực sự quan trọng. Đây không chỉ là vì mục đích ngoại giao - nó cũng là một công cụ có giá trị để giúp bạn nhớ những gì đã diễn ra trong các cuộc họp và nói chuyện với ai nếu bạn cần làm rõ sau này.
Các nhà phân tích khác nhau xử lý điều này theo những cách khác nhau; một số như bảng trắng công khai hoặc nhật ký bảng lật, những người khác âm thầm gõ nó vào máy tính xách tay của họ và nhẹ nhàng phân biệt các chủ đề khác. Bất cứ điều gì bạn cảm thấy thoải mái với.
Bạn cần một chương trình nghị sự
Điều này có lẽ đúng với hầu hết mọi loại cuộc họp nhưng nó hoàn toàn đúng đối với các cuộc họp yêu cầu. Khi các cuộc thảo luận kéo dài, tâm trí của mọi người bắt đầu đi lang thang và họ bắt đầu tự hỏi khi nào bạn sẽ đi đến những điều họ thực sự quan tâm. Có một chương trình nghị sự cung cấp một số cấu trúc và cũng giúp bạn xác định, như đã đề cập ở trên, khi bạn cần trì hoãn một cuộc thảo luận đang lạc đề.
Đừng đi bộ trong đó mà không có ý tưởng rõ ràng về chính xác những gì bạn muốn bao gồm và khi nào . Không có điều đó, bạn không có cách nào để đánh giá tiến bộ của chính mình và người dùng sẽ ghét bạn vì luôn chạy dài (giả sử họ không ghét bạn vì những lý do khác).
Chế nhạo nó
Nếu bạn sử dụng PowerPoint hoặc Visio làm công cụ mô phỏng, bạn sẽ gặp phải vấn đề về nó trông quá bóng bẩy . Nó gần như là một thung lũng kỳ lạ của giao diện người dùng; mọi người sẽ cảm thấy thoải mái với các bản vẽ khăn ăn (hoặc các bản vẽ do máy tính tạo ra trông giống như các bản vẽ khăn ăn, sử dụng một công cụ như Balsamiq hoặc Sketchflow ), vì họ biết đó không phải là thật - cùng lý do mọi người có thể xem các nhân vật hoạt hình. Nhưng càng bắt đầu trông giống như một giao diện người dùng thực sự, mọi người sẽ càng muốn chọn và xem xét nó, và họ sẽ dành nhiều thời gian hơn để tranh luận về những chi tiết cuối cùng không đáng kể.
Vì vậy, chắc chắn hãy thử nghiệm để kiểm tra sự hiểu biết của bạn về các yêu cầu ( sau các giai đoạn phân tích ban đầu) - chúng là một cách tuyệt vời để nhận phản hồi rất nhanh và chi tiết - nhưng hãy giữ chúng lo-fi và đừng vội chế giễu cho đến khi bạn ' khá chắc chắn rằng bạn đang nhìn tận mắt với người dùng của mình.
Hãy nhớ rằng một giả lập không phải là một sản phẩm có thể cung cấp , nó là một công cụ để hỗ trợ sự hiểu biết. Giống như bạn sẽ không bị giam cầm trong bản giả của mình khi thực hiện thiết kế giao diện người dùng, bạn không thể cho rằng thiết kế đó ổn chỉ đơn giản vì họ đã đưa ra giả thuyết của bạn. Tôi đã thấy các giả được sử dụng như một cái nạng, hoặc tệ hơn, một cái cớ để bỏ qua các yêu cầu hoàn toàn; hãy chắc chắn rằng bạn không làm điều đó Quay trở lại và biến giả đó thành một tập hợp các yêu cầu thực sự.
Kiên nhẫn.
Điều này rất khó để nhiều lập trình viên tin tưởng, nhưng đối với hầu hết các dự án không tầm thường, bạn không thể ngồi xuống một lần và đưa ra một thông số chức năng hoàn chỉnh. Tôi không chỉ nói về sự kiên nhẫn trong một cuộc họp; phân tích yêu cầu được lặp lại theo cùng một cách mã. Nhóm A nói điều gì đó và sau đó Nhóm B nói điều gì đó hoàn toàn trái ngược với những gì bạn nghe được từ Nhóm A. Sau đó, Nhóm A giải thích sự không nhất quán và hóa ra đó là điều mà Nhóm C quên đề cập. Lặp lại 500 lần và bạn có một cái gì đó gần giống với sự thật .
Trừ khi bạn đang phát triển một số ứng dụng CRUD nhỏ (trong trường hợp nào tại sao phải bận tâm với các yêu cầu?) Thì đừng mong đợi nhận được mọi thứ bạn cần trong một cuộc họp, hoặc hai hoặc năm. Bạn sẽ lắng nghe rất nhiều, nói nhiều và lặp lại chính mình rất nhiều. Đó không phải là một điều khủng khiếp, nhớ bạn; đó là cơ hội để xây dựng mối quan hệ với những người chắc chắn sẽ đăng xuất trên sản phẩm của bạn.
Đừng ngại thay đổi kỹ thuật của bạn hoặc ứng biến.
Các khía cạnh khác nhau của một dự án thực sự có thể yêu cầu các kỹ thuật phân tích khác nhau. Trong một số trường hợp, UML cổ điển (Sơ đồ ca sử dụng / Hoạt động) hoạt động rất tốt. Trong các trường hợp khác, bạn có thể bắt đầu với các KSI kinh doanh, hoặc động não với sơ đồ tư duy, hoặc lao thẳng vào mockup bất chấp cảnh báo trước đó của tôi.
Điểm mấu chốt là bạn cần phải tự hiểu tên miền và làm bài tập về nhà trước khi bạn lãng phí thời gian của bất kỳ ai khác. Nếu bạn biết rằng một bộ phận hoặc thành phần cụ thể chỉ có một trường hợp sử dụng, nhưng đó là một bộ phận cực kỳ phức tạp, thì hãy bỏ qua phân tích ca sử dụng và bắt đầu nói về quy trình công việc hoặc luồng dữ liệu. Nếu bạn không sử dụng cùng một công cụ cho mọi phần triển khai ứng dụng, vậy tại sao bạn lại sử dụng cùng một công cụ cho mọi phần của yêu cầu?
Giữ tai của bạn xuống đất.
Trong tất cả các gợi ý và lời khuyên tôi đã đọc để phân tích yêu cầu, đây có lẽ là một trong những điều thường xuyên bị bỏ qua nhất. Tôi thành thật nghĩ rằng tôi đã học được nhiều cách nghe lén và đôi khi làm hỏng các cuộc trò chuyện với nước mát hơn so với những cuộc họp theo lịch trình.
Nếu bạn đã quen với việc làm việc một mình, hãy cố gắng tìm một điểm xung quanh nơi hành động để bạn có thể nghe thấy tiếng nói chuyện. Nếu bạn không thể, sau đó chỉ cần thực hiện các vòng thường xuyên, đến nhà bếp hoặc phòng tắm hoặc bất cứ nơi nào. Bạn sẽ tìm ra tất cả những điều thú vị về cách doanh nghiệp thực sự hoạt động từ việc lắng nghe những gì mọi người khoe khoang hoặc phàn nàn trong thời gian nghỉ giải lao và cà phê.
Cuối cùng, đọc giữa các dòng .
Một trong những sai lầm lớn nhất của tôi trong quá khứ là quá tập trung vào kết quả cuối cùng mà tôi đã không dành thời gian để thực sự nghe những gì mọi người đang nói . Đôi khi - rất nhiều thời gian - nghe có vẻ như mọi người đang nói về không có gì hoặc nói về một thủ tục nghe có vẻ vô nghĩa với bạn, nhưng nếu bạn thực sự tập trung vào những gì họ đang nói, bạn sẽ nhận ra rằng thực sự có một yêu cầu chôn trong đó - hoặc một số.
Có vẻ bề ngoài và ngớ ngẩn như âm thanh của nó, Five Whys là một kỹ thuật thực sự hữu ích ở đây. Bất cứ khi nào bạn có phản ứng "đó là ngu ngốc" đầu gối (không phải là bạn sẽ nói to), hãy tự dừng lại và biến nó thành một câu hỏi: Tại sao? Tại sao thông tin này được gõ lại bốn lần, sau đó được in, sao chụp, quét, in lại, ghim vào bảng hạt, chụp bằng máy ảnh kỹ thuật số và cuối cùng được gửi qua email cho người quản lý bán hàng? Có là một lý do , và họ có thể không biết nó là gì, nhưng đó là công việc của bạn để tìm hiểu. Chúc may mắn với điều đó. ;)