2. Phong Pham
● Software Developer
● Has 3 years experienced in IT industry
● A core team member of Agile Forum
3. Nội Dung
● Tuyên ngôn agile
● Con người và Sự tương tác
● Phần mềm chạy tốt
● Cộng tác với Khách hàng
● Phản hồi với Thay đổi
● Agile là nền tảng
4. Tuyên Ngôn Agile
● Được viết năm 2001
● Bởi một nhóm những người sáng tạo của:
○ Scrum
○ Extreme Programming (XP)
○ Dynamic System Development Method (DSDM)
○ Crystal
○ Feature-Driven Development
○ Một số nhà lãnh đạo tư tưởng trong ngành công nghiệp
phần mềm.
5. Tuyên Ngôn Agile
Individuals and interactions over processes and tools
Con người và sự cộng tác hơn là quy trình và công cụ
Working software over comprehensive documentation
Phần mềm chạy tốt hơn là tài liệu đầy đủ
Customer collaboration over contract negotiation
Cộng tác với khách hàng hơn là đàm phán hợp đồng
Responding to change over following a plan
Phản hồi với các thay đổi hơn là bám sát kế hoạch
6. Con Người và Sự Tương Tác (1)
● Nhân tố chính của một đội hiệu suất cao
● Hiệu quả gấp 50 lần khi các vấn đề trong
giao tiếp được giải quyết
● Các phương pháp agile dựa các chu kỳ kiểm
tra và thích nghi thường xuyên
● Độ dài của các chu kỳ: vài phút, vài giờ, mỗi
ngày, mỗi iteration
7. Con Người và Sự Tương Tác (2)
Những hành vi cần thiết trong giao tiếp:
○ Tôn trọng giá trị của mỗi thành viên
○ Có niềm tin trong mọi giao tiếp
○ Sự minh bạch của tất cả tài liệu, hành động, và
quyết định.
○ Tin tưởng mỗi thành viên sẽ hỗ trợ đồng đội
○ Cam kết với đội và mục tiêu của đội
8. Con Người và Sự Tương Tác (3)
Để phát huy hết tiềm năng của đội:
● Các nhà quản lý agile phải tạo môi trường
mang tính hỗ trợ
● Các nhà huấn luyện đội phải tạo điều kiện
hỗ trợ đội thể hiện những hành vi trên
● Các thành viên đội phải thực hiện những
hành vi này
9. Con Người và Sự Tương Tác (4)
Các trở ngại để thực hiện các hành vi trên
gồm:
● Các tiêu chuẩn văn hóa
● Các kinh nghiệm xấu trong quá khứ từ mẫu thuẫn
được tạo ra bởi sự thành thật trong giao tiếp
Dẫn đến các đội:
● Tránh né sự thật
● Tránh né sự minh bạch
10. Con Người và Sự Tương Tác (5)
Tạo điều kiện thuận lợi cho các mẫu thuẫn tích
cực.
Những lợi ích đạt được:
● Giải quyết vấn đề cải tiến lệ thuộc vào đội
● Tạo ra danh sách các trở ngại hoặc vấn đề trong tổ
chức
● Giải quyết chúng một cách có hệ thống dựa trên thứ
tự ưu tiên
11. Con Người và Sự Tương Tác (6)
● Các sáng kiến chỉ xảy ra trong sự tự do trao đổi các
ý kiến mẫu thuẫn, một hiện tượng đã được nghiên
cứu và ghi chép lại bởi Takeuchi và Nonaka
● Để cả đội hướng đến một mục tiêu chung yêu cầu
cả đội phải phơi bày và giải quyết các vấn đề mâu
thuẫn.
● Cam kết làm việc chung với nhau chỉ xảy ra khi mọi
thành viên đồng ý với các mục tiêu chung và nỗ lực
để cải thiện ở cả hai phương diện cá nhân và đội.
12. Con Người và Sự Tương Tác (7)
● Cam kết đặc biệt quan trọng
● Chỉ xảy ra khi các cá nhân và các đội cảm
thấy có trách nhiệm với việc bàn giao cho
khách hàng các giá trị cao.
13. Con Người và Sự Tương Tác (8)
Các phương pháp agile tạo thuận lợi cho việc
cam kết bằng cách:
● Khuyến khích các đội chủ động lấy công
việc từ danh sách đã được sắp xếp theo thứ
tự
● Tự quản lý công việc
● Tập trung vào việc cải thiện cách làm việc
14. Con Người và Sự Tương Tác (8)
● Coi trọng con người và sự tương tác hơn là
quy trình và công cụ
● Các phương pháp agile tăng cường sự giao
tiếp và sự tương tác qua các chu kì kiểm tra
và thích ứng
● Các chu kì chỉ đạt hiệu quả cao khi các nhà
lãnh đạo agile khuyến khích mâu thuẫn tích
cực.
15. Phần mềm chạy tốt
● Một trong những khác biệt lớn mà sự phát
triển agile đem lại
● Các phương pháp agile nhấn mạnh việc bàn
giao từng phần nhỏ của phần mềm chạy tốt
tới khách hàng qua các chu kì nhất định.
16. Định Nghĩa "Phần Mềm Chạy Tốt"
● Tất cả các đội phải thiết lập định nghĩa cho "Phần Mềm
Chạy Tốt"
● Được biết đến như "Định Nghĩa Hoàn Thành"
● Ở mức cao, hoàn thành nghĩa là các tính năng phải
vượt qua các quy trình Test
● Ở mức thấp, các tính năng phải vượt qua mức Unit
Test và System Test
● Định nghĩa tốt nhất sẽ thêm các quy trình: Integration
Test, Performance Test, Customer Acceptance Test
17. Phần mềm chạy tốt (3)
Một công ty chuẩn CMMI cấp độ 5 đã chỉ ra
rằng:
○ Việc định nghĩa acceptance tests đi kèm với tính
năng
○ Thực hiện lần lượt các tính năng theo thứ tự ưu tiên
○ Chạy thử ngay lập tức các acceptance tests trên mỗi
tính năng
○ Sửa bugs được xác định ở mức độ cao nhất
Sẽ giúp:
○ Tăng gấp đôi tốc độ hoàn thành sản phẩm
○ Giảm thiểu 40% sai sót
18. Cộng tác với khách hàng
● Trong hai thập kỉ qua, các dự án thành công
được cho là của các dự án nhỏ hơn, có mức
độ bàn giao thường xuyên hơn
● Bàn giao thường xuyên cho phép khách
hàng cung cấp thông tin phản hồi dựa trên
phần mềm chạy tốt với các chu kì đều đặn
● Việc khách hàng tham gia vào quy trình phát
triển phần mềm là yếu tố thiết yếu để thành
công
19. Phản hồi với thay đổi
● Là yếu tố cần thiết để tạo ra sản phẩm làm
hài lòng khách hàng và đem lại giá trị kinh
doanh
● 60% sản phẩm hoặc yêu cầu thay đổi
thường xuyên trong quá trình phát triển
● Dự án truyền thống hoàn thành đúng tiến
độ, đúng yêu cầu cũng không đảm bảo sự
hài lòng của khách hàng
20. Phản hồi với thay đổi (2)
● Các phương pháp agile gắn liền với các quy
trình cho phép thay đổi kế hoạch dựa trên
phản hồi từ khách hàng
● Các chu kì luôn được thiết kế để ban giao
các trị cao nhất
● Các dự án agile hoạt động tốt có xu hướng
hoàn thành sớm các giá tính năng có giá trị
cao
21. Phản hồi với thay đổi (3)
● Các phương pháp agile dựa trên nền tảng
cho phép thay đổi để thành công
● Review và Restrospective đặc biệt thiết kế
để thay đổi thứ tự ưu tiên một cách thường
xuyên dựa trên phản hồi khách hàng và giá
trị kinh doanh của sản phẩm
● Kết quả khách hàng hài lòng và đội phát
triển thích thú với công việc của họ
23. Agile là nền tảng
● Agile không phải là một phương pháp
● Nó là nền tảng cho các phương pháp agile
● Các phương pháp agile này bao gồm:
Scrum, XP, Crystal, FDD, DSDM, và Lean
● Mỗi phương pháp có cách thức khác nhau
để hiện thực các giá trị agile
24. Agile là nền tảng (2)
● Scrum được cho là khuôn mẫu của quy trình
phát triển agile
● Scrum không bao gồm kĩ thuật thực tiễn nào
● Ngược lại, XP lại tập trung vào kĩ thuật thực
tiễn nhưng lại thiếu khuôn mẫu bao quát cho
quy trình phát triển
● Scrum và XP có thể bổ sung cho nhau
25. Tham khảo
Agile Principles and Values, by Jeff Sutherland,
http://msdn.microsoft.com/en-us/library/dd997578.aspx
Tuyên ngôn phát triển phần mềm linh hoạt, http:
//hanoiscrum.net/hnscrum/learning/97