Agile Methodology: Mô hình phát triển phần mềm Agile là gì?

1.Phương pháp Agile là gì?

Phương pháp luận AGILE là một phương pháp thực hành nhằm thúc đẩy sự lặp lại liên tục của quá trình phát triển và thử nghiệm trong suốt vòng đời phát triển phần mềm của dự án. Trong mô hình Agile, cả hoạt động phát triển và kiểm tra đều diễn ra đồng thời, không giống như mô hình Waterfall.

word image 10

2.Phát triển phần mềm Agile là gì?

Các phát triển phần mềm Agile phương pháp luận là một trong những quá trình đơn giản và hiệu quả để biến tầm nhìn cho nhu cầu kinh doanh các giải pháp phần mềm. 

Xem thêm

Các loại Testing, 50 ví dụ về các loại Testing khác nhau 2020

Tester là làm gì? 10 Vấn đề của Tester phần mềm 2020

Alpha Testing và Beta Testing : Sự khác biệt là gì?

Alpha Testing là gì? Ví dụ về Alpha Testing cho Newbie

User Acceptance Testing ( UAT) Là Gì? 11 Vấn Đề Của UAT

Agile là một thuật ngữ được sử dụng để mô tả các phương pháp tiếp cận phát triển phần mềm sử dụng kế hoạch liên tục, học hỏi, cải tiến, cộng tác nhóm, phát triển tiến hóa và phân phối sớm. Nó khuyến khích các phản ứng linh hoạt để thay đổi.

word image 11

Việc phát triển phần mềm nhanh nhẹn nhấn mạnh vào bốn giá trị cốt lõi.

Tương tác cá nhân và nhóm qua các quy trình và công cụ

Làm việc phần mềm trên tài liệu toàn diện

Cộng tác với khách hàng trong quá trình đàm phán hợp đồng

Đáp ứng sự thay đổi so với việc tuân theo một kế hoạch

3. Mô hình Agile vs Mô hình Waterfall

Mô hình Agile và Waterfall là hai phương pháp khác nhau cho quy trình phát triển phần mềm. Mặc dù chúng khác nhau trong cách tiếp cận của chúng, nhưng cả hai phương pháp đều hữu ích vào đôi khi, tùy thuộc vào yêu cầu và loại dự án.

3.1 Mô hình Agile 

Phương pháp Agile đề xuất cách tiếp cận tăng dần và lặp đi lặp lại đối với thiết kế phần mềm

Quy trình nhanh được chia thành các mô hình riêng lẻ mà các nhà thiết kế làm việc

Khách hàng có cơ hội sớm và thường xuyên để xem sản phẩm và đưa ra quyết định cũng như thay đổi đối với dự án

Mô hình Agile được coi là không có cấu trúc so với mô hình thác nước

Các dự án nhỏ có thể được thực hiện rất nhanh chóng. Đối với các dự án lớn, rất khó để ước tính thời gian phát triển.

Lỗi có thể được sửa ở giữa dự án.

Quá trình phát triển là lặp đi lặp lại và dự án được thực hiện trong khoảng thời gian lặp lại ngắn (2-4) tuần. Lập kế hoạch là rất ít.

Tài liệu ít được ưu tiên hơn phát triển phần mềm

Mỗi lần lặp đều có giai đoạn thử nghiệm riêng. Nó cho phép thực hiện kiểm thử hồi quy mỗi khi các chức năng hoặc logic mới được phát hành.

Trong thử nghiệm nhanh khi kết thúc lặp lại, các tính năng có thể thay đổi của sản phẩm sẽ được chuyển đến khách hàng. Các tính năng mới có thể sử dụng ngay sau khi xuất xưởng. Nó rất hữu ích khi bạn tiếp xúc tốt với khách hàng.

Người kiểm tra và nhà phát triển làm việc cùng nhau

Vào cuối mỗi sprint, sự chấp nhận của người dùng được thực hiện

Nó yêu cầu giao tiếp chặt chẽ với các nhà phát triển và cùng nhau phân tích các yêu cầu và lập kế hoạch

3.2 Mô hình Waterfall

Quá trình phát triển phần mềm tuần tự từ điểm bắt đầu đến điểm kết thúc.

Quá trình thiết kế không được chia thành một mô hình riêng lẻ

Khách hàng chỉ có thể xem sản phẩm khi kết thúc dự án

Mô hình thác nước an toàn hơn vì chúng được định hướng theo kế hoạch

Tất cả các loại dự án có thể được ước tính và hoàn thành.

word image 12

Chỉ khi kết thúc, toàn bộ sản phẩm được kiểm tra. Nếu lỗi yêu cầu được phát hiện hoặc bất kỳ thay đổi nào phải được thực hiện, dự án phải bắt đầu lại từ đầu

Quá trình phát triển được thực hiện theo từng giai đoạn, và giai đoạn này lớn hơn nhiều so với lặp lại. Mỗi giai đoạn kết thúc với mô tả chi tiết của giai đoạn tiếp theo.

Tài liệu là ưu tiên hàng đầu và thậm chí có thể sử dụng để đào tạo nhân viên và nâng cấp phần mềm với nhóm khác

Chỉ sau giai đoạn phát triển, giai đoạn thử nghiệm mới được thực hiện vì các bộ phận riêng biệt không hoạt động đầy đủ.

Tất cả các tính năng được phát triển sẽ được phân phối cùng một lúc sau giai đoạn triển khai dài.

Người kiểm tra làm việc riêng biệt với nhà phát triển

Sự chấp nhận của người dùng được thực hiện khi kết thúc dự án.

Nhà phát triển không tham gia vào quá trình lập kế hoạch và yêu cầu. Thông thường, độ trễ thời gian giữa các lần kiểm tra và mã hóa

4. Scrum

SCRUM là một phương pháp phát triển nhanh tập trung đặc biệt vào cách quản lý các nhiệm vụ trong môi trường phát triển dựa trên nhóm. Scrum tin tưởng vào việc trao quyền cho nhóm phát triển và ủng hộ việc làm việc trong các nhóm nhỏ (ví dụ – 7 đến 9 thành viên). Nó bao gồm ba vai trò và trách nhiệm của chúng được giải thích như sau:

word image 13

Đội sản xuất

Master chịu trách nhiệm thiết lập nhóm, họp nước rút và loại bỏ các trở ngại để tiến bộ

Chủ sở hữu sản phẩm

Chủ sở hữu sản phẩm tạo ra sản phẩm tồn đọng, ưu tiên tồn đọng và chịu trách nhiệm cung cấp chức năng ở mỗi lần lặp lại

Nhóm Scrum

Nhóm tự quản lý công việc của mình và tổ chức công việc để hoàn thành sprint hoặc cycle

5.Product Backlog (Tồn đọng sản phẩm )

Đây là một kho lưu trữ mà các yêu cầu được theo dõi với các chi tiết về không có yêu cầu (câu chuyện người dùng) cần được hoàn thành cho mỗi bản phát hành. Nó nên được duy trì và ưu tiên bởi Product Owner và nó nên được phân phối cho nhóm scrum. Nhóm cũng có thể yêu cầu bổ sung hoặc sửa đổi hoặc xóa yêu cầu mới.

6.Thực hành Scrum

word image 14

7.Quy trình của Phương pháp Scrum:

Quy trình kiểm tra scrum như sau:

Mỗi lần lặp lại của một scrum được gọi là Sprint

Sản phẩm tồn đọng là một danh sách nơi tất cả các chi tiết được nhập để có được sản phẩm cuối cùng

Trong mỗi Sprint, những câu chuyện người dùng hàng đầu về Product backlog được chọn và chuyển thành Sprint backlog

Nhóm làm việc trên sprint backlog đã xác định

Nhóm kiểm tra công việc hàng ngày

Vào cuối sprint, nhóm cung cấp chức năng sản phẩm

8. Lập trình eXtreme (XP)

Kỹ thuật Lập trình Cực đoan rất hữu ích khi khách hàng có nhu cầu hoặc yêu cầu thay đổi liên tục hoặc khi họ không chắc chắn về chức năng của hệ thống. 

Nó ủng hộ việc “phát hành” sản phẩm thường xuyên trong các chu kỳ phát triển ngắn, điều này vốn giúp cải thiện năng suất của hệ thống và cũng giới thiệu một điểm kiểm tra nơi mọi yêu cầu của khách hàng có thể dễ dàng thực hiện. XP phát triển phần mềm giữ khách hàng trong tầm ngắm.

word image 15

Yêu cầu kinh doanh được tập hợp dưới dạng các câu chuyện. Tất cả những câu chuyện đó được lưu trữ ở một nơi gọi là bãi đậu xe.

Trong loại phương pháp luận này, các bản phát hành dựa trên các chu kỳ ngắn hơn được gọi là Lặp lại với khoảng thời gian 14 ngày. Mỗi lần lặp lại bao gồm các giai đoạn như mã hóa, thử nghiệm đơn vị và thử nghiệm hệ thống, trong đó ở mỗi giai đoạn, một số chức năng nhỏ hoặc chính sẽ được xây dựng trong ứng dụng.

9. Các giai đoạn của lập trình eXtreme:

Có 6 giai đoạn có sẵn trong phương pháp Agile XP và chúng được giải thích như sau:

9.1 Lập kế hoạch

Xác định các bên liên quan và nhà tài trợ

Yêu cầu về cơ sở hạ tầng

Thông tin liên quan đến bảo mật và thu thập

Thỏa thuận mức dịch vụ và các điều kiện của nó

9.2 Phân tích

Ghi lại những câu chuyện trong bãi đậu xe

Ưu tiên các tin bài trong Bãi đậu xe

Kiểm tra các câu chuyện để ước tính

Xác định SPAN lặp lại (Thời gian)

Lập kế hoạch nguồn lực cho cả nhóm Phát triển và nhóm QA

9.3 Thiết kế

Chia nhỏ nhiệm vụ

Kiểm tra kịch bản chuẩn bị cho mỗi nhiệm vụ

Khung tự động hóa hồi quy

9.4 Chấp hành

Mã hóa

Kiểm tra đơn vị

Thực hiện các tình huống kiểm tra thủ công

Tạo Báo cáo Lỗi

Chuyển đổi các trường hợp kiểm thử hồi quy Thủ công sang Tự động hóa

Đánh giá lặp lại giữa

Kết thúc đánh giá Lặp lại

9.5 Gói

Bản phát hành nhỏ

Kiểm tra hồi quy

Bản trình diễn và đánh giá

Phát triển các câu chuyện mới dựa trên nhu cầu

Cải tiến quy trình dựa trên nhận xét đánh giá cuối lần lặp lại

9.6 Khép kín

Khởi chạy thí điểm

Đào tạo

Khởi chạy sản xuất

Đảm bảo SLA

Xem lại chiến lược SOA

Hỗ trợ sản xuất

Có hai bảng phân cảnh có sẵn để theo dõi công việc hàng ngày và chúng được liệt kê bên dưới để tham khảo.

Story Cardboard

Đây là một cách truyền thống để thu thập tất cả các câu chuyện trong một bảng dưới dạng ghi chú que để theo dõi các hoạt động XP hàng ngày. Vì hoạt động thủ công này đòi hỏi nhiều nỗ lực và thời gian hơn, nên tốt hơn là chuyển sang hình thức trực tuyến.

Bảng phân cảnh trực tuyến

Công cụ trực tuyến Storyboard có thể được sử dụng để lưu trữ các câu chuyện. Một số nhóm có thể sử dụng nó cho các mục đích khác nhau.

10. Kết

Như vậy bài viết này chúng tôi đã giải thích cho các bạn hiểu về khái niệm Phương pháp Agile là gì, Phát triển phần mềm Agile là gì, đồng thời lãm rõ Mô hình Agile vs Mô hình Waterfall..

Cảm ơn các bạn đã đọc bài viết này, cảm ơn https://www.guru99.com/agile-scrum-extreme-testing.html đã cho chúng tôi tham khảo bài viết này nhé.