1. Trang chủ
  2. » Tất cả

Phân tích định tính việc áp dụng mô hình agile vào quy trình phát triển phần mềm

7 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

944 PHÂN TÍCH ĐỊNH TÍNH VIỆC ÁP DỤNG MÔ HÌNH AGILE VÀO QUY TRÌNH PHÁT TRIỂN PHẦN MỀM Trần Nguyễn Quốc Khang Viện Đào tạo Quốc tế, Trường Đại học Công nghệ TP Hồ Chí Minh GVHD TS Lê Thị Ngọc Thơ T M TẮ[.]

PHÂN TÍCH ĐỊNH TÍNH VIỆC ÁP DỤNG MƠ HÌNH AGILE VÀO QUY TRÌNH PHÁT TRIỂN PHẦN MỀM Trần Nguyễn Quốc Khang Viện Đào tạo Quốc tế, Trường Đại học Công nghệ TP.Hồ Chí Minh GVHD: TS Lê Thị Ngọc Thơ T M TẮT Ngày nay, khách hàng yêu cầu phần mềm đòi hỏi cập nhật thường xuyên hay sửa lỗi thời gian ngắn, mơ hình phát triển phần mềm cổ điển không phù hợp để đáp ứng nhu cầu này, Agile dần trở nên thịnh hành phổ biến hơn, Việt Nam khơng ngoại lệ, mơ hình Agile ngày phát triển công ty phần mềm ngày ý đến Agile Bài báo đề cập phương pháp Agile sử dụng nhiều nhất, ích lợi việc sử dụng Agile, lợi Agile trước Waterfall đánh giá lợi ích thực tế việc áp dụng Agile thông qua hai trường hợp Zonmob Cisco Từ khóa Agile, Scaling Agile, Quy trình phát triển phần mềm, Scrum, Scaled Agile Framework GIỚI THIỆU MƠ HÌNH AGILE 1.1 Tổng quan m hình Agile Agile thuật ngữ chung cho số phương pháp tiếp cận phát triển phần mềm theo cách lặp tăng dần, với biến thể gọi Agile framework hay Agile methodology Lúc đầu, Agile framework phổ biến bao gồm Scrum, Crystal, Phương thức phát triển hệ thống động Phát triển dựa tính (Feature-Driven Development), sau này, Scrum, Kanban phương pháp hỗn hợp khác chiếm ưu Trong đó, framework phổ biến ứng dụng nhiều Scrum [1] Hình 1: Những phương pháp Agile sử dụng[2] 944 Mặc dù loại phương pháp Agile có tính chất độc đáo riêng, tất chúng kết hợp yếu tố phát triển lặp thu thập phản hồi liên tục tạo ứng dụng Bất kỳ dự án phát triển Agile bao gồm lập kế hoạch liên tục, thử nghiệm liên tục, tích hợp liên tục hình thức phát triển liên tục khác dự án ứng dụng Agile framework làm Mỗi Agile framework có tính linh động cao Các quy tắc thông lệ giữ mức tối thiểu thiết kế để thích ứng với loại hồn cảnh Thay vào đó, trọng tâm rơi vào việc trao quyền cho nhà phát triển đủ loại để hợp tác đưa định nhóm cách nhanh chóng hiệu Mấu chốt phương pháp phát triển Agile tạo ứng dụng theo bước nhỏ, kiểm tra mức tăng trưởng riêng lẻ trước hồn thành Q trình đảm bảo chất lượng đưa vào sản phẩm, so với việc kiểm tra chất lượng sau [3] 1.2 Agile mở rộng (Scaling Agile) Khi áp dụng Agile, khó khăn lớn áp dụng cho nhiều team khác tổ chức lớn Scaling Agile tập hợp phương pháp Agile mở rộng dùng cho cơng ty tập đồn lớn, đó, Scaled Agile Framework (SAFe) phương pháp Scaling Agile sử dụng nhiều (30%).[2] Hình 2: Những phương pháp Scaling Agile sử dụng [2] 1.3 Những t nh chất Agile Tính mơ đun: Tính mơ đun cho phép Agile chia thành thành phần ưu tiên thực phần quan trọng.[4] Lặp lại: Agile tập trung vào chu trình ngắn lặp lặp lại nhằm tiến sản phẩm bước đến hoàn hảo [4] Giới hạn thời gian: Mỗi chu kỳ Agile có giới hạn từ đến tuần [4] Tiết kiệm: Với chu kỳ, đặt mục tiêu tối thiểu nhằm vừa hoàn thành sản phẩm hạn vừa giúp developer có thời gian nghỉ [4] Thích nghi: Agile giúp dễ dàng phát nguy vòng lặp nhằm giúp thay đổi để loại bỏ nguy [4] 945 Phi tập trung: Agile phân bổ việc định cho developer.[1] Hội tụ: Agile giúp loại bỏ toàn nguy đáng quan tâm để đảm bảo thành cơng sản phẩm q trình phát triển nhanh chóng [4] Hướng tới người: Agile quan trọng người cơng nghệ quy trình, tất nguyên lý Agile nhằm giúp developer có tinh thần suất cao (Ví dụ: người giỏi làm việc cỡ nhỏ với nhịp độ định làm việc lớn dài hạn [4 Hợp tác: Khách hàng làm việc gần gũi với đội ngũ phát triển, đưa phản hồi với vòng lặp giúp developer định cách tốt để làm hài lòng khách hàng [4] NHỮNG LỢI ÍCH THỰC TẾ CỦA AGILE SO VỚI WATERFALL ảng 1: So sánh tỷ lệ thành công Agile so với Waterfall dựa kích cỡ dự án[5] Kích cỡ Phương pháp Thành cơng (%) Khó khăn (%) Thất bại (%) Agile 39 52 Waterfall 11 60 29 Agile 18 59 23 Waterfall 55 42 Agile 27 62 11 Waterfall 68 25 Agile 58 38 Waterfall 44 45 11 Dự án kích cỡ Dự án cỡ lớn Dự án cỡ Vừa Dự án cỡ nhỏ Dữ liệu lấy từ 10000 dự án từ năm 2011 đến năm 2015 Từ kết cho thấy, mơ hình Waterfall khơng có khả mở rộng tốt Về tổng thể, khả thành công Agile cao gần gấp lần so với Waterfall, khả thất bại Waterfall cao gấp lần so với Agile, Agile thích hợp để mở rộng dự án, kích cỡ dự án nhỏ, khác biệt Agile Waterfall thu hẹp.[5 Tuy nhiên, thu nhỏ kích cỡ dự án, thấy rõ lợi mơ hình Agile, quan sát dự án cỡ nhỏ, số dự án thất bại, 80% team số khơng có kỹ kỹ Agile k m, đó, 70 team với sản phẩm hạn, chi phí khơng vượt ngân sách kết mỹ mãn lại có kỹ Agile tốt Vậy, kết luận với dự án Agile nhỏ team có kỹ Agile tốt, khả thành công dự án cao.[6] THỰC NGHIỆM MƠ HÌNH AGILE Để phân tích hiệu tính khả thi mơ hình Agile, viết phân tích mức độ, mức team mức tập đoàn, liệu thu thập từ trường hợp Zonmob, cơng ty lập trình game Việt Nam, đổi tên thành BraveStar Cisco, tập đoàn công nghệ đa quốc gia Mỹ 946 ZONMOB Quy trình Agile sử dụng: Scrum Sản phẩm: Dịng game thủ thành Tower Defense 4: Invasion Trước sử dụng Scrum, chất lượng sản phẩm không bảo đảm, để khắc phục vấn đề này, Zonmob chia công việc thành Sprint với time-bo tuần, Sprint hoàn thành phần Product Backlog, cập nhật dashboard, Scrumboard sử dụng theo dõi Sprint Backlog, sau Sprint, đội test lại sản phẩm cập nhật Burndown Chart Hình 3: Quy trình Scrum Zonmob[7] Hình 4: Product Backlog dashboard[7] Hình 5: Scrum board Burndown Chart[7] 947 Hình 6: Sản phẩm hồn thành[8] ảng 2: So sánh suất lao động qua Sprint[7] Sprint Average % Object Productivity Productivity Productivity Effort points (OP/Man/Week) in sprint increased 35.90 4.10 8.76 177.28 3.42 51.89 30.32 27.40 1.80 15.22 33.55 10.66 213.49 4.10 52.07 33.65 0.27 179.70 5.90 30.46 41.26 22.64 167.10 3.93 42.48 36.47 -11.62 21.52 6.90 31.23 36.86 1.07 Total Point Done 1016.39 Effort 30.15 Points/Man/Spri 33.71 Average Productivity increased in Sprint 4.61% Kết thu được: Chất lượng sản phẩm đảm bảo, tinh thần làm việc tăng lên đáng kể Thời gian hồn thành: Giảm từ dự kiến tháng xuống cịn tháng.[7] CISCO Phương pháp sử dụng: Scaled Agile Framework (SAFe) [9] Sản phẩm: Subscription Billing Platform (SBP).[9] Trước quý 4/2015, Cisco áp dụng Waterfall cho Subscription Billing Platform họ (SBP , Cisco có đội dành cho việc design, build, test desploy Team build bắt đầu cơng việc design chưa hồn thành ong, thế, việc dẫn tới chậm trễ, sản phẩm k m chất lượng làm thêm [9] 948 Hình 7: Quy trình làm việc trước Agile[10] Hướng giải quyết: Cisco sử dụng Agile Release Trains (ARTs , tức đội-của-đội, cho SBP, Cisco thành lập ARTs bao gồm capabilities, defects and fi es, projects, ARTs build test thành phần SBP, bước tích hợp vào hệ thống Vào ngày, team họp 15 viết công việc cần làm lên bảng Kanban, làm việc a em qua bảng chung share WebE , tảng khác Cisco [9] Hình 8: Quy trình làm việc sau Agile[10] Kết quả: Cải thiện chất lượng: Bản SBP hoàn thành thời hạn, với 100% tính theo kế hoạch So với phát hành dựa phương pháp thác nước, Defect Rejected Ratio (DRR) giảm 16 phần trăm Các lỗi sai sót lớn nghiêm trọng giảm 40% [9] Hình 9: Defect Rejected Ratio Agile(Q4FY15 so với Waterfall(Q3FY15)[9] Cải thiện suất: hiệu loại bỏ lỗi (Defect Removal Efficiency - DRE) lên 14% Lý cho việc cải thiện bao gồm: – Cải thiện hợp tác nhóm nhà phát triển Hoa Kỳ, Trung Quốc Ấn Độ[9] – Các thành viên nhóm xác định hội để cải thiện scrum hàng ngày [9] 949 Hình 10: Defect Removal Efficiency Agile(Q4FY15 so với Waterfall(Q3FY15) [9] KẾT LUẬN Qua kết cho thấy, việc chuyển đổi phương thức làm việc sang Agile/Scrum đóng vai trị quan trọng gia tăng suất lao động, tăng hiệu dự án đổi sáng tạo Tại Việt Nam, nhiều tên tuổi lớn FPT, Viettel, VNG hay doanh nghiệp nhỏ khởi sớm bắt kịp xu áp dụng Agile/Scrum[11] Tuy nhiên, Agile Việt Nam non trẻ dừng lại dự án cỡ nhỏ thiếu kinh nghiệm áp dụng Agile, cịn nhiều trường hợp sử dụng Agile khơng cách dẫn tới thất bại Mặc dù việc sử dụng Agile mang lại nhiều lợi ích, khơng thể áp dụng Agile vào dự án, dự án lại cần mơ hình phát triển phù hợp khác Agile khơng phải cơng cụ tồn diện sử dụng hồn cảnh nào, mà kỹ thuật cần sử dụng cách, thế, việc áp dụng Agile cần phải sử dụng tập thể có kinh nghiệm đào tạo kỹ lưỡng TÀI LIỆ TH M KHẢO [1] Sanjana Panicker and Maitreyi Kv (2016), Use of Agile Methodology for Mobile Applications [2] Stageofagile.com (2019), 13th annual State of Agile report [3] Mendix.com (2020), Agile Framework – A Quick Introduction & Overview of Agile Project Management Methodology [4] Granville G Miller (2001), The Characteristics of Agile Software Processes [5] The Standish Group International (2015), CHAOS Report 2015 [6] Jim Johnson and Hans Mulder (2015), Factors of Success 2015 [7] Hocvienagile.com, Case study: Zonmob [8] Gamestudio.vn (2016), Tower Defense 4: Invasion – Game thủ thành đỉnh xuất - GameStudio Việt [9] Cisco (2016), How Cisco IT Uses Agile Development with Distributed Teams and Complex Projects [10] Alesia Krush (2018), Success Stories That Will Make You Believe in Scaled Agile ObjectStyle.com [11] 950 Tú Trâm (2016), Thiếu nhân lực Agile trầm trọng Việt Nam - Agile Breakfast ... hồn cảnh Thay vào đó, trọng tâm rơi vào việc trao quy? ??n cho nhà phát triển đủ loại để hợp tác đưa định nhóm cách nhanh chóng hiệu Mấu chốt phương pháp phát triển Agile tạo ứng dụng theo bước... lại có kỹ Agile tốt Vậy, kết luận với dự án Agile nhỏ team có kỹ Agile tốt, khả thành cơng dự án cao.[6] THỰC NGHIỆM MƠ HÌNH AGILE Để phân tích hiệu tính khả thi mơ hình Agile, viết phân tích mức... bại Mặc dù việc sử dụng Agile mang lại nhiều lợi ích, khơng thể áp dụng Agile vào dự án, dự án lại cần mơ hình phát triển phù hợp khác Agile khơng phải cơng cụ tồn diện sử dụng hoàn cảnh nào,

Ngày đăng: 24/02/2023, 10:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w