1
Agile là gì?
1.1
Thực trạng
– Do việc thu thập đầy đủ và chính xác các yêu cầu của sản
phẩm ngay từ giai đoạn đầu của dự án thường khó khăn, nên việc lập kế hoạch sẽ không
chính xác và không đầy đủ.
– Rất nhiều yếu tố ảnh hưởng đến sản phẩm luôn biến động và thay
đổi theo thời gian (ví dụ: xu hướng, ý tưởng, công nghệ, thị trường, con người,
thời gian, phản hồi)
– Tính phức tạp và luôn thay đổi là bản chất của tổ chức/của
quá trình phát triển sản phẩm
– Quản lý sản xuất dựa trên sự tiên lượng có rủi ro rất lớn
– Những hạn chế của một số phương pháp quản lý truyền thống
về: chia sẻ, cộng tác, kĩ thuật, công cụ, mở rộng, hướng phát triển
Từ thực trạng trên, một số nhà quản lý đã đưa ra phương pháp
giúp cải thiện các thực trạng trên. Họ đưa ra tuyên ngôn Agile, từ đây, nhiều
phương pháp phát triển sản phẩm đã dựa trên bản tuyên ngôn này.
1.2
Tuyên ngôn Agile
Agile [ædʒaɪl /$ ˈædʒəl]: nghĩa là linh hoạt/nhanh gọn.
Agile là một
phương pháp/nguyên lý phát triển phần mềm (sản phẩm) linh hoạt, nhằm đưa sản phẩm
đến người dùng nhanh nhất có thể.
Đây là tuyên ngôn
Agile (Agile manifesto)
Đọc thêm:
– Diễn giải về Agile (01_Dien-giai-ve-Agile.pdf)
Ba luật quan trọng
của Agile:
– Luật của nhóm
nhỏ: về nguyên tắc, công việc nên được hoàn thành trong những nhóm nhỏ liên chức
năng, tự chủ, trong những chu kì ngắn, với lượng công việc tương đối nhỏ và
liên tục thu nhận phản hồi từ khách hàng hoặc người dùng cuối.
– Luật của khách
hàng: theo đuổi việc cung cấp giá trị tới khách hàng.
– Luật của mạng
lưới: xem một tổ chức như một mạng lưới thông minh và minh bạch của những thành
viên đang hợp tác, nhằm hướng tới mục tiêu chung là làm hài lòng khách hàng.
Vậy Agile là
phương pháp (method), triết lý (philosophy), hay phương pháp luận (methodology)?
Mindset (mind +
set) là thứ định hình niềm tin, suy nghĩ và hành động của con người. Tư
duy đông cứng (fixed mindset), tư duy phát triển (growth mindset).
Agile mindset có gốc là từ growth mindset (thay growth bằng
Agile).
Mục đích của Agile mindset là học từ sai lầm và thành công.
1.3
Mười hai nguyên tắc của tuyên ngôn Agile[1]
Chúng tôi tuân theo các nguyên tắc sau đây:
(1). Ưu tiên cao nhất của chúng tôi là thỏa mãn khách hàng
thông qua việc chuyển giao sớm và liên tục các phần mềm có giá trị.
(2). Chào đón việc thay đổi các yêu cầu, thậm chí muộn,
trong quá trình phát triển. Các quy trình Agile khai thác sự thay đổi cho các lợi
thế cạnh tranh của khách hàng.
(3). Thường xuyên chuyển giao phần mềm chạy tốt tới khách
hàng, từ vài tuần đến vài tháng, ưu tiên cho các khoảng thời gian ngắn hơn.
(4). Nhà kinh doanh và nhà phát triển phần mềm phải làm việc
cùng nhau hàng ngày trong suốt dự án.
(5). Xây dựng các dự án xung quanh những cá nhân có động lực.
Cung cấp cho họ môi trường và sự hỗ trợ cần thiết, và tin tưởng họ để hoàn
thành công việc.
(6). Phương pháp hiệu quả nhất để truyền đạt thông tin tới
nhóm phát triển và trong nội bộ nhóm phát triển là trao đổi trực tiếp
(7). Phần mềm chạy tốt là thước đo chính của sự tiến triển.
(8). Các quy trình Agile chú trọng tới sự phát triển bền vững.
Các nhà đầu tư, nhà phát triển và người dùng cần duy trì một nhịp độ phát triển
đều nhau.
(9). Liên tục quan tâm đến các kĩ thuật và thiết kế tốt để
gia tăng sự linh hoạt.
(10). Sự đơn giản – nghệ thuật tối đa hóa lượng công việc
chưa xong – là căn bản
(11). Các kiến trúc tốt nhất, yêu cầu tốt nhất, và thiết kế
tốt nhất sẽ được làm ra bởi các nhóm tự tổ chức.
(12). Nhóm phát triển sẽ thường xuyên suy nghĩ về việc làm
sao để trở nên hiệu quả hơn, sau đó họ sẽ điều chỉnh và thay đổi các hành vi của
mình cho phù hợp.
--------
Cập nhật: 07/09/2019