<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Scrum · Nhân Tài Đức</title>
    <link>https://jared.lynskey.co.nz/vi/tags/scrum/</link>
    <description>Những câu chuyện ngắn về kỹ thuật phần mềm và lãnh đạo đội ngũ kỹ sư — performance review, tuyển dụng và mở rộng team, CI/CD, giám sát DevOps và AI agent. Viết từ Seoul.</description>
    <generator>Hugo</generator>
    <language>vi</language>
    <copyright>© 2026 Nhân Tài Đức</copyright>
    <lastBuildDate>Wed, 28 Oct 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/vi/tags/scrum/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Khi đội không ước lượng nổi: hãy dùng spike</title>
      <link>https://jared.lynskey.co.nz/vi/posts/2023/2023-10-18-spike/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/vi/posts/2023/2023-10-18-spike/</guid>
      <pubDate>Wed, 18 Oct 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Managing</category>
      <category>Spikes</category>
      <category>Agile</category>
      <category>Development</category>
      <category>Scrum</category>
      <category>Technical Debt</category>
      <category>XP</category>
      <category>Sprint Planning</category>
      <category>Risk Management</category>
      <description>Khi không ai ước lượng nổi một story, hãy làm spike: dành vài ngày trong một khung thời gian định trước để tìm câu trả lời cho đúng câu hỏi đang cản đường cả đội. Trong bài: khi nào nên làm, tôi tổ chức một spike ra sao, và mẫu tài liệu tôi hay dùng.</description>
      <content:encoded><![CDATA[<p>Spike trong Agile và Scrum là một việc tìm hiểu ngắn, có thời hạn định sẵn (thường từ một đến ba ngày), chỉ để trả lời đúng một câu hỏi cụ thể. Có được câu trả lời rồi, đội mới ước lượng được story đang bị treo vì câu hỏi đó. Thứ bạn nhận về sau spike là kết quả tìm hiểu và một đề xuất, chứ không phải mã để đưa lên production. Nếu điều khiến cả đội không ước lượng nổi là những ẩn số chứ không phải khối lượng công việc, thì đừng cố ước lượng nữa mà hãy làm một spike trước.</p>
<p>Thỉnh thoảng trong buổi lập kế hoạch sprint (sprint planning) lại có một story mà không ai chấm điểm (story point) nổi. Người chấm 2, người chấm 13, rồi có ai đó buông một câu &ldquo;ừ thì, còn tùy&rdquo;, và cuộc thảo luận cứ thế đi vòng vòng. <em>Nên dùng GraphQL hay REST? Hệ thống có thật sự chịu được 10,000 người dùng cùng lúc không? Thư viện bên thứ ba này đã đủ ổn định để đưa lên môi trường production chưa?</em> Với những câu hỏi kiểu này, ngồi ước lượng bao lâu cũng không ra. Bạn phải bắt tay vào tìm hiểu, và spike sinh ra chính là để làm việc đó.</p>
<figure><video
    class="my-0 rounded-md"
    controls playsinline preload="none"
    poster="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film-poster.jpg" style="background:url('data:image/webp;base64,UklGRmoAAABXRUJQVlA4IF4AAAAQBQCdASogABIAPw1qpkemIyGYBABjEMT0gAA1cWIXGJs2LD6BmCYzHU6rXeJ2rfBgAP7ueaFWdAS7Wg/a9Absx0adTGm5KJURtiYmXfxVcs0TIltNDc4MndOlEAAA') center/cover no-repeat"
    width="1280"
    height="720"
    aria-label="Video ngắn có lời dẫn kể lại bài viết này">
    <source src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film.webm" type="video/webm">
    <track kind="subtitles" src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film_en.vtt" srclang="en" label="English">
    <track kind="subtitles" src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film_ja.vtt" srclang="ja" label="日本語">
    <track kind="subtitles" src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film_ko.vtt" srclang="ko" label="한국어">
    <track kind="subtitles" src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film_vi.vtt" srclang="vi" label="Tiếng Việt" default>
    <track kind="subtitles" src="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/spike-film_zh-cn.vtt" srclang="zh-cn" label="简体中文">
  </video><figcaption>Bài viết này dưới dạng video dài tám phút. Lời dẫn bằng tiếng Anh, có phụ đề tiếng Việt.</figcaption>
</figure>


<h4 class="relative group">Spike từ đâu mà ra
    <div id="spike-từ-đâu-mà-ra" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#spike-t%e1%bb%ab-%c4%91%c3%a2u-m%c3%a0-ra" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Thuật ngữ này bắt nguồn từ Extreme Programming (XP). Ở đó, spike là một &ldquo;chương trình rất đơn giản để khám phá các giải pháp tiềm năng&rdquo;, giống như đóng một cây đinh (spike) xuyên thẳng qua vấn đề. Ngày nay, spike là một nhiệm vụ nghiên cứu ngắn, có khung thời gian cố định (time-box), và đầu ra của nó là kiến thức chứ không phải phần mềm chạy được. Spike không phải user story, tự nó cũng không mang lại giá trị gì cho khách hàng, và như vậy cũng không sao. Nhiệm vụ của nó là trả lời một câu hỏi cụ thể, để phần việc thật sau đó được ước lượng và lên kế hoạch cho sát thực tế.</p>
<p>Trên thực tế có hai loại spike. Spike kỹ thuật trả lời câu hỏi &ldquo;làm thế nào&rdquo;: đánh giá một framework hay thư viện, làm bản mẫu (prototype) cho một mẫu kiến trúc, kiểm thử hiệu năng trong điều kiện sát với thực tế, hoặc tìm hiểu xem một bài toán tích hợp thật ra sẽ vất vả đến mức nào. Spike chức năng thì trả lời câu hỏi &ldquo;làm cái gì&rdquo;: làm rõ một story còn mơ hồ, thử một ý tưởng giao diện bằng bản mẫu làm xong là bỏ, hoặc mày mò nghiệp vụ phức tạp cho đến khi hiểu ra vấn đề.</p>

<h4 class="relative group">Vì sao đáng bỏ thời gian
    <div id="vì-sao-đáng-bỏ-thời-gian" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#v%c3%ac-sao-%c4%91%c3%a1ng-b%e1%bb%8f-th%e1%bb%9di-gian" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Cố ước lượng một việc còn nhiều ẩn số lớn thì kết quả thường chỉ có hai kiểu: hoặc ước lượng bị độn lên cho chắc, hoặc trễ hạn chót. Spike biến &ldquo;chẳng biết gì&rdquo; thành dữ liệu thật, để cả đội có thể cam kết mà không phải chột dạ. Nó cũng thay những cuộc tranh cãi cảm tính bằng bằng chứng: thay vì cãi nhau xem cơ sở dữ liệu nào tốt hơn, bạn bỏ ra hai ngày để đo, rồi đưa kết quả thẳng vào <a href="https://jared.lynskey.co.nz/vi/posts/2024/2024-12-03-decision-docs/" >tài liệu quyết định</a> của mình.</p>
<p>Nhưng trên hết, spike là một khoản bảo hiểm rẻ. Bỏ hai ngày làm spike để phát hiện ra giới hạn của một thư viện thì tốn ít hơn nhiều so với việc phát hiện ra đúng giới hạn đó khi đã phát triển được ba sprint.</p>

<h4 class="relative group">Khi nào nên (và không nên) dùng spike
    <div id="khi-nào-nên-và-không-nên-dùng-spike" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#khi-n%c3%a0o-n%c3%aan-v%c3%a0-kh%c3%b4ng-n%c3%aan-d%c3%b9ng-spike" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Hãy dùng spike khi đội không tự tin ước lượng một story vì còn những ẩn số kỹ thuật, khi có nhiều phương án khả thi và bạn cần dữ liệu để chọn, khi bạn đang cân nhắc một công nghệ hay một bài toán tích hợp mới, khi hiệu năng vừa chưa chắc chắn vừa cực kỳ quan trọng, hoặc khi yêu cầu vẫn mơ hồ dù bạn đã ngồi họp với các bên liên quan không biết bao nhiêu lần.</p>
<p>Ngược lại, đừng dùng spike cho những việc đội đã biết cách làm, hay để trì hoãn một quyết định mà bạn hoàn toàn có thể đưa ra với thông tin đang có. Spike cũng không thay thế được việc thu thập yêu cầu cẩn thận hay <a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-08-27-user-acceptance-testing/" >kiểm thử chấp nhận người dùng</a>: nó trả lời một câu hỏi, chứ không kiểm chứng một sản phẩm.</p>

<h4 class="relative group">Tôi làm một spike như thế nào
    <div id="tôi-làm-một-spike-như-thế-nào" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#t%c3%b4i-l%c3%a0m-m%e1%bb%99t-spike-nh%c6%b0-th%e1%ba%bf-n%c3%a0o" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Đầu tiên là viết câu hỏi ra. Không phải &ldquo;nghiên cứu về bộ nhớ đệm (cache)&rdquo; mà là &ldquo;cụm Redis có đáp ứng được yêu cầu độ trễ 50ms của mình không?&rdquo;. Xác định phạm vi rõ ràng, cái gì nằm trong, cái gì nằm ngoài; đặt khung thời gian từ một đến ba ngày (nếu cần lâu hơn thì câu hỏi đang quá rộng); và đặt tiêu chí thành công để biết khi nào thì xong.</p>
<p>Sau đó bắt tay vào tìm hiểu: đọc tài liệu và các nghiên cứu điển hình (case study), dựng một bản chứng minh khái niệm (proof of concept) tối giản, hỏi chuyện những người từng làm rồi, và đo đạc bằng mã thật. Mã viết trong spike vốn dĩ là để vứt đi.</p>
<p>Khi hết khung thời gian, hãy viết lại những gì tìm được, một đề xuất kèm lý do, và mọi rủi ro bạn phát hiện ra, cùng đường liên kết tới bản mẫu, ghi rõ đó là sản phẩm của spike. Trình bày cho cả đội, trả lời các câu hỏi, rồi điều chỉnh danh sách việc tồn đọng (backlog): tạo story mới, chỉnh sửa, hoặc bỏ hẳn story dựa trên những gì đã học được. Cũng nên dành chút thời gian nhìn lại xem bản thân spike đó đã diễn ra thế nào trong buổi <a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-09-01-retrospecs/" >họp nhìn lại (retrospective)</a> tiếp theo; làm spike càng nhiều thì đội càng làm tốt hơn thấy rõ.</p>

<h4 class="relative group">Mẫu tài liệu tôi dùng
    <div id="mẫu-tài-liệu-tôi-dùng" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#m%e1%ba%abu-t%c3%a0i-li%e1%bb%87u-t%c3%b4i-d%c3%b9ng" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gu">## Spike: [Title]
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gs">**Time-box**</span>: [X days]
</span></span><span class="line"><span class="cl"><span class="gs">**Owner**</span>: [Name]
</span></span><span class="line"><span class="cl"><span class="gs">**Sprint**</span>: [Sprint number/name]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Question to Answer
</span></span></span><span class="line"><span class="cl">[Single, focused question this spike will answer]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Background
</span></span></span><span class="line"><span class="cl">[Why this spike is needed; what triggered the uncertainty]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Assumptions
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [Assumption 1]
</span></span><span class="line"><span class="cl"><span class="k">-</span> [Assumption 2]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Scope
</span></span></span><span class="line"><span class="cl">**In Scope**:
</span></span><span class="line"><span class="cl"><span class="k">-</span> [Item 1]
</span></span><span class="line"><span class="cl"><span class="k">-</span> [Item 2]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gs">**Out of Scope**</span>:
</span></span><span class="line"><span class="cl"><span class="k">-</span> [Item 1]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Success Criteria
</span></span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> [Criterion 1]
</span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> [Criterion 2]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Findings
</span></span></span><span class="line"><span class="cl">[To be completed during spike]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Recommendation
</span></span></span><span class="line"><span class="cl">[To be completed after spike]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Follow-up Stories
</span></span></span><span class="line"><span class="cl"><span class="k">- [ ]</span> [Story 1]
</span></span><span class="line"><span class="cl">- [ ] [Story 2]</span></span></code></pre></div></div>
<p>Phần Assumptions (các giả định) rất đáng có. Trước khi bắt đầu, nếu bạn viết ra những giả định như &ldquo;mô hình dữ liệu của mình chủ yếu là dạng quan hệ&rdquo; hay &ldquo;lượt đọc sẽ gấp 10 lần lượt ghi&rdquo;, bạn được hai cái lợi. Một là mọi người có thể phản biện cách bạn đặt vấn đề trước khi bạn tiêu hết khung thời gian. Hai là nếu giữa chừng có giả định hóa ra sai, thì bạn đã học được một điều có giá trị, chứ không phải phí mất hai ngày.</p>

<h4 class="relative group">Những kiểu spike đi chệch hướng
    <div id="những-kiểu-spike-đi-chệch-hướng" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#nh%e1%bb%afng-ki%e1%bb%83u-spike-%c4%91i-ch%e1%bb%87ch-h%c6%b0%e1%bb%9bng" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Thất bại kinh điển nhất là phình phạm vi (scope creep): spike lặng lẽ biến thành một dự án nghiên cứu không có điểm dừng. Khi câu hỏi mới xuất hiện (và chắc chắn sẽ có), hãy ghi chúng lại thành ứng viên cho những spike sau, thay vì nới rộng spike hiện tại. Thất bại thứ hai là làm quá mức cần thiết (goldplating): khi bắt gặp mình đang thêm xử lý lỗi hay viết kiểm thử cho mã spike, là bạn đã bước từ khám phá sang hiện thực hóa rồi đấy. Thứ ba là bỏ qua phần viết lại kết quả: sáu tháng sau sẽ có người gặp đúng câu hỏi đó, và hai ngày tìm hiểu của bạn coi như mất trắng. Và cuối cùng là coi spike như một lời cam kết cho một câu trả lời định sẵn. Một spike chứng minh được một hướng đi không khả thi là đã làm tròn vai của nó rồi.</p>

<h4 class="relative group">Đưa spike vào buổi lập kế hoạch sprint
    <div id="đưa-spike-vào-buổi-lập-kế-hoạch-sprint" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%c4%91%c6%b0a-spike-v%c3%a0o-bu%e1%bb%95i-l%e1%ba%adp-k%e1%ba%bf-ho%e1%ba%a1ch-sprint" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Khi <a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-10-08-planning-an-api/" >lên kế hoạch sprint</a>, tôi thấy vài thói quen sau khá hiệu quả. Nếu một story có những ẩn số thật, hãy làm spike trong sprint này và xếp phần việc thật vào một sprint sau. Mỗi sprint chỉ nên có một hai spike, nhiều hơn thì đội sẽ mất tập trung. Đừng chấm điểm story cho spike; spike tạo ra kiến thức chứ không tạo ra phần mềm, nên hãy theo dõi chúng bằng khung thời gian. Và hãy trình bày kết quả spike trong buổi làm rõ story (refinement), trước khi đội ước lượng các story liên quan, chứ không phải sau đó.</p>
<p>Lần tới, khi một story đặt ra nhiều câu hỏi hơn là câu trả lời, hãy nghĩ tới khả năng một spike lại chính là việc hữu ích nhất trong sprint. Đôi khi, cách nhanh nhất để đi tiếp là dừng lại và tìm hiểu.</p>

<h4 class="relative group">Nói ngắn gọn
    <div id="nói-ngắn-gọn" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#n%c3%b3i-ng%e1%ba%afn-g%e1%bb%8dn" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p>Spike là một đợt tìm hiểu gói trong khung thời gian cố định, từ một đến ba ngày, xoay quanh đúng một câu hỏi mà chỉ ngồi ước lượng thì không giải quyết được. Nên làm spike khi chính những ẩn số đang chặn việc ước lượng: có nhiều phương án khả thi nhưng thiếu dữ liệu để chọn, đang cân nhắc một công nghệ hay một bài toán tích hợp mới, hiệu năng vừa chưa chắc chắn vừa quan trọng, hoặc yêu cầu cứ mơ hồ mãi. Đừng làm spike cho những việc đội đã biết cách làm, hay để trì hoãn một quyết định mà thông tin đang có đã đủ để đưa ra.</p>
<p>Đầu ra của spike là kiến thức chứ không phải phần mềm: kết quả tìm hiểu, đề xuất kèm lý do, những rủi ro phát hiện được và một bản mẫu làm xong là bỏ. Danh sách việc tồn đọng sau đó được điều chỉnh theo. Không chấm điểm story cho spike, chỉ theo dõi bằng khung thời gian; và kết quả nên được trình bày ở buổi làm rõ story, trước khi đội ước lượng các story liên quan.</p>

<h4 class="relative group">Đọc thêm
    <div id="đọc-thêm" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%c4%91%e1%bb%8dc-th%c3%aam" aria-label="Cọc dấu">#</a>
    </span>
    
</h4>
<p><strong>Bài viết liên quan trên blog này:</strong></p>
<ul>
<li><a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-09-01-retrospecs/" >Họp nhìn lại: đánh giá kết quả spike</a> - Đưa những gì học được từ spike vào quá trình cải tiến liên tục</li>
<li><a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-08-27-user-acceptance-testing/" >Kiểm thử chấp nhận người dùng</a> - Kiểm chứng xem các quyết định dựa trên spike có đáp ứng đúng nhu cầu người dùng không</li>
<li><a href="https://jared.lynskey.co.nz/vi/posts/2024/2024-12-03-decision-docs/" >Tài liệu quyết định</a> - Tổ chức các quyết định rút ra từ kết quả spike</li>
<li><a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-10-08-planning-an-api/" >Lên kế hoạch API</a> - Spike giúp định hướng các quyết định thiết kế API ra sao</li>
</ul>
<p><strong>Tài liệu bên ngoài:</strong></p>
<ul>
<li><a href="https://scaledagileframework.com/spikes/"  target="_blank" rel="noreferrer">Spikes - Scaled Agile Framework (SAFe)</a> - Hướng dẫn của SAFe về spike ở quy mô lớn</li>
<li><a href="http://www.extremeprogramming.org/rules/spike.html"  target="_blank" rel="noreferrer">Spike Solutions - Extreme Programming</a> - Khái niệm gốc trong XP</li>
<li><a href="https://scrumguides.org/"  target="_blank" rel="noreferrer">The Scrum Guide</a> - Spike nằm ở đâu trong buổi lập kế hoạch sprint</li>
<li><a href="https://martinfowler.com/bliki/TechnicalDebt.html"  target="_blank" rel="noreferrer">Martin Fowler bàn về nợ kỹ thuật</a> - Spike giúp ngăn nợ kỹ thuật như thế nào</li>
</ul>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-10-18-spike/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Scrum Master là gì, làm những việc gì? Tập trung vào quy trình, không chỉ kết quả</title>
      <link>https://jared.lynskey.co.nz/vi/posts/2023/2023-10-16-outcome-indepedent/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/vi/posts/2023/2023-10-16-outcome-indepedent/</guid>
      <pubDate>Mon, 16 Oct 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Scrum</category>
      <category>Scrum Master</category>
      <category>Agile</category>
      <category>Retrospectives</category>
      <category>Team Management</category>
      <description>Theo Scrum Guide, Scrum Master chịu trách nhiệm về những gì, vai trò này khác quản lý dự án (project manager) ra sao, và vì sao việc chính của Scrum Master là cải thiện quy trình chứ không phải chạy theo kết quả sprint.</description>
      <content:encoded><![CDATA[<p>Trả lời ngắn gọn trước. Theo Scrum Guide bản 2020, Scrum Master chịu trách nhiệm (accountable) về hai điều: thiết lập Scrum đúng như Scrum Guide định nghĩa, và hiệu quả làm việc của cả đội Scrum (Scrum Team). Trên thực tế, điều đó có nghĩa là hỗ trợ các Nhà phát triển (Developers), Product Owner và cả tổ chức: huấn luyện (coaching) để đội tự quản lý được công việc của mình, tác động để những vướng mắc cản trở tiến độ được gỡ bỏ, và đảm bảo các sự kiện Scrum (Scrum events) đều diễn ra, có ích và không vượt quá khung thời gian (timebox) đã định. Còn chuyện giao việc cho từng người hay hối thúc đội ra kết quả thì Scrum Guide không hề yêu cầu Scrum Master làm. Bài viết này chủ yếu nói về khác biệt đó.</p>
<p>Những buổi họp nhìn lại (retrospective) tệ nhất mà tôi từng ngồi đều giống nhau ở một điểm: đội không đạt mục tiêu sprint (sprint goal), thế là cả tiếng đồng hồ biến thành một buổi truy xét xem vì sao lại trượt. Còn những buổi tốt nhất thì gần như chẳng nhắc gì đến mục tiêu. Chúng tôi nói về cách mình đã làm việc, cái gì đã cản trở, và lần sau sẽ thử làm khác đi ra sao. Khác biệt đó chính là cái mà người ta gọi là tư duy không phụ thuộc vào kết quả (outcome-independent mindset). Sau một thời gian tự mình điều phối sprint, tôi nghĩ đây là thái độ hữu ích nhất mà một Scrum Master có thể có.</p>
<p>Nói cho rõ: kết quả là quan trọng. Chẳng ai trả lương cho chúng ta để có một quy trình đẹp đẽ mà không làm ra được gì. Nhưng hoàn thành sprint là việc của đội. Còn việc của Scrum Master là cải thiện cỗ máy làm ra các sprint. Đó là hai việc khác nhau, và phần lớn những trục trặc xoay quanh Scrum mà tôi từng thấy đều bắt nguồn từ chuyện nhầm lẫn giữa hai việc này.</p>

<h3 class="relative group">Scrum Master khác quản lý dự án (project manager) thế nào
    <div id="scrum-master-khác-quản-lý-dự-án-project-manager-thế-nào" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#scrum-master-kh%c3%a1c-qu%e1%ba%a3n-l%c3%bd-d%e1%bb%b1-%c3%a1n-project-manager-th%e1%ba%bf-n%c3%a0o" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Hai vai trò này hay bị nhầm lẫn, một phần vì nhiều công ty giao cả hai cho cùng một người. Khác biệt cốt lõi nằm ở đây:</p>
<table>
	<thead>
			<tr>
					<th></th>
					<th>Scrum Master</th>
					<th>Quản lý dự án</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Phụ trách</td>
					<td>Cách đội làm việc, và cách đó có hiệu quả hay không</td>
					<td>Phạm vi, tiến độ và ngân sách</td>
			</tr>
			<tr>
					<td>Có giao việc không?</td>
					<td>Không. Các Nhà phát triển tự lập kế hoạch công việc của mình</td>
					<td>Thường là có</td>
			</tr>
			<tr>
					<td>Thế nào là thành công</td>
					<td>Một đội tiến bộ dần qua từng sprint</td>
					<td>Dự án xong đúng hạn, không vượt ngân sách</td>
			</tr>
	</tbody>
</table>
<p>Bản thân Scrum không có vai trò quản lý dự án. Nhiều việc mà một người quản lý dự án thường làm được chia cho Product Owner, người quyết định làm cái gì và làm theo thứ tự nào, và các Nhà phát triển, những người lên kế hoạch làm như thế nào.</p>

<h3 class="relative group">Điều gì thay đổi khi bạn thôi bám chặt vào kết quả
    <div id="điều-gì-thay-đổi-khi-bạn-thôi-bám-chặt-vào-kết-quả" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%c4%91i%e1%bb%81u-g%c3%ac-thay-%c4%91%e1%bb%95i-khi-b%e1%ba%a1n-th%c3%b4i-b%c3%a1m-ch%e1%ba%b7t-v%c3%a0o-k%e1%ba%bft-qu%e1%ba%a3" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Đội có không gian để thật sự làm chủ công việc. Về lý thuyết, Scrum dựa trên những đội tự tổ chức, nhưng một Scrum Master lo sốt vó cho từng kết quả thì rốt cuộc sẽ đi lái mọi quyết định, và đội sẽ sớm nhận ra quyết định thật ra không nằm trong tay họ. Còn khi bạn tập trung vào quy trình, bạn có thể để mọi người thử nghiệm, thỉnh thoảng quyết định sai, rồi rút kinh nghiệm từ đó. Đó cũng là cách duy nhất để tinh thần làm chủ thật sự hình thành.</p>
<p>Các <a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-09-01-retrospecs/" >buổi họp nhìn lại</a> trở nên thẳng thắn hơn. Khi câu hỏi đặt ra trong phòng là &ldquo;sao mình không đạt con số?&rdquo;, những câu trả lời thật sẽ lẩn đi hết. Còn khi câu hỏi là &ldquo;cái gì làm mình chậm lại, và lần tới nên thử gì?&rdquo;, mọi người sẽ chịu nói. Với những vướng mắc phát sinh giữa sprint cũng vậy: một Scrum Master bị ám ảnh bởi kết quả sẽ cuống lên vì hạn chót, còn người tập trung vào quy trình thì cứ thế bắt tay vào gỡ vướng mắc. Nếu vướng mắc là một điều mà chưa ai nắm rõ, họ sẽ đề xuất một <a href="https://jared.lynskey.co.nz/vi/posts/2023/2023-10-18-spike/" >spike</a> có giới hạn thời gian để tìm hiểu cho ra.</p>
<p>Các bên liên quan cũng bớt căng thẳng. Nếu thứ duy nhất bạn đem ra báo cáo là biểu đồ burndown, thì mỗi lần nó chững lại trông đều như thất bại. Nhưng nếu bạn kể thêm được đội đã học được gì và đang thích nghi ra sao, kỳ vọng của mọi người sẽ thực tế hơn, và đội cũng được che chắn khỏi rất nhiều áp lực mà nếu không thì sẽ đổ ập xuống giữa chừng sprint.</p>

<h3 class="relative group">Nếu bạn đã lỡ bị ám ảnh bởi một kết quả nào đó
    <div id="nếu-bạn-đã-lỡ-bị-ám-ảnh-bởi-một-kết-quả-nào-đó" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#n%e1%ba%bfu-b%e1%ba%a1n-%c4%91%c3%a3-l%e1%bb%a1-b%e1%bb%8b-%c3%a1m-%e1%ba%a3nh-b%e1%bb%9fi-m%e1%bb%99t-k%e1%ba%bft-qu%e1%ba%a3-n%c3%a0o-%c4%91%c3%b3" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Tôi biết là nói thì dễ. Khi bạn đã dồn nhiều tâm huyết để một việc diễn ra theo đúng ý mình, thì câu &ldquo;cứ tập trung vào quy trình thôi&rdquo; nghe chẳng khác gì một câu khẩu hiệu dán trên tủ lạnh.</p>
<p>Có vài điều thật sự giúp được. Thứ nhất, đừng tự trách mình vì đã quan tâm. Muốn có kết quả là chuyện bình thường, và giả vờ là mình không muốn thì chẳng ích gì. Thứ hai, chuyển mục tiêu về kết quả thành những mục tiêu về quy trình mà bạn kiểm soát được: không phải &ldquo;thắng cuộc thi&rdquo; mà là &ldquo;luyện tập 30 phút mỗi ngày&rdquo;. Bạn không kiểm soát được bản phát hành có suôn sẻ hay không, nhưng bạn kiểm soát được việc nó đã được rà soát, kiểm thử và trình diễn (demo) sớm hay chưa. Thứ ba, để ý xem điều gì đang nuôi nỗi ám ảnh đó. Nếu một ngày bạn mở lại một bảng điều khiển (dashboard) hay xem giá cổ phiếu cả chục lần, hãy đặt ra vài khung giờ cố định để xem, ngoài giờ đó thì thôi. Và hãy ăn mừng những thành công nhỏ trên đường đi, vì cái mục tiêu xa xôi kia sẽ sẵn sàng nuốt trọn sự chú ý của bạn nếu bạn để nó làm vậy. Còn nếu nỗi ám ảnh thật sự ảnh hưởng tới giấc ngủ hay sinh hoạt hằng ngày của bạn, thì nên tìm đến chuyên gia để được hỗ trợ. Chẳng có gì phải ngại cả.</p>
<p>Kết quả vẫn quan trọng. Nhưng những đội mà tôi thấy đạt kết quả đều đặn là những đội có người chăm lo cho phần &ldquo;làm thế nào&rdquo;, chứ không chỉ phần &ldquo;làm cái gì&rdquo;.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-10-16-outcome-indepedent/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
