Quy trình là một vấn đề rất quan trọng trong phát triển phần mềm. Agile scrum đưa đến cho các công ty phần mềm một phương pháp phát triển phần mềm linh hoạt, hiệu quả và đáp ứng việc thay đổi thường xuyên của khách hàng. Quy trình scrum rất đơn giản dễ hiểu nhưng khó tinh thông. Vậy làm thế nào để áp dụng scrum hiệu quả, các bạn hãy đọc tài liệu này.
AGILE SCRUM Ngô Thị Hoàn Nội dung Nội dung khóa học: Giới thiệu Khung làm việc Scrum Scrum Master Scrum team Product Owner Sprint DOD Sprint planning meeting Daily scrum meeting Sơ kết sprint Cải tiến Product backlog Sprint Backlog User story Triển khai áp dụng scrum Giới thiệu Scrum gì? - Khung làm việc linh hoạt (agile framework) để quản lí dự án phức tạp - Mang lại giá trị cao thời gian ngắn - Các nhóm Scrum tự quản (self-managing), tự tổ chức (self-organizing) liên chức (cross-functional) - Hoạt động theo nguyên lí thực nghiệm (empiricism) - Gọn nhẹ linh hoạt - Dễ hiểu khó tinh thông Giới thiệu(tt) Tại sử dụng Scrum? •Hoạt động hướng giá trị (Value-Oriented) –ROI tốt •Định hướng khách hàng (Customer-Centric) –Tăng độ hài lòng •Giảm thiểu “món nợ kĩ thuật” •Chất lượng sản phẩm cao •Giảm thiểu rủi ro ứng dụng gặp vấn đề •Tăng suất lao động •Phát triển bền vững (sustainable development) •“NO OT” •Vui vẻ hơn, nhân văn Giới thiệu(tt) Giới thiệu Agile Scrum(tt) 12 nguyên tắc phía sau Tuyên ngôn Agile 1.Ưu tiên cao thỏa mãn khách hàng thông qua việc chuyển giao sớm liên tục phần mềm có giá trị 2.Chào đón việc thay đổi yêu cầu, chí muộn trình phát triển Các quy trình linh hoạt tận dụng thay đổi cho lợi cạnh tranh 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 khoảng thời gian ngắn 4.Nhà kinh doanh nhà phát triển phải làm việc hàng ngày suốt dự án 5.Xây dựng dự án xung quanh cá nhân có động lực Cung cấp cho họ môi trường hỗ trợ cần thiết, tin tưởng họ để hoàn thành công việc 6.Phương pháp hiệu để truyền đạt thông tin tới nhóm phát triển nội nhóm phát triển hội thoại trực tiếp 7.Phần mềm chạy tốt thước đo tiến độ 8.Các quy trình linh hoạt thúc đẩy phát triển bền vững Các nhà tài trợ, nhà phát triển, người dùng trì nhịp độ liên tục không giới hạn 9.Liên tục quan tâm đến kĩ thuật thiết kế tốt để gia tăng 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 – 11.Các kiến trúc tốt nhất, yêu cầu tốt nhất, thiết kế tốt làm nhóm tự tổ chức 12.Nhóm phát triển thường xuyên suy nghĩ việc để trở nên hiệu hơn, sau họ điều chỉnh thay đổi hành vi cho phù hợp Khung làm việc Scrum Khung làm việc Scrum(tt) Ba vai trò Nhóm Scrum SCRUM MASTER Trách nhiệm Scrum Master •Chịu trách nhiệm Scrum •Là người lãnh đạo •Cũng đầy tớ –Product Owner –Nhóm Phát triển –Tổ chức Sprint Backlog Công cụ lên kế hoạch theo dõi Sprint •Được bảo trì Nhóm Phát triển Sprint backlog (tt) Biểu đồ burndown Thể tiến độ hướng tới Mục tiêu Sprint Điều quan trọng việc phải làm để hoàn tất công việc, bỏ công sức khứ Bảo trì Sprint Backlog Biểu đồ Burndown Các nhà phát triển tự nguyện chọn công việc để làm –Không “gán” việc cho họ –Công việc ước tính theo (từ 1-16 giờ) Tùy ý thêm, bớt thay đổi Sprint Backlog –Người có “vai trò” chủ đạo người có “vai trò” tình nguyện Nếu công việc không rõ ràng, tạo hạng mục Sprint Backlog có khối lượng lớn thời gian chia nhỏ dần Ước tính khối lượng công việc cập nhật ngày vào Sprint Backlog Cập nhật lại Burndown ngày (ngay sau Họp Scrum Hằng ngày) User story User story yêu cầu linh hoạt (agile requirement) Đảm bảo cân bên tham gia phát triển sản phẩm: khách hàng, người dùng nhà phát triển –Thể ngôn ngữ hướng-người-dùng nhà phát triển hiểu Hướng tới người dùng nghiệp vụ, không chứa đặc tính hệ thống Là , Tôi muốn để INVEST – tiêu chuẩn cho user story tốt User story (tt) Họp xây dựng user story Người tham gia: nhà phát triển, người dùng, khách hàng, thành phần khác (được gọi “chú lợn”) Thảo luận để đưa story Mục tiêu viết nhiều story tốt –Một số “sẵn sàng triển khai” –Một số khác “epic” Không xác định độ ưu tiên buổi hội thảo Product Owner người có liên quan tham gia không bắt buộc Triển khai áp dụng SCRUM Bắt đầu với SCRUM Đưa Scrum vào tổ chức bạn Có tin tưởng tổ chức trước bắt họ phải thay đổi –Để thay đổi tổ chức, cho họ thấy Bằng chứng SiêuHiệu suất sử dụng Scrum –“Hãy làm cho Scrum trở thành loại vi rút tổ chức” Luôn tập trung vào thay đổi tiến thân thay đổ lỗi cho tổ chức –Hãy suy nghĩ “theo lối tinh gọn” (lean thinking) Một số sai lầm triển khai SCRUM Ddatwtj mục tiêu mô hình sang agile/scrum dự án: Sự chuyển đổi thời gian, sửa chuyển đổi lộ nhiều vấn đề văn hóa cần giải quyết: - Giao tiếp đội - Thiếu trách nhiệm từ thành viên - Niềm tin từ tổ chức: agile đòi hỏi đội dành nhiều thời gian để họp -> gấy niềm tin từ cấp quản lý Product backlog chưa sẵn sang: PO cần đào tạo huấn luyện, PO phải xác định đc PBI quân trọng, xếp theo Business Value Dẫn dắt team theo mô hình phát triển truyền thống: “Mệnh lệnh kiểm soát”-> chống lại nguyên lý agile Giao tiếp thông qua Scrum master: Nguyên lý agile giáo tiếp face – to – face Sự không sẵn sang trả lời thắc mắc sựt ham gia PO cho scrum team -> Collaborate quan trọng agile Không trình Daily stand-up meeting cách nghiêm túc : Đúng giờ, trọng tâm buổi họp, ko làm việc riêng daily meeting phục vụ cho toàn đội Trở ngại không đưa sớm Không họp Restrospective cuối sprint -> Thường đc xem xa xỉ, cộng them -> ko cải tiến Tài nguyên Tham khảo Ken Schwaber & Jeff Sutherland, Scrum Guide, Scrum.org Jean Tabaka, Twelve ways agile adoption failed, Better Software, Nov 2007, www.stikymind.com (http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1107/ ) Mountain Goats, Scrum Overview, (http://www.mountaingoatsoftware.com/scrum/overview ) MoutainGoats, Planning Poker Estimating in details (http://store.mountaingoatsoftware.com/pages/planning-poker-indetail) Scrum Alliance , http://www.scrumalliance.org/blog/129-pmi-developsagile-certification Bill Wake, INVEST in Good Stories, and SMART Tasks, http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ A gallery of team rooms and charts, http://xp123.com/articles/agallery-of-team-rooms-and-charts/ Q&A Thank you 70 ... Scrum Khung làm việc Scrum( tt) Ba vai trò Nhóm Scrum SCRUM MASTER Trách nhiệm Scrum Master •Chịu trách nhiệm Scrum •Là người lãnh đạo •Cũng đầy tớ –Product Owner –Nhóm Phát triển –Tổ chức SCRUM. .. story Triển khai áp dụng scrum Giới thiệu Scrum gì? - Khung làm việc linh hoạt (agile framework) để quản lí dự án phức tạp - Mang lại giá trị cao thời gian ngắn - Các nhóm Scrum tự quản (self-managing),... Nội dung khóa học: Giới thiệu Khung làm việc Scrum Scrum Master Scrum team Product Owner Sprint DOD Sprint planning meeting Daily scrum meeting Sơ kết sprint Cải tiến Product backlog