Truyền thông giữa các nhóm

Một phần của tài liệu Nghiên cứu phương pháp lập trình cực hạn áp dụng cho các dự án thuê ngoài (Trang 54)

1. 6 Điều kiện để áp dụng

2.3.2. Truyền thông giữa các nhóm

Gửi ngƣời đại diện đến các đội khác

Nhƣ tôi đã nói ở trên, phƣơng pháp lập trình cực hạn nhấn mạnh tầm quan trọng của tƣơng tác mặt đối mặt. Ngay cả nếu mọi ngƣời không thể đồng thời ở một địa điểm thì việc di chuyển một số ngƣời sẽ giúp làm sáng tỏ rất nhiều vấn đề. Ngay từ đầu chúng ta cần đảm bảo rằng ở bất kỳ thời điểm nào cũng có ai đó đại diện đội chính ở các đội khác để tạo thuận lợi cho giao tiếp. Nhƣ một đại sứ đã biết mọi ngƣời và bổ sung thêm địa chỉ liên hệ cá nhân của mình để giúp giao tiếp với mọi ngƣời [13].

Chúng tôi bây giờ mở rộng cách thức này ở nhiều cấp độ. Chúng tôi tìm thấy nó hữu ích để gửi một nhà phát triển và một nhà phân tích sang đội còn lại để giao tiếp trên cả hai phƣơng diện yêu cầu nghiệp vụ và kỹ thuật. Nó cũng có giá trị để nhận một ngƣời từ đội còn lại sang đội mình.

Một trong những lợi ích của một đại sứ thiên về nghiệp vụ về đội thuê ngoài là giúp cung cấp những tình huống nghiệp vụ cho đội thuê ngoài. Xây dựng phần mềm chỉ dựa trên một danh sách các yêu cầu sẽ bỏ sót nhiều tình huống nghiệp vụ - vì ngƣời phát triển đƣợc nói cái họ phải làm nhƣng không đƣợc biết lý do tại sao điều này quan trọng. Một phần quan trọng trong công việc của đại sứ là giao tiếp không chính thức. Bất kỳ dự án nào cũng có rất nhiều giao tiếp không chính thức. Trong khi phần lớn của điều này là không quan trọng, một số của nó là quan trọng và rắc rối là bạn không thể mô tả rõ ràng cái này là cái này. Vì vậy, một phần của một công việc đại sứ là để giao tiếp những tin tức chọn lọc mà có vẻ không đủ quan trọng để liên lạc qua các kênh chính thức.

Chúng tôi thƣờng đổi đại sứ vài tháng một lần (và trong một số trƣờng hợp, vài tuần một lần), vì nếu một đại sứ dành quá nhiều thời gian ở đội khác họ sẽ bị mất liên lạc với đội nhà. Điều này cũng giúp những đại sứ không muốn đi quá lâu. Nó cũng cho phép nhiều ngƣời hơn để nhận biết các nhóm từ xa bằng cách dành thời gian nhƣ là một đại sứ. Trong việc lựa chọn đại sứ nó rất quan trọng để chú ý đến nhu cầu cá nhân và sở thích. Một số ngƣời không muốn bỏ ra thời gian nhiều tháng hàng ở xa nhà, họ nên không đƣợc làm đại sứ.

Chúng tôi cũng thấy rằng điều quan trọng là ngƣời quản lý dự án cũng cần bỏ ra một số thời gian để làm đại sứ. Công việc của nhà quản lý dự án là giúp giải quyết xung đột và chỉ ra những vấn đề trƣớc khi chúng trở nên nghiêm trọng. Kinh nghiệm làm việc trên cả hai phía của đƣờng dây điện thoại là thật sự quan trọng đối với họ để làm điều đó một cách hiệu quả.

Đại sứ là một phần quan trọng trong xây dựng và định hình lòng tin trên đƣờng dây điện thoại. Kết quả là nó cần thiết để gửi các đại sứ sớm nhất có thể trong dự án. Nếu một dự án chạy trong một thời mà không có đại sứ tại chỗ, truyền đạt sai thông tin và gây cảm xúc xấu sẽ phát triển mà phải mất rất nhiều công việc để sửa chữa. Việc cử các đại sứ đi giao thiệp làm giảm nguy cơ này, nhƣng cần phải làm sớm trƣớc khi vấn đề bắt đầu hình thành.

Thăm giao thiệp để xây dựng lòng tin

Đại sứ thƣờng là ngƣời bán thƣờng trực, ngƣời mà dành nhiều tháng ở các địa điểm khác. Điều này là quan trọng, nhƣng không đủ. Ngoài ra còn có nhu cầu đƣợc tiếp xúc hơn nữa có liên quan đến một phạm vi rộng của mọi ngƣời. Những chuyến đi thăm giúp tạo ra và duy trì các mối quan hệ mà cần phải đƣợc thay cho việc truyền thông từ xa để làm việc hiệu quả.

Bạn có thể nghĩ đến hai loại thăm giao tiếp là thăm trong quá trình đầu dự án nhằm tạo ra các mối quan hệ, và thăm để duy trì giúp giữ cho mối quan hệ đang có. Thăm tạo quan hệ cần đƣợc bố trí sớm trong dự án và nên đƣợc bố trí một khoảng thời gian đáng kể - tối thiểu là hai tuần. Điều quan trọng đối với việc thăm tạo quan hệ là lịch trình làm việc đƣợc bố trí sao cho những ngƣời làm chung nhiệm vụ đƣợc làm việc gần nhau.

Dù là lý do, hãy nhớ rằng mục đích chính của chuyến thăm không phải là để làm nhiệm vụ, mà là để xây dựng các mối quan hệ làm việc. Đó là một sai lầm phổ biến với những điều này để thực hiện nhiều nhiệm vụ nhƣ vậy vào thăm mà có rất ít thời gian cho các giao tiếp của con ngƣời quan trọng. Vì vậy, giữ nhịp độ làm việc thoải mái. Điều quan trọng là thực hiện ngay các cuộc thăm viếng khi bạn có thể. Nếu không có các mối quan hệ cá nhân tốt, có khả năng là bạn sẽ gặp phải các vấn đề trong giao tiếp do thiếu giao thiệp và thiếu niềm tin. Những vấn đề này sẽ mất rất nhiều công sức để sửa chữa và dễ dàng có thể gây ra thiệt hại lâu dài cho dự án.

Khi có các thay đổi quan trọng trong kiến trúc cũng nên tổ chức một cuộc thăm viếng giữa các đội để việc truyền thông về kiến trúc đƣợc thông suốt và giải đáp các khúc mắc giữa các đội để đảm bảo mọi ngƣời đều nắm đƣợc kiến trúc mới này. Đồng thời, cần duy trì việc liên lạc thƣờng xuyên giữa các nhóm và tổ chức các chuyến thăm ngắn ngày. Các chuyến đi thăm ngắn ngày này cần phải đƣợc làm thƣờng xuyên, tối thiểu là một tuần thăm trong tháng.

Sử dụng kịch bản thử nghiệm để hiểu đƣợc yêu cầu

Với việc các đội không ở cùng địa điểm, chúng ta cần phải bỏ ra nhiều công sức hơn trong việc truyền đạt yêu cầu. Và chúng ta sẽ thấy rằng các đội sử dụng phƣơng pháp lập trình cực hạn thành thạo hơn thƣờng xem các bài kiểm tra chấp nhận (acceptance tests) nhƣ là cách truyền đạt yêu cầu. Các nhóm phát triển có đƣợc kịch bản kiểm tra đƣợc viết ra trƣớc khi bắt đầu một bƣớc lặp giúp làm rõ các yêu cầu và cung cấp cho nhóm phát triển nhắm đến một mục tiêu cụ thể. Một phong cách đã xử lý tốt việc áp dụng phƣơng pháp lập trình cực hạn là một khách hàng viết một yêu cầu ngắn (một vài trang) phải bổ sung thêm một yêu cầu ngƣời dùng (tính năng). Đội phân tích dựa trên phân tích / thử nghiệm sau đó tạo ra các kịch bản thử nghiệm cho yêu cầu này. Kịch bản thử nghiệm này có thể đƣợc kiểm tra tự động hoặc bằng tay, tuy nhiên, chúng ta thƣờng thích các kịch bản kiểm tra tự động. Khi kịch bản đƣợc khách hàng phát triển và các nhà phân tích cùng phối hợp thực hiện thông qua thƣ điện tử và tin nhắn cũng nhƣ các cuộc hội thảo trực tuyến thƣờng xuyên (2-3 lần một tuần) để xem xét các kịch bản thử nghiệm.

Chúng tôi thấy rằng điều này có rất nhiều ích lợi cho cả khách hàng lẫn nhà phân tích để thực sự hiểu yêu cầu. Việc viết ra các kịch bản kiểm tra làm cho các nhà phân tích thực sự hiểu những gì cần thiết và để đặt các câu hỏi cho khách hàng làm bật ra các yêu cầu thực sự. Các nhà phát triển tìm hiểu yêu cầu dễ dàng hơn bằng cách đặt các câu hỏi cho các nhà phân tích hơn là tìm hiểu thông qua các kịch bản thử nghiệm, do đó, có một nhà phân tích hay ngƣời kiểm thử vẫn còn quan trọng. Có thể sử dụng các công cụ tìm kiếm để tìm đƣợc các giải pháp cho vấn đề, nhƣng con ngƣời thƣờng dễ dàng hơn để làm việc.

Vấn đề lớn nhất chúng tôi thấy với kỹ thuật này là làm sao để thu hút các nhân viên của khách hàng vào làm việc đó. Theo kết quả trên phần lớn các dự án, chúng tôi đã không thể làm điều đó - nhƣng khi chúng tôi thực hiện phƣơng thức này, chúng tôi đã tiếp cận đƣợc các yêu cầu có giá trị.

Sử dụng cuộc họp kế hoạch lặp thích hợp cho đội ở xa

Trên hầu hết các dự án của chúng tôi, chúng tôi đã nhận thấy rằng một cuộc họp lập kế hoạch vào đầu mỗi bƣớc lặp có liên quan đến cả nhóm thực sự làm cho tất cả mọi ngƣời phối hợp trên các đoạn tiếp theo của công việc. Tôi đã nhận thấy rằng hầu hết các dự án của chúng tôi đã đi lên với sự biến đổi riêng của mỗi vùng về cuộc họp kế hoạch lặp lại cho phù hợp với hoàn cảnh địa phƣơng. (Sự tự thích ứng này là một phần quan trọng trong quy trình của XP.) Một nhóm nghiên cứu ở xa bổ sung thêm những ràng buộc riêng, đặc biệt là vấn đề truyền thống văn hóa, các ngày lễ tết và vấn đề múi giờ. Bất chấp những khó khăn trong những cuộc họp mặt do vấn đề múi giờ gây ra, chúng tôi vẫn thấy đƣợc cuộc họp kế hoạch lặp lại là cực kỳ hữu ích.

Trƣớc những cuộc họp kế hoạch lặp lại, khách hàng gửi bài tƣờng thuật cho mỗi tính năng dự kiến (yêu cầu) mà chúng tôi muốn chuyển thành kịch bản thử nghiệm trƣớc cuộc họp. Trong thời gian này bất kỳ câu hỏi nào cũng đƣợc xử lý bằng email. Chỉ cần trƣớc cuộc họp, nhóm phát triển chia nhỏ các tính năng thành các nhiệm vụ rõ ràng. Các nhiệm vụ đƣợc chia nhỏ sẽ đƣợc chia sẻ với khách hàng để nhận đƣợc các phản hồi.

Tất cả các bƣớc chuẩn bị để rút ngắn các cuộc gọi điện cần bây giờ tập trung vào những vấn đề để hoàn thành việc chia nhỏ các tính năng thành nhiệm vụ một cách phù hợp. Chúng tôi tìm thấy thông thƣờng những cuộc gọi mất khoảng nửa giờ đến hai giờ. Điều quan trọng là phải giữ cho các cuộc họp qua điện thoại phải ngắn, nhƣng thực tế các cuộc họp từ xa là đặc biệt khó khăn trong việc rút ngắn thời gian.

Một phần của tài liệu Nghiên cứu phương pháp lập trình cực hạn áp dụng cho các dự án thuê ngoài (Trang 54)