Vấn đề với cách tiếp cận Agile

GS John Vu14/08/2026 11:00
Vấn đề với cách tiếp cận Agile

Một người phát triển phần mềm hỏi tôi: “Người quản lí của tôi nói rằng hoạt động chính của Agile chỉ là viết mã và kiểm thử. Bạn không cần tài liệu cho nên chúng tôi có thể hoàn thanh nhanh và đó là lí do tại sao cái tên “Agile – mau lẹ” tới. Điều đó có đúng không?”

Đáp: Nếu người quản lí của bạn coi “Agile” CHỈ là viết mã, kiểm thử và không có tài liệu thì tôi sẽ gọi nó là: “Agile muốn vậy”, “Agile giả” KHÔNG phải “Agile thực”. Mặc dầu mục đích chính của Agile là nhanh và linh hoạt nhưng nó cũng bao gồm các nguyên tắc kĩ nghệ phần mềm để đảm bảo sản phẩm đạt tới chất lượng. Chẳng hạn, kiểm điểm tình trạng dự án bằng họp hàng ngày; giảm rủi ro bằng dựng tăng dần; xác định yêu cầu bằng “câu chuyện của người dùng”. Mô tả này về yêu cầu được kể từ quan điểm của người dùng cũng là tài liệu. Bỏ những nguyên lí này sẽ tạo ra rủi ro về chi phí cao, và chuyển giao chậm.

Có nhiều hiểu lầm về cách tiếp cận Agile và “không tài liệu” là một cách hiểu sai. Nhiều người dùng cái tên “Agile” để bảo vệ cho việc “thiếu kỉ luật” của họ và “thiếu tri thức” trong điều họ làm. Nếu họ bỏ qua thiết kế và nhày vào viết mã, họ nói họ đang dùng Agile. Khi họ không có đủ thời gian, họ bỏ qua việc kiểm thử và nói vì họ dùng Agile. Có chuyện ngụ ngôn cổ về gà và cáo thảo luận về cơ hội mở tiệm ăn. Cáo gợi ý cho gà: Tớ sẽ là người nấu, vì cậu đã cam kết cho thành công của tiệm ăn, tớ đề nghị chúng ta có mục menu kiểu như “Gà rán” “Súp gà”, “Gà ca ri” v.v.”. Câu chuyện này được ngụ ý chỉ ra sự khác biệt giữa những người nói và những người cam kết làm công việc.

Ý định của Agile là xây dựng cấu phần sản phẩm theo những việc lặp nhỏ. Trong phương pháp Scrum, từng lần lặp được gọi là “Sprint” (chặng nước rút) vào quãng hai tới bốn tuần. Một dự án điển hình có thể bắt đầu với tài liệu của người chủ sản phẩm về yêu cầu dự án trong tồn dư sản phẩm Product Backlog (Scrum có yêu cầu tài liệu ở đây). Người quản lí dự án hay thầy Scrum sẽ lập kế hoạch đưa ra sản phẩm bằng việc xác định cần bao nhiêu “Sprints” để hoàn thành dự án và thời hạn cho từng Sprint (2 hay 4 tuần). Với từng Sprint, tổ sẽ làm việc với người chủ sản phẩm, thầy Scrum để xác định những thứ họ phải làm và làm tài liệu chúng trong tồn dư của Sprint (nhiều tài liệu hơn). Tổ sẽ phân tích tồn dư này, bắt đầu thiết kế, viết mã, kiểm thử và thảo luận về tiến độ, vấn đề, rào chắn, và phân bổ công việc trong cuộc họp hàng ngày của họ. Tại cuối từng Sprint, tổ đưa ra sản phẩm và tiến hành nội quan suy ngẫm về Sprint để xác định cái gì có tác dụng và không có tác dụng rồi tái tổ chức lại công việc của họ để cho họ có thể làm nó tốt hơn trong Sprint tiếp. Thầy Scrum làm tài liệu điều tổ đã học được ttrong một tài liệu để được kiểm điểm vào chặng nước rút tiếp. Về căn bản, với Agile bạn cũng làm một số tài liệu.

Agile KHÔNG ngụ ý bỏ qua cái gì mà chỉ làm mọi sự theo từng mảnh nhỏ vào từng lúc. Nó chủ trương đưa ra tăng dần sản phẩm phần mềm với từng việc đưa ra chứa vài chức năng vào mỗi lúc. Điều này là tốt hơn cách tiếp cận khác bởi vì với từng việc đưa ra, tổ sẽ lấy phản hồi từ người dùng ngay lập tức. Điều quan trọng là giải thích cách tiếp cận tăng dần trước khi dự án bắt đầu để cho người dùng biết rằng họ sẽ có thêm chức năng với từng lần đưa ra. Người dùng có thể nói cho tổ liệu chức năng đưa ra là đúng hay không, đôi khi nếu đó không phải là điều họ có trong tâm trí, họ có thể yêu cầu thay đổi. Khi tổ tiếp tục nhận được phản hồi từ người dùng, họ có thể tiếp tục xây dựng phần mềm với mọi chức năng mà người dùng cần. Đây là khác biệt với cách tiếp cận thác đổ nơi tổ chỉ đưa ra cho người dùng khi họ kết thúc đầy đủ toàn bộ phần mềm.

Một số người KHÔNG thích họp hàng ngày của Agile vì họ nghĩ họp là phí thời gian. Theo kinh nghiệm của tôi, tôi bao giờ cũng yêu cầu thành viên tổ tuân theo qui trình này bằng việc nói cho tổ: Tôi đã làm cái gì (Kiểm điểm công việc ngày hôm trước với tổ); Tôi làm nó thế nào (Kiểm về phản hồi chất lượng); Tôi sẽ làm gì (Hỏi về phân công hôm nay), Tôi cần gì (Kiểm về bất kì thông tin thêm nào). Điều này có thể xảy ra trong cuộc họp ngắn, thường không quá nửa giờ cho nên tổ có thể tiếp tục với công việc của họ. Vì tổ Agile là “tự tổ chức”, người có kĩ năng là nhân tố quan trọng nhất cho thành công của dự án. Điều quan trọng là lựa người đúng và đào tạo họ theo cách tiếp cận này bởi vì không có người lãnh đạo tổ toàn diện, người quyết định người nào sẽ làm nhiệm vụ nào hay vấn đề sẽ được giải quyết thế nào. Đấy là những vấn đề được quyết định bởi tổ như một toàn thể. Trong kiểu tổ này, từng người làm bất kì cái gì được cần tới để hoàn thành công việc. Điều đó cũng có nghĩa là mọi người phải có mọi kĩ năng được cần trong phát triển phần mềm vì có thể không có người kiểm thử hay người lập trình hay người thiết kế  nhưng các thành viên tổ có thể phải làm cả ba việc đó.

Agile là cách tiếp cận phát triển phần mềm tốt cho dự án nhỏ và dự án có yêu cầu không được xác định rõ mà phải được hoàn thành nhanh. Giống như mọi cách phát triển, các thành viên tổ phải được đào tạo đúng và hiểu cả nguyên lí cũng như phương pháp. Agile KHÔNG phải là giải pháp cho mọi thứ, bạn phải biết giới hạn của nó và cẩn thận tránh một số hiểu lầm và dùng lầm.

English version

Issues with Agile approach

A software developer asked me: “My manager said that the main activities of Agile are only coding and testing. You do not need documentation so we can finish fast and that is why the name “Agile” come from. Is it correct?”

Answer: If your manager considered “Agile” as ONLY Code, Test and No documentation then I would call it: “Agile want-to-be”, “Fake Agile” NOT “Real Agile”. Although the main goals of Agile are fast and flexible but it also includes software engineering principles to ensure product achieve quality. For example, review project status by daily meetings; reduce risks by incremental build; define requirements by “User stories”. This description of requirements told from the view of users is also documentation. Abandoning these principles will increase the risk of high costs, low quality, and late delivery.

There are many misconceptions about Agile approach and “No documentation” is one. Many people use the name “Agile” to defend their “Lack of discipline” and “Lack of knowledge” in what they do. If they skip design and jump to code, they say that they are using Agile. When they do not have enough time, they skip testing and said because they are using Agile. There is an old fables about a chicken and a fox discussing the opportunity of opening a restaurant. The fox suggested to the chicken: I will be the cook, since you are committed to the success of our restaurant, I propose we have on the menu items such as “Fried Chicken” “Chicken soup”, “Chicken curry” etc.”. The story is meant to point out the difference between those who talked and those committed to do the work.

The intent of Agile is to build product components in small iterations. In Scrum method, each iteration is called “Sprint” which is about two to four weeks. A typical project may start with the Product Owner document the project requirements in the Product Backlog (Scrum does require documentation here). The project manager or Scrum Master will plan the product release by determine how many “Sprints” are needed to complete the project and the duration of each Sprint (2 or 4 weeks). For each Sprint, the team will work with the Product Owner, Scrum Master to determine things that they must do and document them in the Sprint Backlog (More documentation). The team will analyze this Backlog, start design, code, test and discuss progress, issues, barriers, and work assignment in their Daily meeting. At the end of each Sprint, the team release the product and conduct Sprint retrospective to determine what worked and not worked then re-organize their works so they can do it better in the next Sprint. The Scrum Master documents what the team learned in a document to be reviewed at next sprint. Basically, with Agile you do some documentation too.

Agile does NOT mean skipping anything but only do thing in smaller pieces at a time. It advocates an incremental release of software product with each release contains few functions at a time. This is better than other approach because for each release, the team will get feedback from users immediately. It is important to explain the incremental approach before the project starts so users know that they will get more functions with each releases. Users can tell the team whether the released function is correct or not, sometime if that was not what they have in mind, they can request changes. As the team continue to receive feedback from users, they can continue to build the software with all functions that users need. This is different from the waterfall approach where the team only releases to users when they completely finish the entire software.

Some people do NOT like the Agile daily meeting because they think meeting is a waste of time. In my experience, I always ask team member to follow the process by telling the team: What did I do (Review their previous day work with the team); How did I do it (Check for quality feedbacks); What will I do (Ask for today assignment), What do I need (Check for any additional information). This can happen in a short meeting, usually no more than half an hour so team can continue with their work. Since Agile team is “Self organizing”, skilled people are the most important factor for the success of the project. It is important to select the right person and train them in the approach because there is no overall team leader who decides which person will do which task or how a problem will be solved. Those are issues that are decided by the team as a whole. In this type of team, each person does whatever it needed to complete the work. That also means people must have all the skills needed in developing software since there may not be tester or programmer or designer but team members may have to do all three.

Agile is a good software development approach for small project and project that requirements are not well defined but must be completed fast. Like every development approach, team members must be trained properly and understand both the principles as well as the method. Agile is NOT a solution for everything, you must know its limitation and be careful to avoid some misconceptions and misuses.

 


Gửi bình luận
(0) Bình luận
1

Lớp học ở Bồ Đào Nha

Tuần trước, tôi đã ở Bồ đào nha để nghiên cứu về xu hướng phần mềm toàn cầu.
2

Công nhân có kỹ năng cho công việc dự án

Mục tiêu then chốt của mọi dự án phần mềm là đáp ứng nhu cầu của khách hàng. Điều khách hàng muốn là tổ dự án chuyển giao sản phẩm tương ứng theo lịch biểu, trong chi phí, và có chất lượng cao. Tuy nhiên, điều quan trọng nhất với nhiều người quản lí dự án là lịch biểu dự án.
3

Phát triển phần mềm Agile

Agile là cách tiếp cận phát triển phần mềm trong đó tổ xây dựng phần mềm trong vài lần lặp ngắn, thay vì mọi thứ đi từ bắt đầu tới kết thúc. Agile cung cấp ích lợi như linh hoạt, dễ thay đổi, chất lượng tốt, ít rủi ro và thoả mãn khách hàng tốt hơn nhưng có “tiền điều kiện” mà tổ chức phải có để đạt tới những ích lợi này.
4

Người quản lý dự án kém nhất

Tuần trước, một sinh viên hỏi tôi: “Thầy đã dạy chúng em cách thành công trong quản lí dự án phần mềm nhưng không nhắc gì tới những điều làm cho dự án thất bại? Những điều gì chúng em phải tránh? Những điều gì người quản lí dự án không bao giờ nên làm? Làm sao chúng em biết người quản lí dự án giỏi từ người quản lí dự án “kém nhất”?”
5

Quản lí hệ thông tin

Một sinh viên gửi cho tôi một email hỏi: “Thầy có thể viết thêm về Quản lí hệ thông tin (ISM) được không. Em nghe nói rằng CMU đã cung cấp chương trình này cho SEGVN nữa, điều đó có đúng không?”

Lời khuyên về giáo dục

Theo một nghiên cứu toàn cầu mới, năm nay các công ti sẽ thuê nhiều sinh viên tốt nghiệp đại học hơn năm ngoái nhưng chỉ với những bằng cấp nào đó. Khoa học máy tính, kĩ nghệ phần mềm, y học và chăm sóc sức khoẻ là NÓNG.

Chương trình bằng cấp chuyên sâu

Có vài lí do mà sinh viên muốn tiếp tục theo đuổi các bằng cấp chuyên sâu như Thạc sĩ hay Tiến sĩ. Nhiều người muốn chuyên sâu tri thức của họ và đẩy mạnh giáo dục của họ nhưng một số người không biết làm cái gì, cho nên họ quyết định ở lại trường.

Công nhân có kỹ năng cho công việc dự án

Mục tiêu then chốt của mọi dự án phần mềm là đáp ứng nhu cầu của khách hàng. Điều khách hàng muốn là tổ dự án chuyển giao sản phẩm tương ứng theo lịch biểu, trong chi phí, và có chất lượng cao. Tuy nhiên, điều quan trọng nhất với nhiều người quản lí dự án là lịch biểu dự án.

Phát triển phần mềm Agile

Agile là cách tiếp cận phát triển phần mềm trong đó tổ xây dựng phần mềm trong vài lần lặp ngắn, thay vì mọi thứ đi từ bắt đầu tới kết thúc. Agile cung cấp ích lợi như linh hoạt, dễ thay đổi, chất lượng tốt, ít rủi ro và thoả mãn khách hàng tốt hơn nhưng có “tiền điều kiện” mà tổ chức phải có để đạt tới những ích lợi này.

Lớp học ở Bồ Đào Nha

Tuần trước, tôi đã ở Bồ đào nha để nghiên cứu về xu hướng phần mềm toàn cầu.

Người quản lý dự án kém nhất

Tuần trước, một sinh viên hỏi tôi: “Thầy đã dạy chúng em cách thành công trong quản lí dự án phần mềm nhưng không nhắc gì tới những điều làm cho dự án thất bại? Những điều gì chúng em phải tránh? Những điều gì người quản lí dự án không bao giờ nên làm? Làm sao chúng em biết người quản lí dự án giỏi từ người quản lí dự án “kém nhất”?”

Quản lí hệ thông tin

Một sinh viên gửi cho tôi một email hỏi: “Thầy có thể viết thêm về Quản lí hệ thông tin (ISM) được không. Em nghe nói rằng CMU đã cung cấp chương trình này cho SEGVN nữa, điều đó có đúng không?”

Đầu tư vào giáo dục đại học

Một số sinh viên biết họ muốn là gì khi họ vào đại học nhưng số khác không chắc về kế hoạch tương lai của họ.

Vấn đề với cách tiếp cận Agile

Blog GS John VU - GS John Vu - 14/08/2026 11:00
Một người phát triển phần mềm hỏi tôi: “Người quản lí của tôi nói rằng hoạt động chính của Agile chỉ là viết mã và kiểm thử. Bạn không cần tài liệu cho nên chúng tôi có thể hoàn thanh nhanh và đó là lí do tại sao cái tên “Agile – mau lẹ” tới. Điều đó có đúng không?”

Tâm lý học: Tài sản quý giá nhất của người phụ nữ

Suy ngẫm - Tr. Quang - 14/08/2026 10:00
Tài sản quý giá nhất của người phụ nữ không bao giờ là tuổi trẻ hay sắc đẹp, mà chính là hai khả năng tưởng chừng như trái ngược nhau này. 

Nhạc sĩ Nguyễn Văn Chung miễn tác quyền trong 7 trường hợp, người sử dụng không cần xin phép

Phong cách sống - Minh Ngọc - 14/08/2026 09:00
Nhạc sĩ cho biết sẵn sàng cho phép sử dụng và miễn tác quyền đối với nhiều hoạt động giáo dục, cộng đồng, tôn giáo hay mục đích cá nhân không tạo ra doanh thu. Thậm chí, với những trường hợp nằm trong danh sách này, mọi người không cần mất công nhắn tin xin phép anh trước khi sử dụng các ca khúc.

Chia sẻ từ trái tim - Mùa Vu Lan: Những đứa con tùy sanh

Từ sách - Phim - FN - 14/08/2026 08:00
Hồi nhỏ Pháp Hòa có một thú chơi mà nhiều người không thích: Pháp Hòa đi tìm con gián, con dế, con thằn lằn, v.v…, con nào chết, Pháp Hòa làm đám tang cho nó đàng hoàng.

Lời khuyên về giáo dục

Blog GS John VU - GS John Vu - 13/08/2026 11:00
Theo một nghiên cứu toàn cầu mới, năm nay các công ti sẽ thuê nhiều sinh viên tốt nghiệp đại học hơn năm ngoái nhưng chỉ với những bằng cấp nào đó. Khoa học máy tính, kĩ nghệ phần mềm, y học và chăm sóc sức khoẻ là NÓNG.

Tôi dùng ChatGPT thay cho 12 ứng dụng trên điện thoại và cái kết bất ngờ

Kỹ năng - Quốc Vinh - 13/08/2026 10:00
ChatGPT có thể thay thế được các ứng dụng trên điện thoại như báo thức, máy tính hay thời tiết hay không?

Nam sinh từng cõng mẹ tâm thần đi học ĐH, từ chối mức lương 2 tỷ để về núi dạy học

Truyền cảm hứng - Nhật Linh - 13/08/2026 09:00
Năm 2008, hình ảnh một tân sinh viên Trung Quốc tay xách hành lý, tay dắt theo người mẹ mắc bệnh tâm thần đến nhập học từng khiến hàng triệu người xúc động.

Chia sẻ từ trái tim - Mùa Vu Lan: Con cái là phước hay là nghiệp?

Từ sách - Phim - FN - 13/08/2026 08:00
Người ta thường nói: “Cha mẹ sinh con, trời sinh tánh”. Thật ra câu đó chỉ để an ủi thôi, chứ đúng ra cha mẹ sinh con là duyên của cha mẹ, còn con được như thế nào là giữa cái nghiệp của nó và phước của cha mẹ.

Chương trình bằng cấp chuyên sâu

Blog GS John VU - GS John Vu - 12/08/2026 11:00
Có vài lí do mà sinh viên muốn tiếp tục theo đuổi các bằng cấp chuyên sâu như Thạc sĩ hay Tiến sĩ. Nhiều người muốn chuyên sâu tri thức của họ và đẩy mạnh giáo dục của họ nhưng một số người không biết làm cái gì, cho nên họ quyết định ở lại trường.

Google Maps có tính năng mới mà rất nhiều người đang cần

Kỹ năng - Khả Vân - 12/08/2026 10:00
Không chỉ dừng lại ở chức năng chỉ đường truyền thống, bản cập nhật mới nhất của Google Maps đã chính thức biến ứng dụng này thành một trợ lý hữu ích nhờ công nghệ trí tuệ nhân tạo (AI).

Trải nghiệm nghe 365 album nhạc trong 365 ngày và sự trỗi dậy khỏi thuật toán của cộng đồng yêu nhạc

Phong cách sống - Lâm Mộc - 12/08/2026 09:00
Giữa làn sóng bội thực âm nhạc trên các nền tảng trực tuyến, ngày càng nhiều người nghe quyết định từ bỏ sự tiện lợi của thuật toán để quay về với lối thưởng thức chủ động và giàu tính kết nối hơn.

Vô vi có thật sự là “không làm gì” hay chính là bí quyết để đạt trạng thái dòng chảy?

Từ sách - Phim - Quang Anh - 12/08/2026 08:00
Chưa bao giờ chuyện cân bằng và nghỉ ngơi được nói đến nhiều như bây giờ. Thế nhưng ngồi yên vài phút vẫn là việc khó với không ít người. Tay lại tìm đến điện thoại, xem vài tin nhắn rồi tiện thể kiểm tra luôn email.

Công nhân có kỹ năng cho công việc dự án

Blog GS John VU - GS John Vu - 11/08/2026 11:00
Mục tiêu then chốt của mọi dự án phần mềm là đáp ứng nhu cầu của khách hàng. Điều khách hàng muốn là tổ dự án chuyển giao sản phẩm tương ứng theo lịch biểu, trong chi phí, và có chất lượng cao. Tuy nhiên, điều quan trọng nhất với nhiều người quản lí dự án là lịch biểu dự án.

OpenAI bổ sung nhiều tính năng mới cho ChatGPT

Kỹ năng - PV - 11/08/2026 10:00
Theo OpenAI, người dùng sẽ được tăng quyền truy cập vào các cuộc hội thoại văn bản.

Quiet Silver: Khi mái tóc bạc trở thành tuyên ngôn của vẻ đẹp trung niên

Phong cách sống - Như Quỳnh - 11/08/2026 09:00
Có một thời, sợi tóc bạc đầu tiên luôn là tín hiệu khiến nhiều phụ nữ vội vàng đặt lịch nhuộm tóc. Mái tóc đen bóng được xem như cách giữ gìn vẻ trẻ trung, còn tóc bạc thường bị gắn với sự già nua và xuống sắc. Thế nhưng vài năm trở lại đây, quan niệm ấy đang thay đổi nhanh chóng.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS