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.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Quản lý dự án
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem