tuyên ngôn agile - agile manifesto

26
Agile Manifesto Tuyên Ngôn Agile Phong Pham

Upload: agile-vietnam

Post on 20-Jan-2015

1.210 views

Category:

Documents


4 download

DESCRIPTION

Our first agile vietnam event in Vietnamese. Presented by Phong Pham.

TRANSCRIPT

Page 1: Tuyên Ngôn Agile - Agile manifesto

Agile ManifestoTuyên Ngôn AgilePhong Pham

Page 2: Tuyên Ngôn Agile - Agile manifesto

Phong Pham

● Software Developer

● Has 3 years experienced in IT industry

● A core team member of Agile Forum

Page 3: Tuyên Ngôn Agile - Agile manifesto

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

Page 4: Tuyên Ngôn Agile - Agile manifesto

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.

Page 5: Tuyên Ngôn Agile - Agile manifesto

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 negotiationCộng tác với khách hàng hơn là đàm phán hợp đồng

Responding to change over following a planPhản hồi với các thay đổi hơn là bám sát kế hoạch

Page 6: Tuyên Ngôn Agile - Agile manifesto

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

Page 7: Tuyên Ngôn Agile - Agile manifesto

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

Page 8: Tuyên Ngôn Agile - Agile manifesto

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

Page 9: Tuyên Ngôn Agile - Agile manifesto

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

● Thiếu lòng tin

Page 10: Tuyên Ngôn Agile - Agile manifesto

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

Page 11: Tuyên Ngôn Agile - Agile manifesto

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.

Page 12: Tuyên Ngôn Agile - Agile manifesto

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.

Page 13: Tuyên Ngôn Agile - Agile manifesto

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

Page 14: Tuyên Ngôn Agile - Agile manifesto

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.

Page 15: Tuyên Ngôn Agile - Agile manifesto

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

Phần mềm chạy tốt

Page 16: Tuyên Ngôn Agile - Agile manifesto

Đị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

Page 17: Tuyên Ngôn Agile - Agile manifesto

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

Page 18: Tuyên Ngôn Agile - Agile manifesto

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

Page 19: Tuyên Ngôn Agile - Agile manifesto

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

Page 20: Tuyên Ngôn Agile - Agile manifesto

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

Page 21: Tuyên Ngôn Agile - Agile manifesto

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ọ

Page 22: Tuyên Ngôn Agile - Agile manifesto

Agile là nền tảng

Page 23: Tuyên Ngôn Agile - Agile manifesto

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

Page 24: Tuyên Ngôn Agile - Agile manifesto

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

Page 25: Tuyên Ngôn Agile - Agile manifesto

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

Page 26: Tuyên Ngôn Agile - Agile manifesto

Thank You For Listening