Tác giả: Nguyễn Văn Hùng

Thông tin liên hệ:

Chào các anh chị (bạn, em) tôi là Hùng, sinh năm 85 có thể là một trong những học viên già nhất của devopsedu.vn bản thân tôi hiện đang làm việc trong lĩnh vực Agile. Hành trình của tôi bắt đầu với vai trò Developer/Scrum Master/Product Owner/Agile Team Member/Agile Coach, và từ đó tôi đã có cơ hội đồng hành cùng nhiều đội nhóm trong việc áp dụng và triển khai Agile vào thực tế. Ngoài ra khi biết đến DevOps tôi cũng rất hứng thú vì tuy rằng DevOps và Agile không giống nhau nhưng lại có những mối quan hệ chặt chẽ với nhau.

Tiêu chíAgileDevOps
Phạm viTập trung vào phát triển phần mềm và giao tiếp với khách hàng.Kết nối phát triển phần mềm và vận hành hệ thống.
Cách tiếp cậnDựa trên iterations và feedback nhanh.Dựa trên tự động hóa, CI/CD, và đo lường hiệu suất.
Công cụScrum, Kanban, Jira, Trello.Jenkins, Docker, Kubernetes, Ansible.
Đội nhóm liên quanDeveloper, Tester, Product Owner.Developer, Ops, QA, Security (SecOps).
Triết lý cốt lõiĐáp ứng nhanh với thay đổi và cải tiến liên tục.Phát hành nhanh và ổn định, tự động hóa quy trình.

Và kinh nghiệp DevOps của tôi cũng không được nhiều nên xin phép chia sẻ về Agile, trong bài viết này tôi xin chia sẻ về các câu hỏi phỏng vấn mà tôi đã vẫn đang sử dụng cũng như tổng hợp từ cả những đồng nghiệp.

Nội dung

Các câu hỏi phỏng vấn Agile Scum

Dưới đây, tôi trình bày những câu hỏi phỏng vấn Agile Scrum với câu trả lời, hy vọng rằng những câu hỏi này sẽ giúp bạn trong quá trình chuẩn bị cho buổi phỏng vấn Agile Scrum.

Câu hỏi phỏng vấn Agile Scrum cơ bản

Khi bạn chuẩn bị cho buổi phỏng vấn Agile Scrum, hãy hoàn thiện bước chuẩn bị cuối cùng với các câu hỏi phỏng vấn Agile Scrum cơ bản dưới đây. Đây là những câu hỏi nhanh mà bạn nên ôn lại trước khi tham gia phỏng vấn Agile Scrum.

1. Thời gian của một sprint trong Scrum là bao lâu?

Câu trả lời: Thông thường, thời gian của một sprint trong Scrum (chu kỳ Scrum) phụ thuộc vào quy mô của dự án và đội ngũ làm việc trên đó. Quy mô đội ngũ có thể dao động từ 3-9 thành viên. Thông thường, một sprint trong Scrum hoàn thành trong 3-4 tuần. Do đó, trung bình, thời gian của một sprint trong Scrum (chu kỳ Scrum) là 4 tuần. Câu hỏi loại này về sprint trong Agile Scrum rất phổ biến trong các buổi phỏng vấn dành cho Agile hoặc Scrum Master.

2. Bạn biết gì về các trở ngại trong Scrum? Đưa ra một số ví dụ về các trở ngại

Câu trả lời: Các trở ngại là những vấn đề hoặc rào cản mà đội ngũ Scrum gặp phải và làm chậm tiến độ công việc của họ. Nếu có điều gì đó đang cố gắng ngăn cản đội ngũ Scrum hoàn thành công việc của mình, đó là một trở ngại. Các trở ngại có thể xuất hiện dưới nhiều dạng khác nhau. Một số ví dụ về các trở ngại bao gồm:

  • Thiếu tài nguyên hoặc thành viên trong đội ngũ bị ốm.
  • Vấn đề kỹ thuật, vận hành, hoặc tổ chức.
  • Thiếu hệ thống hỗ trợ từ ban quản lý.
  • Vấn đề về kinh doanh.
  • Vấn đề bên ngoài như thời tiết, v.v.
  • Thiếu kỹ năng hoặc kiến thức.

3. Sự khác biệt và tương đồng giữa Agile và Scrum là gì?

Câu trả lời:

  • Sự khác biệt giữa Agile và Scrum: Agile là một phạm vi rộng lớn, là phương pháp luận được sử dụng trong quản lý dự án, trong khi Scrum chỉ là một dạng của Agile, mô tả quá trình và các bước thực hiện một cách chi tiết hơn. Agile là một phương pháp, trong khi Scrum là một quy trình để thực hiện phương pháp này.

  • Sự tương đồng giữa Agile và Scrum: Agile bao gồm việc hoàn thành các dự án theo từng bước hoặc tăng dần. Phương pháp Agile được coi là mang tính lặp đi lặp lại. Là một dạng của Agile, Scrum cũng giống như Agile, nó cũng là một quá trình lặp đi lặp lại và tăng dần.

4. “Build-breaker” là gì?

Câu trả lời: “Build-breaker” là tình huống phát sinh khi có lỗi trong phần mềm. Do lỗi bất ngờ này, quá trình biên dịch bị dừng lại, hoặc việc thực thi bị thất bại, hoặc một cảnh báo được tạo ra. Trách nhiệm của tester là đưa phần mềm trở lại trạng thái hoạt động bình thường bằng cách loại bỏ lỗi.

5. Bạn biết gì về Scrum-ban?

Câu trả lời: Scrum-ban là mô hình phát triển phần mềm dựa trên Scrum và Kanban. Mô hình này đặc biệt được sử dụng cho các dự án cần bảo trì liên tục, có nhiều lỗi lập trình hoặc có sự thay đổi đột ngột. Mô hình này thúc đẩy việc hoàn thành một dự án trong thời gian tối thiểu để sửa lỗi lập trình hoặc hoàn thành một user story.

6. Kể tên một số chiến lược chất lượng trong Agile

Câu trả lời: Một số chiến lược chất lượng trong Agile là:

  • Lặp lại (Iteration)
  • Tái cấu trúc mã (Re-factoring)
  • Phân tích mã động (Dynamic code analysis)
  • Chu kỳ phản hồi ngắn (Short feedback cycles)
  • Đánh giá và kiểm tra (Reviews and inspection)
  • Tiêu chuẩn và hướng dẫn (Standards and guidelines)
  • Đánh giá các cột mốc (Milestone reviews)

7. Bạn có biết về Agile Manifesto và các nguyên lý của nó không? Giải thích ngắn gọn

Câu trả lời: Đây là lý thuyết mà hầu hết các ứng viên cho vai trò Agile/Scrum nên nắm vững. Bốn giá trị và 12 nguyên lý của manifesto nên được giải thích càng chi tiết càng tốt. Dù không giải thích hoàn toàn chính xác, nhưng ý nghĩa của các giá trị và nguyên lý vẫn cần được làm rõ, ví dụ như:

  • Phần mềm hoạt động cần được trình bày định kỳ.
  • Cá nhân và sự tương tác – khuyến khích tự tổ chức và tự động viên.
  • Hợp tác với khách hàng.
  • Chào đón sự thay đổi bất cứ lúc nào trong dự án.

8. Có nhược điểm nào của mô hình Agile không? Nếu có, giải thích

Câu trả lời: Có, mô hình Agile có một số nhược điểm, một số trong số đó bao gồm:

  • Không dễ để dự đoán công sức cần thiết để hoàn thành một nhiệm vụ. Điều này càng trở nên phức tạp đối với các dự án lớn, khi rất khó để ước lượng tổng công sức cần thiết.
  • Đôi khi, không thể tập trung đúng mức vào thiết kế và tài liệu của dự án.
  • Nếu yêu cầu của khách hàng không được hiểu đúng, dự án cuối cùng sẽ không đáp ứng được yêu cầu của khách hàng, dẫn đến sự không hài lòng.
  • Chỉ có những người lãnh đạo có kinh nghiệm đáng kể về phương pháp Agile mới có khả năng đưa ra quyết định quan trọng. Các thành viên trong đội có ít hoặc không có kinh nghiệm sẽ không tham gia vào quá trình ra quyết định, do đó họ không có cơ hội nâng cao kiến thức của mình.
  • Không phải lúc nào bạn cũng sẽ được hỏi về đặc điểm và lợi ích của Agile và Scrum trong một cuộc phỏng vấn Agile Scrum. Vì vậy, hãy chuẩn bị cho cả những câu hỏi liên quan đến nhược điểm và bất lợi của Agile Scrum.

 

9. Định nghĩa Zero Sprint và Spike trong Agile

Câu trả lời: Để trả lời câu hỏi này, hãy mô tả chi tiết về Zero Sprint và Spike trong Agile như sau:

  • Zero Sprint: Zero Sprint có thể được định nghĩa là bước chuẩn bị cho sprint đầu tiên trong Agile. Có một số hoạt động cần phải hoàn thành trước khi thực sự bắt đầu dự án. Những hoạt động này được coi là Zero Sprint; ví dụ về những hoạt động này bao gồm: thiết lập môi trường phát triển, chuẩn bị các backlog, v.v.

  • Spike: Spike là một loại user story có thể được thực hiện giữa các sprint. Spikes thường được sử dụng cho các hoạt động liên quan đến thiết kế hoặc các vấn đề kỹ thuật như nghiên cứu, thiết kế, nguyên mẫu, và khám phá. Có hai loại Spike – spike chức năng (functional spike) và spike kỹ thuật (technical spike)

Câu hỏi phỏng vấn Scrum

Khi tham gia phỏng vấn cho vị trí Scrum, bạn nên chuẩn bị cho những câu hỏi phỏng vấn Scrum phổ biến. Bạn có thể sẽ được hỏi về các chủ đề liên quan đến Scrum Master, sprint, story point, sashimi, các nghi thức trong Scrum, v.v. Vì vậy, hãy chuẩn bị tốt cho các câu hỏi phỏng vấn Scrum này.

10. Bạn biết gì về story point trong Scrum?

Câu trả lời: Story point trong Scrum là đơn vị dùng để ước tính tổng công sức cần thiết để thực hiện hoặc hoàn thành một nhiệm vụ cụ thể. Đây là cách bạn có thể trả lời câu hỏi phỏng vấn Agile Scrum về story point một cách ngắn gọn.

11. Vai trò của Sashimi trong phương pháp Scrum là gì?

Câu trả lời: Sashimi đóng vai trò quan trọng trong phương pháp Scrum. Sashimi là kỹ thuật được Scrum sử dụng để kiểm tra sự hoàn thành của tất cả các chức năng được phát triển bởi các lập trình viên. Sử dụng kỹ thuật này, tất cả các yêu cầu như phân tích, thiết kế, lập trình, kiểm thử và tài liệu sẽ được kiểm tra, và chỉ sau đó sản phẩm mới được công bố.

12. Các vai trò khác nhau trong Scrum là gì?

Câu trả lời: Ba vai trò chính trong Scrum là Scrum Master, Product Owner và Scrum Team, và mỗi vai trò có những trách nhiệm chính cụ thể:

  • Product Owner: Là người đại diện cho các yêu cầu của dự án trước nhóm. Product Owner có trách nhiệm xây dựng tầm nhìn về sản phẩm và truyền đạt chi tiết tầm nhìn đó cho nhóm. Đây là người bắt đầu một dự án phát triển phần mềm theo phương pháp Agile Scrum.

  • Scrum Team: Là đội ngũ được thành lập từ sự đóng góp của các cá nhân để hoàn thành một dự án cụ thể. Nhóm này có nhiệm vụ làm việc để đảm bảo sản phẩm yêu cầu được giao đúng thời gian.

  • Scrum Master: Là người lãnh đạo và huấn luyện viên của nhóm Scrum, kiểm tra xem nhóm có thực hiện các nhiệm vụ cam kết đúng cách không. Scrum Master cũng có trách nhiệm nâng cao hiệu quả và năng suất của nhóm để giúp nhóm đạt được mục tiêu sprint hiệu quả.

13. Trách nhiệm của Scrum Master là gì?

Câu trả lời: Các trách nhiệm chính của Scrum Master bao gồm:

  • Theo dõi và giám sát tiến độ
  • Hiểu yêu cầu dự án một cách chính xác
  • Làm việc để đạt được mục tiêu dự án
  • Làm chủ quy trình và chất lượng
  • Bảo vệ nhóm khỏi những yếu tố làm xao nhãng
  • Cải thiện hiệu suất của nhóm
  • Dẫn dắt các cuộc họp và giải quyết vấn đề
  • Giải quyết các xung đột và trở ngại
  • Giao tiếp và báo cáo kết quả

Các câu hỏi phỏng vấn về Kiểm thử Agile

Kiểm thử Agile là phương pháp phát triển phần mềm sử dụng các thực hành trong phát triển phần mềm Agile. Trong một cuộc phỏng vấn dành cho công việc liên quan đến Agile, bạn có thể sẽ được hỏi về kiểm thử Agile, vì vậy hãy tham khảo các câu hỏi phỏng vấn về kiểm thử Agile dưới đây.

14. Bạn hiểu thế nào về thuật ngữ “Scrum of Scrums”?

Câu trả lời: Đây là một câu hỏi phỏng vấn phổ biến với Scrum Master. Giả sử có một dự án với bảy nhóm đang làm việc, mỗi nhóm có bảy thành viên. Mỗi nhóm có trách nhiệm tổ chức cuộc họp Scrum riêng. Tuy nhiên, để phối hợp và giao tiếp giữa các nhóm, cần tổ chức một cuộc họp Scrum riêng biệt. Cuộc họp Scrum này được gọi là Scrum of Scrums. Mỗi nhóm sẽ cử một đại diện, gọi là “ambassador”, có trách nhiệm đại diện nhóm mình trong Scrum of Scrums.

15. Scrum là một khung phương pháp Agile, đúng không? Liệt kê một vài khung phương pháp Agile khác.

Câu trả lời: Đúng vậy, Scrum là một khung phương pháp Agile. Một vài khung phương pháp Agile khác bao gồm:

  • Feature Driven Development (FDD)
  • Test Driven Development (TDD)
  • Kanban

Khi trả lời loại câu hỏi này, bạn hãy nêu các khung phương pháp mà bạn quen thuộc hoặc đã áp dụng.

16. Giải thích một số chỉ số phổ biến trong Agile

Câu trả lời: Bạn có thể sẽ gặp các câu hỏi phỏng vấn liên quan đến chỉ số trong Agile. Dưới đây là mô tả chi tiết của một số chỉ số phổ biến:

  • Velocity: Là số điểm trung bình của các sprint trước (3-4 sprint). Nó được tính bằng tổng các ước tính của các story đã được phê duyệt, giúp đánh giá năng lực, tiến độ…

  • Cumulative Flow Diagram: Biểu đồ này giúp kiểm tra dòng công việc đều đặn. Trục hoành biểu thị thời gian, trục tung biểu thị số lượng công việc.

  • Work Category Allocation: Đây là chỉ số giúp cung cấp thông tin nhanh chóng về việc đầu tư thời gian vào công việc nào và công việc nào cần được ưu tiên.

  • Time Coverage: Là thời gian mà mã được kiểm tra trong quá trình testing. Được tính bằng phần trăm dựa trên số dòng mã được kiểm tra và tổng số dòng mã liên quan.

  • Business Value Delivered: Chỉ số này thể hiện hiệu quả công việc của nhóm. Các mục tiêu kinh doanh được gán giá trị số như 1, 2, 3,… theo mức độ ưu tiên, độ phức tạp, và ROI.

  • Defect Removal Awareness: Đây là chỉ số giúp đội ngũ đảm bảo chất lượng sản phẩm. Việc xác định, nhận thức và loại bỏ các lỗi rất quan trọng trong việc sản xuất sản phẩm chất lượng cao.

  • Defect Resolution Time: Là quy trình phát hiện và sửa lỗi trong phần mềm. Quy trình này gồm nhiều bước như xác định lỗi, lên lịch sửa chữa, hoàn thành sửa chữa và tạo báo cáo kết quả.

  • Sprint Burn Down Metric: Biểu đồ burndown thể hiện số lượng công việc đã hoàn thành hoặc chưa hoàn thành trong mỗi sprint.

17. Có khi nào đề nghị sử dụng mô hình Waterfall thay vì Scrum không? Nếu có, giải thích khi nào.

Câu trả lời: Đôi khi mô hình Waterfall được khuyến khích thay vì Scrum. Điều này xảy ra khi yêu cầu của khách hàng đơn giản, rõ ràng, dễ dự đoán và không thay đổi cho đến khi dự án hoàn thành. Đây có thể là trường hợp bạn chưa từng sử dụng Waterfall, nhưng bạn vẫn cần chuẩn bị cho những câu hỏi Agile Scrum kiểu này.

18. Tại sao Scrum lại khuyến khích sử dụng kiểm thử tự động cho các dự án?

Câu trả lời: Scrum khuyến khích sử dụng kiểm thử tự động (kiểm thử hiệu suất hoặc kiểm thử hồi quy tự động) để đảm bảo giao hàng dự án nhanh chóng. Khi trả lời câu hỏi này, bạn có thể giải thích về các công cụ kiểm thử tự động mà bạn đã sử dụng.

19. Bạn biết gì về kỹ thuật “Planning Poker”?

Câu trả lời: Planning Poker, còn gọi là Scrum Poker, là một kỹ thuật sử dụng thẻ bài để lập kế hoạch và ước lượng trong Agile. Các bước trong kỹ thuật Planning Poker như sau:

  • Mỗi người tham gia có một bộ thẻ bài với các giá trị như 0, 1, 2, 3, 5,… dùng để chỉ định điểm câu chuyện, ngày lý tưởng, hoặc các yếu tố khác mà nhóm sử dụng để ước lượng.
  • Mỗi người tham gia thảo luận với Product Owner và sau đó chọn thẻ bài một cách riêng biệt dựa trên ước lượng của mình.
  • Nếu tất cả mọi người chọn thẻ có giá trị giống nhau, đó là ước lượng. Nếu không, người tham gia sẽ thảo luận về giá trị cao và thấp của ước lượng.
  • Quá trình này sẽ được lặp lại cho đến khi tất cả mọi người đạt được sự đồng thuận.

Các câu hỏi phỏng vấn Agile Scrum dựa trên kinh nghiệm

Phần này sẽ liên quan đến kinh nghiệm của bạn trong Agile hoặc Scrum. Bạn nên chuẩn bị thông tin về một vài dự án cũ của mình khi trả lời những câu hỏi phỏng vấn Agile Scrum này.

20. Nêu một số phương pháp và phát triển mà bạn đã sử dụng mô hình Agile.

Câu trả lời: Khi trả lời loại câu hỏi phỏng vấn này, hãy nhớ đề cập đến các phương pháp mà bạn quen thuộc. Một số phương pháp và phát triển mà mô hình Agile có thể được sử dụng là:

  • Phương pháp Crystal
  • Phát triển phần mềm Lean
  • Phát triển động
  • Phát triển dựa trên tính năng

21. Chia sẻ kinh nghiệm của bạn với vai trò Scrum Master/Product Owner/Thành viên đội Agile và các trách nhiệm chính của bạn là gì?

Câu trả lời: Ở đây, bạn cần giải thích chi tiết dự án mà bạn đã làm việc trong đội Scrum và xác định vai trò cũng như các trách nhiệm bạn đảm nhận. Mánh khóe trong câu hỏi này là bạn có thể thể hiện sự tự tổ chức và tự động viên trong đội. Ngoài ra, người phỏng vấn sẽ đánh giá độ sâu của kinh nghiệm bạn làm việc trong môi trường agile/scrum thông qua giải thích của bạn.

22. Thời gian của các Sprint/lượt trong dự án của bạn là bao lâu?

Câu trả lời: Đây có lẽ là câu hỏi phổ biến nhất trong các cuộc phỏng vấn Agile. Ý tưởng ở đây là để đánh giá môi trường bạn đã làm việc. Sẽ có câu hỏi phụ như: Thời gian này có cố định từ đầu và không bao giờ thay đổi không? Bạn đã thử sử dụng thời gian dài hơn hoặc ngắn hơn chưa?

23. Bạn đã thực hiện việc lập bản đồ câu chuyện người dùng và ước lượng câu chuyện như thế nào trong các dự án của bạn?

Câu trả lời: Câu hỏi này nhằm tìm hiểu cách bạn đã viết, lập bản đồ và ước lượng câu chuyện người dùng. Bạn có sử dụng phương pháp ước lượng nào như poker planning, sizing áo thun, v.v.? Dù bạn sử dụng phương pháp nào trong dự án của mình, hãy đề cập rõ ràng về nó.

24. Thách thức lớn nhất mà bạn gặp phải trong dự án khi xử lý các thành viên trong đội Scrum là gì?

Câu trả lời: Câu hỏi này hoàn toàn để đánh giá kinh nghiệm của bạn. Bạn càng giải thích tốt các thách thức khi làm việc trong môi trường agile thì càng tốt. Các thách thức thường gặp trong các giai đoạn ban đầu của Scrum là ổn định tốc độ, xung đột giữa các thành viên trong đội, tuân thủ thời gian box, v.v.

25. Bạn đã bao giờ thực hiện việc loại bỏ các trở ngại như một Scrum Master thay mặt cho đội Scrum chưa?

Câu trả lời: Là một Scrum Master, người này đóng vai trò huấn luyện viên cho đội của mình và phải thúc đẩy đội thực hiện mọi công việc. Mặc dù anh ta có thể loại bỏ các trở ngại thay mặt đội, nhưng không nên làm điều này quá nhiều. Scrum Master không nên quá nuông chiều hay can thiệp quá mức vào đội. Đôi khi, đội có thể gặp thất bại, và khi đó Scrum Master nên giúp họ bằng cách hướng dẫn phương pháp giải quyết vấn đề. Scrum Master cũng nên khuyến khích các thành viên trong đội trở nên độc lập và có khả năng đối mặt với vấn đề cũng như tự đưa ra quyết định.

26. Phân biệt giữa MVP và MMR.

Câu trả lời: Một ý tưởng trong Lean Startup được gọi là Minimum Viable Product (MVP), nhấn mạnh tầm quan trọng của việc học hỏi khi sản phẩm đang được phát triển. Bằng cách đưa ra phiên bản đầu tiên của sản phẩm cho người dùng mục tiêu, MVP giúp đánh giá và hiểu rõ về sản phẩm. Ý tưởng của MVP là phát triển một sản phẩm, phân phối nó đến khách hàng và sau đó quan sát cách sản phẩm được sử dụng, nhìn nhận và hiểu rõ hơn về yêu cầu của khách hàng.

Trên đây là các câu hỏi phỏng vấn mà tôi ngồi lại viết ra được. Tôi sẽ tiếp tục chia sẻ thêm ở các bài viết sau. Xin cảm ơn đã đọc.