agile scrum kanban - It costs 11 mins to read

Agile Y

Tóm lược Sách Agile Y - Tác giả Nguyễn Văn Hiển

Về Agile Y – GURUnH - Mời mọi người đặt mua sách tại đây. Sách tiếng Việt cung cấp cho bạn những kiến thức cơ bản về Agile. Và là nền tảng tốt để bắt đầu tìm hiểu về Agile và các kỹ thuật liên quan.

Chương 1 - Phát triển phần mềm cần linh hoạt

Phương pháp phát triển phần mềm truyền thống (Waterfall và các biến thể) phân chia quá trình phát triển phần mềm thành những giai đoạn độc lập, do đó phát sinh những vấn đề lãng phí, phản ứng kém với những thay đổi trong yêu cầu bởi khối lượng phản hồi lớn tại thời điểm trễ. Việc bắt đầu lại từ đỉnh thác luôn chứa đựng nhiều bất ổn hiến tỉ lệ dự án thành công không cao.

Về cơ bản, thế giới cần một phương pháp phát triển phần mềm mới, giải quyết bài toán theo cách khác, thay vì chỉ tối ưu cục bộ trong một giai đoạn nhất định.

Chương 2 - Agile là giải pháp

Agile là phương pháp phát triển phần mềm hiện đại, nhằm giải quyết tận gốc những vấn đề tồn tại của phương pháp phát triển phần mềm truyền thống. Agile tập trung vào cá nhân và sự tương tác hơn là quy trình và công cụ. Phần mềm chạy tốt hơn là tài liệu đầy đủ. Cộng tác với khách hàng hơn là đàm phán hợp đồng. Phản hồi với các thay đổi hơn là bám sát kế hoạch. Những vấn đề bên phải vẫn có giá trị nhưng Agile tập trung vào những điều bên trái hơn. Có hàng chục phương pháp nằm trong chiếc ô Agile đều chia sẻ tầm nhìn chung trong Tuyên ngôn Agile với 12 nguyên lý.

Scrum là phương pháp được sử dụng nhiều nhất, và thường là điểm bắt đầu của những nhóm mới thực hành Agile bởi sự đơn giản nhưng hoàn thiện và dễ hiểu.

Kanban là phương pháp có sự tăng trưởng nhanh nhất hiện nay.

eXtream Programming (XP) chứa đựng những practice được sử dụng nhiều nhất trong những nhóm thực hành Agile.

Chương 3 - Scrum

Scrum là phương pháp phát triển phần mềm theo nhóm nhằm cung cấp giá trị cho việc phát triển phần mềm. Các thành viên trong nhóm làm việc cùng nhau để đạt được một mục tiêu chung với quy trình và cách làm cụ thể bởi từng công cụ do chính những thành viên trong nhóm thiết lập với sự đồng thuận tối đa, nhằm tạo ra giá trị cao nhất.


Chương 4 - Kanban & Scrumban

Kanban là phương pháp theo tư tưởng Lean nhằm trực quan hóa workflow, giúp linh hoạt trong việc lên kế hoạch, được điều hướng bởi lead time.

Scrumban là phương pháp kết hợp những điểm mạnh của Scrum và Kanban giúp nhóm phát triển phần mềm được điều hướng bởi giá trị và sự kiện.

Scrum + Kanban = Scrumban

Scrumban là cách mở rộng Scrum cho những nhóm lớn. Vì Scrum tập trung vào nhóm nhỏ, khuyến nghị với 2-9 thành viên.


Chương 5 - Các kỹ thuật và công cụ hữu ích trong Agile


Chương 6 - Nhóm tự tổ chức liên chức năng Nhóm tự tổ chức liên chức năng (Cross-Functional and Self-Organized Team) là nhóm tập hợp những cá nhân có đầy đủ kiến thức, kỹ năng cần thiết để cam kết và thực hiện một mục tiêu đề ra. Nhóm liên chức năng hoạt động như một đơn vị, những thành viên thường xuyên trao đổi, cộng tác và hỗ trợ nhau trong những hoạt động, công việc cần thiết nhằm đạt được mục tiêu chung.

Nhóm tự tổ chức là nhóm không tập trung quyền hạn vào một thành viên cụ thể; tự định nghĩa và thực hành cách thức thực hiện, cộng tác để đạt được mục tiêu đề ra, có thể tự đưa ra quyết định mà không phụ thuộc vào hệ thống bên ngoài nhóm.

Nhóm tự tổ chức liên chức năng là nhóm được hình thành bởi những cá nhân có đầy đủ kiến thức, kỹ năng cần thiết để hướng tới mục tiêu được đặt ra, thông qua việc thường xuyên trao đổi, cộng tác, hỗ trợ lẫn nhau, nhóm tự đưa ra quy trình, cách thức cũng như quyết định để đạt được mục tiêu chung và hông chịu tác động của bất kỳ hệ thống nào ngoài nhóm.

Nhóm tự tổ chức liên chức năng luôn yêu cầu sự dũng cảm, cam kết và kỹ năng cộng tác. Nhóm tự tổ chức liên chức năng luôn trải qua những trạng thái Forming, Storming, NormingPerforming với những đặc trưng khác nhau. Vai trò của tổ chức và những người quản lý dành cho nhóm tự tổ chức liên chức năng vẫn rất lớn, giúp nhóm nhanh chóng đạt được và duy trì trạng thái Performing.


Chương 7 - Mở rộng Agile

Scrum of Scrums là một phương pháp mở rộng rất tự nhiên của Scrum. Thay vì mở rộng nhóm Scrum thành một nhóm lớn hơn. Tổ chức duy trì nhóm Scrum vật lý như một thành phần đơn vị và tạo ra sự liên kết giữa những thành phần này thông qua một nhóm Scrum logic.

SAFe hướng trọng tâm vào sự cộng tác, điều chỉnh và chuyển giao với nhiều nhóm thực hành Agile trong một tổ chức lớn, thường phù hợp với 8 nhóm thực hành Agile với khoảng 100 nhân sự. Tư tưởng chính của SAFe là phân chia thành nhiều mức (level) khác nhau, bao gồm: Team, Program, Portfolio, value Stream. Cộng tác với nhau thông qua Agile Release Train.

LeSS hoạt động gần như chính xác theo cách Scrum được định nghĩa, chỉ giải quyết bài toàn hàng chục nhân sự bằng cách cấu trúc thành những nhóm Scrum, phân tách những hoạt động như Sprint Planning, Sprint Retrospective thành hai mức khác nhau, cho nhóm Scrum và nhóm LeSS.

Đối với Nexus, tư tưởng chung là tạo thêm một thành phần nữa để kết nối và tích hợp giữa những nhóm thực hành Scrum, biểu hiện ở Artifact với Nexus Sprint Backlog, Nexus Sprint Goal hay sự kiện với Nexus Daily Scrum, Nexus Sprint Review… được thực hành bởi một nhóm cố định là Nexus Integration Team.


Chương 8 - Tổ chức Agile

Xây dựng tổ chức Agile không thực sự là điều khó khắn, nhưng thực hiện sớm nhất có thể sẽ giúp tổ chức tiết kiệm công sức và chi phí chuyển đổi. Cấu trúc tổ chức xoay quanh khách hàng và sản phẩm hơn là quy tắc quản lý và kiểm soát là điều quan trọng nhất. Khi đã lựa chọn Agile, hãy thực hiện đúng ngay từ ban đầu, đánh giá trước khi đưa ra những thay đổi. Khả năng thực hiện đúng Agile chính là lợi thế lớn nhất của những tổ chức vừa và nhỏ. Hãy cổ vũ cho việc thay đổi hành vi của tổ chức thông qua học tập, thử nghiệm sớm là việc quan trọng để duy trì tính bền vững của tổ chức.

Chuyển đổi tổ chức sang mô hình Agile là thử thách lớn hơn rất nhiều, và không có công thức thành công chung. Thực sự Agile không phải là mục tiêu của tổ chức , đó là công cụ để sản sinh giá trị cho khách hàng, cho tổ chức. Song thực sự Agile thường là công cụ cho ra giá trị bước ngoặt so với thực hành Agile. Các tổ chức thường tiếp cận việc chuyển đổi thông qua chuyển dịch từng bước; song chuyển dịch bước ngoặt cũng là một lựa chọn khả thi.


Chương 9 - Quản lý cá nhân

Thời gian là yếu tố cố định duy nhất trong thế giới ngày nay. Bất kể chúng ta có kỹ năng quản lý thời gian tốt đến đâu, vẫn là chưa đủ. Chúng ta cần nhìn nhận về giá trị công việc nhiều hơn là số lượng công việc được làm trong khoảng thời gian hữu hạn. Quản lý năng lượng là cách tốt nhất để thực hiện những công việc tập trung vào giá trị.


Chương 10 - Trợ giúp của Kanban

Kanban cá nhân cung cấp một cách quản lý (công việc) cá nhân tập trung vào luồng công việc nhằm tối đa hóa giá trị.

Trực quan hóa là nguyên lý nổi bật nhất. Tập trung là nguyên lý quan trọng nhất. Ưu tiên tạo ra hiệu quả. Luồng công việc tạo ra kiểm soát. Trạng thái công việc tạo ra động lực. Hãy luôn đặt ra giới hạn WIP và cam kết thực hiện cho tới khi bạn tìm thấy lý do chính đáng để điều chỉnh.

Một bảng Kanban cá nhân thường bao gồm 2 cột cố định là TO-DO và DONE; Xen giữa là những cột khác thể hiện luồng công việc; song không nên có quá nhiều cột. Việc chụp lại tình trạng mọi công việc trong 15 giây là quan trọng nhất.


Chương 11 - Tối ưu hiệu quả

Hãy luôn có định nghĩa hoàn thành công việc trước khi bắt đầu lên kế hoạch cho bất cứ công việc nào, điều này giúp chúng ta xác định rõ kỳ vọng, tiến độ công việc vào bất cứ thời điểm nào.

Luôn tập trung, hãy làm những công việc giá trị nhất hơn là làm nhiều việc.

Cố gắng ủy quyền với những công việc không mang lại nhiều giá trị cho bản thân, đặc biệt không giúp ích trong việc phát triển cá nhân. Hãy cố gắng ủy quyền dựa trên công nghệ và tiền bạc với những dịch vụ tốt nhất có thể. Sau đó là ủy quyền dựa trên quan hệ và quyền hạn.

Sống theo Sprint. Luôn nhìn lại và đánh giá cách làm của những công việc đã qua theo một chu kỳ đều đặn. Lựa chọn một số ít cải tiến song hãy có cam kết chặt chẽ.