Please enable JavaScript.
Coggle requires JavaScript to display documents.
Phát triển phần mềm linh hoạt - Coggle Diagram
Phát triển phần mềm linh hoạt
Mục tiêu: giảm tg phân phối cho các PM
Nhiều lần lặp ngắn– tính bằng tuần
QT phát triển được điều khiển bằng phản hồi
Tối thiểu tài liệu, tập trung vào việc lập trình
Tuyên ngôn Agile
Cá nhân và tương tác hơn là quy trı̀nh và công cu
Phần mềm chạy tốtt hơn là tài liệu đầy đủ
Cộng tác với KH hơn là đàm phán hợp đồng
Phản hồi với thay đổi hơn là bám sát kế hoạch
=>Dù bên phải có giá trị, nhưng đánh giá cao bên trái
Các nguyên lý cơ bản
Sự tg của KH (nên tg chặt chẽ trong suốt qtrình ptriển, ccấp và chỉ định thứ tự ưu tiên của các YC và đgiá các lần lặp)
Phân phối tăng trưởng: ptriển theo từng bước và kKH sẽ chỉ định các YC được đưa vào trong từng bước
Con người chứ không phải quy trình: Các thành viên tự giác ptriển cách thức làm việc mà không cần các qtrình bắt buộc
Chấp nhận thay đổi
Duy trì sự đơn giản: loại bỏ sự ptạp bất cứ khi nào có thể
Phát triển các sản phẩm vừa và nhỏ
Khó khăn
Duy trì mqh với KH
Cường độ làm việc cao dẫn đến các kk cho các thành viên
Sxđộ ưu tiên cho các thay đổi nếu có nhiều bên có lwan
Duy trì tính đơn giản
Extreme programming (XP)
cách tiếp cận “cực đoan”
Các phiên bản mới có thể được xây dựng vài lần mỗi ngày
Các phần tăng trưởng được phân phối đếnKH mỗi 2 tuần
Tất cả các kiểm thử phải được thực hiện ở mỗi phiên bản
Nguyên tắc
Lập kế hoạch tăng cường: YC ghi lại trên story card, story nào đặt trong bản phát hành nào xđ dựa trên tg và mức độ ưu tiên. Các nhà phát triển chia các stories thành các tác vụ (task)
Các bản phát hành nhỏ: được đưa ra thường xuyên và các chức năng được tăng cường dần
Thiết kế đơn giản
Phát triển kiểm thử trước: kiểm thử trước khi cài đặt các CN
Tái cấu trúc
Lập trình cặp: làm việc theo cặp, người này kiểm tra công việc của người kia và hỗ trợ để thực hiện công việc tốt nhất
Sở hữu tập thể: Các cặp phát triển làm mọi lĩnh vực của hệ thống để tránh tình trạng mỗi người chỉ thạo 1 lĩnh vực.
Tích hợp liên tục
Bước đi bền vững: Làm việc quá giờ nhiều ko nên được chấp nhận do thường làm giảm chất lượng code và nsuất trung hạn
Khách hàng tại chỗ: KH là 1 thành viên
Những kỹ thuật thực hành quan trọng nhất
Câu chuyện người dùng
Tái cấu trúc
Phát triển kiểm thử trước
Lập trình cặp
Câu chuyện người dùng
Được viết dưới dạng các thẻ
YC của người dùng được mô tả dưới dạng các câu chuyện người dùng hoặc kịch bản
Đội ngũ phát triển chia nhỏ các story thành các tác vụ
Các tác vụ là csở cho việc lập KH và ước lượng chi phí
KH chọn story cần được thực hiện trong bản phát hành kế tiếp
Quản lý dự án linh hoạt: Sao cho PM được bàn giao đúng hạn, trong ngân sách dự kiến
Scrum
Tập trung vào quản lý các
vòng lặp phát triển hơn là các kỹ thuật thực hành linh hoạt
3 giai đoạn
Giai đoạn khởi tạo
Các chu kỳ nước rút (sprint): mỗi sprint phát triển 1
bước tăng trưởng
Kết thúc dự án
Các thuật ngữ
Đội phát triển: không quá 7 người, có nhiệm vụ PTPM và các TL quan trọng của dự án
Potentially shippable product increment
Product backlog (sản phẩm tồn động): Là 1 ds do Product Owner tạo ra và xếp thứ tự.
Product Owner (chủ dự án):người chịu trách nhiệm quản lý Product backlog, là người có trách nhiệm đại diện cho lợi ích của tất cả mọi người
Sprint (nước rút) Một vòng lặp phát triển, thường dài từ 2-4 tuần
Scrum: 1buổi họp hàng ngày của Scrum team để xem xét tiến độ và chọn công việc được ưu tiên làm trong ngày đó. Tốt nhất, đây là một cuộc gặp mặt trực tiếp, ngắn gọn bao gồm cả nhóm
Velocity (tiến độ) Ước tính bao nhiêu product backlog mà một team có thể thực hiện trong 1 sprint.
Scrum master Là người có trách nhiệm đảm bảo quy trình Scrum được triển khai đúng quy tắc và hướng dẫn nhóm sử dụng Scrum hiệu quả. Đây là người chịu trách nhiệm giao tiếp với phần còn lại của công ty và đảm bảo nhóm Scrum không bị chuyển hướng bởi sự can thiệp từ bên ngoài.
Chu trình Scrum Sprint
Điểm bắt đầu cho việc lập KH là product backlog, là
ds các cv phải làm trong dự án
Gđ lựa chọn bao gồm tất cả các thành viên làm việc với KH
Sau khi thống nhất, nhóm sẽ tự tổ chức để phát triển PM
Trong giai đoạn này, nhóm sẽ cô lập khỏi khách hàng và tổ
chức, tất cả mọi liên lạc đều thông qua Scrum Master
Cuối một sprint, các cv đã hoàn thành được duyệt lại và trình bày cho các bên lwan và chu kỳ sprint kế tiếp lại bắt đầu
Lợi ích của Scrum
Sp được chia thành các phần nhỏ, dễ qlý hơn
Các yêu cầu không ổn định sẽ không làm chậm trễ tiến độ
Toàn đội sẽ biết được mọi thứ
Khách hàng sẽ nhận đúng hạn
Sự tin tưởng giữa KH và đội ngũ phát triển