AGILE

GS John Vu01/05/2024 12:00
AGILE

Câu hỏi: Ý kiến của thầy về lập trình AGILE (mau lẹ) là gì? Tôi có một tổ muốn thực hiện nó, nhưng họ gần như là theo cách tiếp cận “viết mã & cho chạy”.

 Thầy có biết tôi có thể tìm được ở đâu trong ngành công nghiệp này ví dụ tốt về việc dùng nó thành công không, cũng như kiểu sản phẩm nào là phù hợp nhất với nó?

Trả lời: AGILE là phương pháp luận thiết kế phần lớn dành cho nhóm ứng dụng Web, những người lập trình trong JAVA nhưng đã trở thành luồng chính về sau do sự bùng nổ của Internet và Blog. Đây là ý kiến cá nhân của tôi về lập trình AGILE:

Phương pháp này là tuyệt hảo cho dự án nhỏ từ hai tới tám người làm việc cùng nhau và thường xuyên trao đổi với nhau. Khía cạnh then chốt của lập trình AGILE là từng người làm nhiều điều từ giao tiếp với khách hàng, thu nhận yêu cầu, làm kiến trúc cho tới thiết kế, viết mã, và đưa ra, điều thực sự là kĩ năng của Kĩ sư phần mềm chứ KHÔNG PHẢI là người lập trình máy tính (người chỉ tập trung chủ yếu vào lập trình). Phương pháp AGILE có thể không có tác dụng tốt trong môi trường yêu cầu dự án lớn hay nỗ lực tích hợp lớn, điển hình có sự tham gia của hàng trăm người làm việc cùng nhau.

Vì hội tụ của phương pháp AGILE là vào các dự án nhỏ và trong khuôn khổ thời gian ngắn, phương pháp này yêu cầu có những cá nhân tài năng, người sẵn lòng và có khả năng thuộc vào loại những nhà tổng quát, có thể làm việc xuyên qua miền rộng các bước của vòng đời truyền thống. AGILE yêu cầu các cá nhân đa kĩ năng, người có động cơ cá nhân, biết nghiên cứu, có tính phân tích, sáng tạo, và có các kĩ năng liên con người rất cao để hiểu vấn đề của khách hàng. Họ cũng phải là những thành viên tổ rất có kỉ luật và là những kĩ sư phần mềm có kĩ năng để đưa ra sản phẩm trong khoảng thời gian được phép. (Đây là điều Kĩ nghệ phần mềm tất cả là gì, hiểu toàn bộ qui trình phát triển và có khả năng làm việc trong tổ. Tuy nhiên, nhiều lớp học về AGILE đã không dạy điều này mà chỉ tập trung vào khía cạnh lập trình, điều tôi cho là sai lầm).

Tôi đã nghe nói về những trường hợp người quản lí ra lệnh cho mọi người dùng phương pháp AGILE trong các dự án nghiệp vụ phức tạp. Vấn để tổng quát của đổi qui mô và dịch chuyển bị bỏ lại cho người phần mềm làm theo bất kì cái gì họ thấy khớp. Đó không phải là tình huống tốt bất kể việc phương pháp luận tốt thế nào. Thiếu hiểu biết về dùng phương pháp nào áp dụng vào môi trường nào thực sự tạo cho phương pháp này thành cái tên xấu.

Cũng vậy, như với các phương pháp luận trong quá khứ, nếu phương pháp AGILE được quảng cáo đủ để bắt đầu thuyết phục các nhà quản lí rằng nó có thể làm cho các dự án được hoàn thành nhanh hơn và rẻ hơn thì nhóm doanh nghiệp tư vấn về AGILE tất yếu sẽ nhảy xổ vào hỗ trợ cho mối quan tâm đó. Điều này có lẽ là không tránh khỏi nhưng nó quả có tác động tới việc tạo ra cái búa lớn hơn – ngành công nghiệp con tư vấn về AGILE – cái sẽ đi tìm những cái đinh sinh lời về tài chính để đóng.

Tôi tin rằng AGILE là một trong những kĩ thuật tốt được tìm ra, nó được thiết kế để làm việc trong môi trường rất nhỏ, không then chốt (trang Web, trạm web) nơi mọi sự phải xảy ra rất nhanh chóng và nếu mọi thứ không làm việc thì bạn bắt đầu lại toàn bộ vì viết mã là nhanh và rẻ. Tuy nhiên, tôi nghĩ chúng ta nên rất cẩn thận về AGILE trong các dự án lớn nơi kỉ luật là quan trọng và tài liệu là then chốt (Hãy hình dung hệ thống tài chính và kế toán mà không có tài liệu). Sau khi kiểm điểm kĩ càng nhiều dự án, lớn và nhỏ trong công nghiệp, tôi không được thuyết phục rằng AGILE có miền kinh nghiệm được cần tới để làm cho việc sử dụng nó có hiệu quả trong mọi môi trường. Nói riêng tôi không nghĩ nó có thể được dùng trong các dự án lớn và trong môi trường nghiệp vụ điển hình.

English version

Question: What is your opinion of AGILE programming? I have a team that want to do it, but they are most likely doing “code & go” approach. Do you know of anywhere in industry where I might find a good example of it’s successful use, as well as what type of products is it best suited for?

Answer: AGILE is a methodology design mostly for Web applications group who program in JAVA but has become mainstream lately due to the explosion of the internet and Blog. This is my personal opinion on AGILE programming:

The method is excellent for small project of two to eight people who work together and communicate with each others often. The key aspect of AGILE programming is each person does many things from customer interfaces, obtain requirements, architect to design, code, test, and release which is really a skill of Software Engineer and NOT Computer programmers (Who only focus mostly on programming). AGILE method may not work well in environment which require large project or large integration efforts which typically involve hundred of people working together.

Since the focus of AGILE method is on small projects and short time frame, this method requires talented individuals who are willing and able to be the kinds of generalists that can work across a broad range of traditional life cycle steps. AGILE requires multi-skilled individuals who are self-motivating, investigative, analytical, creative, and possess very strong inter-personal skills in order to understand their customer’s problems. They also must be very disciplined team players and skilled software engineers in order to release a product within the time allowed. (This is what Software Engineering is all about, understand the entire development process and be able to work in team. However, many AGILE class did not teach this but focus only on the programming aspect which I think is a mistake).

I’ve already heard of cases where manager orders people to use AGILE method in large complex business projects. The overall problem of scaling and translation is left to the software people to do whatever they see fit. That’s not a good situation regardless of how good the methodology is. The lack of understanding on which method to use in which environment to apply is really give this method a bad name.

Also, as with other past methodologies, if AGILE method receive enough publicity to start convincing managers that it can get projects complete faster and cheaper then a group of AGILE consulting business will inevitably spring up to support that interest. This is perhaps unavoidable but it does have the effect of creating a large hammer -the AGILE consulting sub-industry-that will be looking for financially lucrative nails to hit.

I believe that AGILE is one of the good techniques to come along, it is designed to work in a very small, not critical environment (Web page, web site) where thing must happen very quick and if things do not work you start all over again since coding is fast and cheap. However, I think we should be very careful about AGILE in in large projects where discipline is important and documentation are critical (Imagine finance and accounting systems with no documentation). After carefully reviewing many projects, large and small in the industry, I’m not convinced that AGILE has the range of experience needed to make its use effective in all environments. In particular I don’t think it’s can be used in large projects and in typical business environments.

Hope it helps.

 


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

Vòng đời kiểm thử

Nhiều người trong các bạn đã hỏi tôi về kiểm thử và mối quan hệ của nó với vòng đời phát triển phần mềm. Về căn bản kiểm thử tuân theo vòng đời tương ứng với mọi pha của vòng đời phát triển.
2

Một dòng mã

Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).
3

Cách đo và độ đo

Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”
4

Thành công ở đại học

Thành công nghĩa là đạt tới mục đích của bạn, dù chúng là bất kì cái gì.
5

Cách đo

Tôi nhận được một email từ một sinh viên: “Tại sao chúng ta phải đo công việc của mình? Đo là khó và phí thời gian vì nó không cung cấp cho tôi giá trị. Nếu chúng ta có lỗi, chúng ta có thể sửa chúng về sau bất kể chúng có bao nhiêu. Tôi không biết tại sao chúng ta cần đo?”

Mục đích của dự án

Phần lớn các kĩ sư phần mềm đều muốn dự án của mình thành công. Một phương pháp tôi dạy cho họ là xác định mục đích ưu tiên ở ngay lúc bắt đầu dự án và liên tục kiểm điểm sự tiến triển theo mục đích này trong thời gian điều hành dự án.

Thầy giáo

Để thành công trong kinh doanh, bạn phải biết khách hàng của mình muốn gì, và cung cấp cho họ điều họ muốn, sau rốt tất cả các khách hàng sẽ trả tiền cho bạn về việc kinh doanh này. Cũng có thể nói cùng điều như vậy với việc quản lí.

Công nghiệp Ấn Độ

Các nhà lãnh đạo doanh nghiệp cảnh báo ngành công nghiệp CNTT của Ấn Độ đang đi tới sự thiếu hụt nhân công có kĩ năng cao. Họ nói Ấn Độ sẽ không thể đạt tới tỉ lệ tăng trưởng đúng với mục tiêu nếu vấn đề này không được giải quyết ngay tức khắc.

Phần mềm

Hiện nay phần mềm không còn là sản phẩm đem bán ra thị trường nữa mà là nhân tố bản chất chi phối cuộc sống của mọi người và ảnh hưởng chủ chốt cho nền kinh tế toàn cầu.

Sự phân chia công nhân công nghệ lớn lao

Với tấm bằng cử nhân về Khoa học máy tính, Rennie Sawade có thể kiếm việc làm dễ dàng trong ngành công nghệ phần mềm. Nhưng anh ta chỉ tìm được việc tạm thời, ngắn hạn kiểu như hợp đồng 5 tháng mà anh ta hiện đang làm tại một công ti ở Seattle.

Cơ hội tốt nghiệp

Một người bạn hỏi tôi về việc làm cho con mình sẽ tốt nghiệp vào tháng bẩy. Anh ấy muốn biết tôi tìm khả năng gì khi tôi thuê người vào làm việc cho công ti tôi.

Kỹ nghệ phần mềm

Kĩ nghệ phần mềm là bộ môn mà trong đó các kĩ sư tuân theo một qui trình xác định rõ để làm công việc của họ.

Người quản lý dự án

Tôi có một người bạn vừa được đề bạt làm người quản lí dự án phần mềm. Anh ấy sung sướng bởi vì sau nhiều năm làm người lập trình, cuối cùng anh ấy cũng đạt được chức vụ mà anh ấy hằng mong muốn.

Kỹ năng của nhà doanh nghiệp

Blog GS John VU - GS John Vu - 14/07/2026 11:00
Tuần trước trong lớp, một sinh viên đã hỏi tôi: “Em muốn là một nhà doanh nghiệp như Steve Jobs hay Bill Gates và bắt đầu công ti riêng của em. Em cần làm gì để biết trước khi em tốt nghiệp?” Đột nhiên, vài sinh viên cũng muốn biết cách bắt đầu công ti riêng của họ. Dường như là mọi người đều muốn là ông chủ riêng của họ thay vì làm việc cho ai đó khác.

Những cải tiến quan trọng về AI và đồng bộ dữ liệu

Kỹ năng - 14/07/2026 10:00
Theo Zalo, các tính năng Dịch AI, AI Agent, đồng bộ dữ liệu hiện đang mở thử nghiệm cho người dùng từ tháng 7 và sẽ sớm được phổ biến đến toàn bộ người dùng.

AI tranh việc, đất sống nào cho người làm nghề thiết kế?

Phong cách sống - Đoàn Thủy - Việt Anh - 14/07/2026 09:00
Mất dự án vì khách chọn AI, bị khách dùng AI nhận xét sản phẩm, đó là những gì người làm thiết kế đang đối mặt. Trước làn sóng công nghệ, người làm nghề phải tìm lời giải cho giá trị của chính mình.

Không khóc giữa nhân gian - Khổ đau chỉ là ảo tưởng do chính mình tạo

Từ sách - Phim - PV - 14/07/2026 08:00
Tất cả chúng ta, không ngoại trừ bất kỳ ai trong đời này, đều đang bước vào một kỳ thi tâm linh.

Ưu tiên cho người quản lý dự án phần mềm

Blog GS John VU - GS John Vu - 13/07/2026 11:00
Phần lớn những người quản lí dự án được đào tạo để hội tụ vào lịch biểu nhưng theo kinh nghiệm của tôi, có lẽ điều quan trọng nhất là về đặt ưu tiên dự án.

10 câu trích dẫn ý nghĩa dành cho những ai đang cảm thấy lạc lối

Suy ngẫm - Trinh Quang - 13/07/2026 10:00
Khi bạn không thích những người xung quanh, cách tốt nhất để thể hiện sự không thích đó không phải là tranh cãi với họ, mà là chủ động rời bỏ họ.

Bức ảnh bữa cơm gia đình của tỷ phú Jensen Huang khiến nhiều người suy ngẫm

Truyền cảm hứng - Mi Vân - 13/07/2026 09:00
Một bữa cơm gia đình giản dị của Jensen Huang - CEO Nvidia và là một trong những tỷ phú giàu nhất thế giới - đang khiến nhiều người suy ngẫm về giá trị của gia đình giữa cuộc sống hiện đại.

Không khóc giữa nhân gian: Gặp lại chính mình trong vô lượng khổ đau

Từ sách - Phim - TĐ - 13/07/2026 08:00
"Không khóc giữa Nhân gian" không phải là một quyển sách chữa lành, mà là lời nhắn nhủ chánh niệm rằng chúng ta đừng sợ nỗi buồn. Nỗi buồn không đáng sợ, cái đáng sợ là hiểu sai và có thái độ chưa đúng với nỗi buồn mình đang trải qua.

Một dòng mã

Blog GS John VU - GS John Vu - 12/07/2026 10:00
Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).

10 câu trích dẫn giúp bạn khi lạc lối

Suy ngẫm - Trinh Quang - 12/07/2026 09:00
Một khi đã đánh mất điều gì đó, bạn sẽ không bao giờ có thể lấy lại được. Có những việc, nếu bạn không làm ngay bây giờ, bạn sẽ không bao giờ làm lại được nữa.

Không khóc giữa nhân gian - Làm sao để hết khổ?

Từ sách - Phim - FN - 12/07/2026 08:00
Đau khổ vốn không trừ một ai, và nó có trăm hình vạn trạng: một sự mất mát, cảm giác cô độc giữa đám đông, hay đơn giản là nỗi thất vọng khi không đạt được thứ mà mình mong chờ. Vậy phải làm sao để ta hết khổ? Đau khổ có thực sự đáng sợ như người ta vẫn nghĩ? Hay chúng ta vẫn có thể nhìn đau khổ dưới một góc độ bao dung hơn?

Cách đo và độ đo

Blog GS John VU - GS John Vu - 11/07/2026 11:00
Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”

Không thích ai đó, cách khéo léo để xử lý việc này là thông qua "Phương pháp Sedona"

Suy ngẫm - PV - 11/07/2026 10:00
Trong cuộc sống, chúng ta sẽ luôn gặp những người mình không thích: đó có thể là một đồng nghiệp luôn nhắm vào bạn ở nơi làm việc, một người quen giả tạo và hay buôn chuyện, hoặc một người lạ có giá trị sống trái ngược với bạn và bạn không thể hòa hợp.

Mẹ tỷ phú Elon Musk chỉ cách nuôi dạy con thành tài: điều tuyệt đối không nên làm

Phong cách sống - Hân Ly - 11/07/2026 09:00
Mẹ của người giàu nhất thế giới cho rằng việc nuôi dạy con không nằm ở sự áp đặt, mà ở điều này cực kỳ quan trọng và cần thiết.

Sắp phát hành: Hồi ký của hy vọng

Tủ sách - PV - 11/07/2026 08:00
Hồi ký của hy vọng (Saving Five: A Memoir of Hope) thu hút sự chú ý của truyền thông quốc tế không chỉ bởi câu chuyện có thật của Amanda Ngọc Nguyễn, mà còn bởi cách cô kể lại cuộc đời mình vượt ra ngoài khuôn mẫu của một hồi ký về sang chấn.
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