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

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.
2

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?”
3

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.
4

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.

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.

Thần đồng 15 tuổi đỗ đại học, trở thành thiên tài thi ca nhưng cuộc đời khép lại ở tuổi 25

Phong cách sống - Thiên An - 15/08/2026 10:00
Cuộc đời của một trong những nhà thơ tài hoa nhưng đoản mệnh nhất Trung Quốc hiện đại vẫn còn để lại nhiều suy ngẫm cho đến tận ngày nay.

Chia sẻ từ trái tim - Mùa Vu Lan: Đứa con liệt sanh

Từ sách - Phim - FN - 15/08/2026 09:00
Bây giờ đến dạng con thứ ba. Nếu cha mẹ tu hành, làm thiện, làm lành mà đứa con lại không thiện, không lành thì đứa con đó, đức Phật gọi là liệt sanh.

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.
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