Xin được thuyết minh ngắn gọn: một “lập trình viên Agile” (Agile Developer) là một lập trình viên (developer) làm việc trong các nhóm phát triển phần mềm có sử dụng các phương pháp phát triển phần mềm linh hoạt (Agile Software Development). Vì thế, câu hỏi “một LTV Agile cần phải làm những gì?” sẽ dẫn đến những công việc đặc thù (hoặc không đặc thù) mà một LTV Agile phải làm để hoàn thành nhiệm vụ; nếu chưa thể làm tốt vì thiếu hiểu biết hay thiếu kĩ năng thì cũng biết là mình không biết để còn học tập và nâng cao tay nghề, đặc biệt là cho những LTV chỉ quen làm việc theo các phương pháp phát triển truyền thống. Đó thực sự là một câu hỏi nghiêm túc. Thật may mắn, có vài cuốn sách trả lời câu hỏi trên, trong đó phải kể đến cuốn “Practices of an agile developer” (dịch là: Mấy “võ” của LTV Agile”), tác giả Venkat Subramaniam và Andy Hunt.
Các tác giả dành một chương để giúp bạn đọc
hiểu được Agile là gì với việc diễn giải Tuyên ngôn Linh hoạt (mà một
trong hai tác giả của cuốn sách – Andy Hunt – là đồng tác giả của văn
bản nổi tiếng này, cũng là đồng sáng lập tủ sách hành dụng – Pragmatic
Bookshelf với rất nhiều tựa sách có giá trị) và những bình luận quan
trọng liên quan đến triết lí Agile. Chương tiếp theo được dùng để thảo
luận về những vấn đề chung nhất khi làm việc trong các nhóm linh hoạt
(agile team) như làm việc theo mục tiêu, trách nhiệm đảm bảo chất lượng,
sự dũng cảm khi làm việc. Tác giả dành cả chương 3 để nói về tầm quan
trọng của việc học – một tinh thần cơ bản của Agile – và các “mánh” để
một LTV Agile liên tục nuôi dưỡng sự tiến bộ. Năm chương tiếp theo, các
tác giả mô tả khá chi tiết theo tinh thần hành dụng (pragmatic) những
công việc thiết yếu mà một LTV Agile phải làm hằng ngày: Hiểu đúng yêu
cầu của người dùng và chuyển giao đúng cái khách hàng muốn, cung cấp và
sử dụng những phản hồi thật hiệu quả khi phát triển, lập trình theo
“phong cách” Agile với những kĩ thuật đặc thù và yêu cầu khắt khe về
chất lượng công việc, gỡ rối (debug) theo “phong cách” Agile, và cộng
tác hiệu quả trong nhóm làm việc. Chương cuối cùng được dùng để vừa tóm
tắt, vừa hướng dẫn thiết lập một môi trường tiêu chuẩn để một LTV Agile
có thể làm việc hiệu quả.
Đây là một cuốn sách mỏng, theo tinh thần thực dụng, vì thế khá ngắn
gọn, dễ hiểu và dễ áp dụng. Bỏ qua một số phần dính dáng đến kĩ thuật
liên quan tới phiên bản phần mềm, đây là một cuốn sách nhập môn quan
trọng cho mỗi LTV Agile trước khi chị ta có thể đi sâu hơn vào nghiên
cứu và thực hành từng phương diện đặc thù của một “nghệ nhân phần mềm”
trong tương lai.
No comments:
Post a Comment