【Phần II - Agile Orientation】Chương 3 - Nào mình cùng lên xe bus

Trên thực tế, rất nhiều dự án thất bại ngay cả trước khi start. Dưới đây là 2 lý do chính:

  • Không thể trả lời những câu hỏi bắt buộc phải trả lời.
  • Không đủ can đảm để đặt ra những câu hỏi hóc búa.

Trong chương này, tôi sẽ giới thiệu một công cụ tuyệt vời để quản trị sự kỳ vọng đối với project đó chính là Inception Deck. Inception Deck là tập hợp của 10 câu hỏi nên trả lời trước khi bắt đầu dự án. Nếu áp dụng Inception Deck, chúng ta sẽ biết được những người phù hợp đã lên xe bus (dự án) hay chưa, chiếc xe bus của chúng ta có chạy đúng hướng hay không ... trước khi programmer bắt đầu viết những dòng code đầu tiên.

3.1 Tại sao dự án thất bại?

Khi bắt đầu một dự án mới, thì suy nghĩ về sự thành công của dự án đối với mỗi người là rất khác nhau.
Đối với dự án, thì đây thực sự là một điều tồi tệ. Bởi vì, chúng ta đã có ý định giải thích về một mục tiêu chung, tuy nhiên khi sản phẩm hoàn thành, thì thực sự chúng ta đã suy nghĩ hoàn toàn khác nhau. Vấn đề ở đây không phải là ở thời điểm bắt đầu dự án mọi người không nhận thức được. Mà do chúng ta đã bắt đầu dự án trước khi có sự thống nhất giữa tất cả mọi người. Nếu chúng ta cứ tiến hành mà không có sự đồng thuận, thì dự án sẽ có khả năng là thất bại đấy.
Để tránh điều này xảy ra, chúng ta cần thực hiện 2 điều sau:

  • Hãy nói chuyện, trao đổi với team về mục tiêu, tầm nhìn, tình trạng và bối cảnh của dự án. Nếu làm được như vậy, thì chúng ta có thể đưa ra những quyết định quyết trọng ứng với tình hình thực tế.
  • Cung cấp thông tin kịp thời cho các Stakeholders. Các Stakeholders cần đẩy đủ thông tin, tài liệu để đưa ra quyết định là có tiếp tục dự án hay không


Để làm điều đó, có thể chúng ta sẽ phải đặt ra những câu hỏi thực sự khiến chúng ta phải do dự, e dè để trả lời.

3.2 Đặt ra những câu hỏi khó nhằn.

Khi tôi còn làm việc ở nước Úc, tôi đã có cơ hội ngồi cạnh với ngài Keith Dodds, một Top sales hàng đầu của công ty ThoughtWorks. Ngài Keith Dodds thực sự đã dạy tôi rất nhiều điều, một trong số đó là ý thức được tầm trọng của việc đặt ra những câu hỏi thật sự khó nhằn(Tough Question), khi ký hợp đồng mới hoặc bán một thứ gì đó.

ThoughtWorks là một công ty tư vấn IT nổi tiếng trên thế giới, chuyên tư vấn về phát triển phần mềm theo mô hình Agile.

Khi dự án vẫn còn đang ở giai đoạn bắt đầu, bạn có thể đặt rất nhiều câu hỏi khác nhau, hơn nữa việc đặt những câu hỏi này cũng không tốn công sức lắm. Vì vậy, bạn được phép hỏi những câu hỏi thẳng thắn như ở dưới đây:

  • Team này có kinh nghiệm công việc như thế nào?
  • Thế thì, bản thân bạn có kinh nghiệm gì trong công việc này không?
  • Budget của dự án khoảng bao nhiêu?
  • Ai là người quản lý bao quát dự án này?
  • Cơ chế 2 analysts với 30 programmer có vấn đề gì không?
  • Tôi muốn hỏi rằng, trong quá khứ, bạn đã từng lead một nhóm fresher chưa có kinh nghiệm về hướng đối tượng, và thành công trong việc dùng phương pháp Agile thay thế Mainframe system bằng Ruby on Rails chưa?

Tóm lại, khi bắt đầu một agile project, bạn phải trả lời được những câu hỏi khó nhằn trước. Tool giúp bạn có thể làm được điều đó chính là Inception deck.

3.3 Giới thiệu về Inception Deck


Có thể coi Inception Deck như chiếc đèn pin chiếu sáng màn sương mù che khuất tầm nhìn dự án của bạn. Inception Deck là tập hợp bao gồm 10 câu hỏi và vấn đề. Mỗi vẫn đề này đều cần phải được đặt ra trước khi bắt đầu dự án.
Ở công ty ThoughtWorks, người ta thường sử dụng Inception Deck để hỗ trợ khởi đầu dự án suôn sẻ. Những thủ pháp Agile như là Extreme Programming hay Scrum sẽ không dạy cho bạn biết cách tạo hiến chương của dự án. Tôi đã hoàn toàn không nghĩ rằng việc dành ra 6 tháng chỉ để phân tích và thu thập yêu cầu là một việc đúng đắn, tuy nhiên đã không có phương án thay thế tối ưu nào khác.
Đối mặt với tình hình như thế, Robin Gibbons đã nghĩ ra nguyên mẫu về Inception Deck. Inception Deck là một công cụ để truyền đạt nhận thức chung, cốt lõi được trích xuất từ dự án cho không chỉ là development teams mà còn đối với tất cả những người liên quan ở phạm vi rộng hơn (hay còn gọi là Project community)

3.4 Cơ chế của Inception Deck

Ý tưởng đằng sau của Inception Deck là như thế này: Tập hợp tất cả những người phù hợp vào trong một căn phòng, và nếu sau đó chúng ta có thể đặt ra được những câu hỏi thích hợp liên quan tới dự án, thì chắc chắn khi đó chúng ta có thể chia sẻ được kỳ vọng của bản thân đối với dự án, và tạo ra được một nhận thức chung.
Nếu lần lượt sắp xếp kết quả của câu hỏi của Inception Deck mà chúng ta đã làm trong team trên mỗi slide, thì chúng ta sẽ hiểu được đây là một dự án như thế nào (đối với tôi, thì thường dùng công cụ PowerPoint để làm điều này.) Dự án này tại sao lại có, tại sao lại không, để mang lại một giá trị tốt thì chúng ta phải tập trung vào đâu, .... vv. Tập hợp những slide (deck) như thế này chính là Inception Deck. Vậy người như thế nào thì thích hợp tham gia tạo Inception Deck? Câu trả lời là, bất kỳ người nào có liên quan trực tiếp tới dự án đều có thể tham gia.
Khách hàng, stakeholders, team members, developers, testers, analysts...vv Hay tất cả những người giúp cho dự án chạy một cách trơn tru đều là những người liên quan.
Khi tạo Inception Deck thì việc tham gia stakeholders là cực kỳ quan trọng. Bởi vì, Inception Deck không phải là thứ chỉ dành cho development team. Thực sự, Inception Deck sẽ rất có ích đối với stakeholders. Bời vì, nó cung cấp những thông tin rất hữu ích khi đưa ra những quyết định cực kỳ quan trọng, ví dụ như là "Có quyết định làm dự án này hay không?"
Thời gian tạo Inception Deck dự kiến có thể mất từ vài ngày đến khoảng 2 tuần. Inception Deck cũng hướng tới việc tạo ra tầm nhìn trong khoảng 6 tháng tới của project. Và khi có bất kỳ sự thay đổi lớn nào ở phương trâm, và tình trạng của project, thì nó cần được chỉnh sửa ngay tại thời điểm đó.
Inception Deck là một thành quả hữu dụng được sử dụng trong thực tế. Vì vậy, nó không phải là một thứ chỉ được tạo ra và cất lên kệ. Bạn hãy thử dán Inception Deck lên tường góc làm việc của bạn, thi thoảng ngước nhìn lên, bạn sẽ nhớ ra và biết mình phải làm gì, và tại sao phải làm điều đó.
Chắc không phải nói có thể bạn cũng hiểu rằng, Inception Deck đang được giới thiệu, đề cập ở cuốn sách này chỉ là những khởi đầu đơn giản. Ngoài ra, bạn phải tự suy nhĩ xem, là còn câu hỏi, hay vấn đề nào khác không?
Vậy trước khi bắt đầu dự án, bạn muốn làm rõ vấn đề gì?
Thực ra, Inception Deck được giới thiệu ở đây chỉ là điểm xuất phát ban đầu. Bạn đừng tin vào một cách mù quáng, mà hãy đừng ngần ngại cải tiến nó sao cho phù hợp với bản thân mình.

3.5 Danh sách các câu hỏi Inception Deck

Trước khi đi vào chi tiết của từng cái trong tập hợp 10 câu hỏi và vấn đề Inception Deck, trước hết chúng ta hãy lướt qua một lượt. Dưới đây là mô tả ngắn gọn về từng vấn đề trong Inception Deck.

  1. Tại sao chúng ta ở đây?
    Chúng ta cần xác nhận, và trả lời được những câu hỏi dưới đây:

    • Chúng ta thành lập team này để làm gì?
    • Khách hàng của chúng ta là ai?
    • Lý do gốc dễ ban đầu chúng ta khởi động dự án này là gì?
  2. Elevator Pitch
    Trong khoảng 30 giây tới 1 phút, bạn sẽ nói điều gì để PR về dự án của mình?

Elevator Pitch Là một dạng giới thiệu Ngắn gọn, súc tích, có trọng tâm về sản phẩm, dịch vụ của bạn. Bản chất của từ "elevator pitch" là để nói về việc không phải lúc nào bạn cũng có thời gian mấy chục phút để giới thiêu, trình bày thuyết trình về sản phẩm. Đôi khi trong thang máy, bạn tình cờ gặp sếp/ nhà đầu tư, họ hỏi bạn "Anh đang làm sản phẩm/ dự án gì" hoặc "dự án anh chị đang làm là gì" thì trong vòng khoảng 1 phút thang máy lên xuống đó bạn phải giới thiệu được một cách cô đọng, súc tích về sản phẩm của bạn.

  1. Package design
    Trong một trang tạp chí được mở ra ngẫu nhiên, giả sử bạn sẽ in thông tin quảng cáo về dịch vụ và sản phẩm của mình lên đó, bạn sẽ in nội dung gì?
    Điều quan trọng hơn, đó là người xem nội dung quảng cáo đó có muốn mua sản phẩm của bạn không?

  2. List ra những việc sẽ không làm.
    Khi làm dự án, những điều bạn muốn thực hiện có thể bạn đã viết ra khá rõ ràng rồi. Thì cũng tương tự như thế, bạn cũng cần list ra những việc bạn sẽ không làm, sao cho thật dễ hiểu.

  3. Tìm ra "những người hàng xóm"
    Thực ra những người có liên quan tới dự án sẽ rộng hơn bạn nghĩ nhiều. Vì vậy, hãy mời những người như vậy tham gia, vừa cùng nhau thưởng thức ly cà phê vừa giới thiệu dự án, thế chẳng phải sẽ rất tốt hay sao?

  4. Viết ra giải pháp.
    Để chắc chắn rằng tất cả các thành viên trong team đều có nhận thức chung, chúng ta cần phác thảo một bản thiết kế khái quát.

  5. Vấn đề khiến bạn "mất ngủ" là gì?
    Trong những vấn đề xảy ra trong dự án, sẽ có những vấn đề khiến bạn chỉ nghỉ tới thôi cũng thấy lo sợ. Tuy nhiên, chúng ta cần phải dũng cảm trao đổi về những việc lo lắng này.

    • Làm thế nào để tránh được tình hình tồi tệ đó xảy ra?
    • Biện pháp tối thiểu hóa thiệt hại là gì?
  6. Nhận thức rõ khoảng thời gian
    Chúng ta cần nhận thức rõ được rằng, dự án này sẽ kéo dài bao lâu? 3 tháng? nửa năm hay 9 tháng

  7. Làm rõ ra những thứ bạn sẽ từ bỏ
    Có một số yếu tố trong dự án như là: Thời gian, scope, budget, sau đó là chất lượng. Vào thời điểm hiện tại, chúng ta cần nhận thức rõ những thứ chúng ta phải làm ngay, không thể để lại và những thứ chúng ta đành phải để lại, để làm sau là gì?

  8. Những thứ cần thiết là những gì?

    • Dự án sẽ chạy trong bao lâu?
    • Cost thế nào?
    • Chúng ta cần một team như thể nào để hoàn thành dự án này?

    Đó là những câu hỏi chúng ta cần phải trả lời.




Hết. Mời các bạn tham khảo tiếp ở các bài viết lần tới

Nguồn:  アジャイルサムライ


All Rights Reserved