Tải bản đầy đủ (.pptx) (20 trang)

Trình bày mô hình linh động(agile) và áp dụng vào một ví dụ cụ thể

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.68 MB, 20 trang )

Trường Đại học Công Nghiệp Hà Nội

Nhập môn công nghệ phần mềm

Khoa Công Nghệ Thông Tin

Giáo viên: Hà Mạnh Đào

Trình bày mô hình linh động(agile)
Và áp dụng vào một ví dụ cụ thể


PHẦN 1: MÔ HÌNH LINH ĐỘNG(AGILE)


1. Nguyên Lý của Agile Model
Là một phương pháp phát triển phần mềm mà chu trình của nó thể hiện ở các vòng đời con liên tiếp nhau.

Kết quả trong từng vòng đời con sẽ được release với một chức năng được hoàn thành.

Mỗi bản release trong mỗi vòng đời con được test và đảm bảo về mặt chất lượng.


Hãy cùng nhìn hình vẽ minh họa dưới đây.


Step 1. Analysis and Requirements
Đây là bước tiếp nhận yêu cầu của dự án và bắt đầu phân tích xem dự án yêu cầu thực hiện phần mềm gì…

Step 2: Design.
Sau khi đọc và phân tích được rõ yêu cầu của dự án, thì step 2 là công đoạn thiết kết phần mềm.


Phần mềm này được thiết kế như thế nào, sử dụng ngôn ngữ lập trình nào, thuật toán gì, các công cụ gì và thư viện gì để xây dựng nên sản phẩm.


Step 3: Coding.
Thực hiện quá trình coding với những chức năng đã được vạch ra trong thiết kế.
Trong thực tế  coder vừa thực hiện code vừa thực hiện test những chức năng cơ bản mà thiết kế đã đưa ra.
Sau khi coding được hoàn thành, dev phải tự mình review code của mình về giải thuật, style….
Sau đó được review thêm lần nữa bởi leader, hoặc PM hoặc một coder có kinh nghiệm nhiều hơn.
Cho đến khi mã code đã đạt được sự tối ưu, thì tiến hành đưa sản phẩm lên sever chuyển sang cho tester.


Step 4: Testing.
Được thực hiện bởi các tester sau khi các coder hoàn thiện xong bước 3.
Qúa trình fixed bug được bắt đầu từ đây.
Một vòng tròn tương tác giữa dev và QA sẽ xuất hiện cho đến khi chức năng đảm bảo chạy tốt.
Khi việc test được hoàn thành cũng là lúc sản phẩm được giao cho khách hàng.
Team phát triển lại tiếp tục quay trở về công đoạn đầu tiên với một nhiệm vụ mới tiếp theo. 


2. ĐẶC TRƯNG CỦA AGILE
* Tính lặp

Các phương pháp Agile thường phân rã mục tiêu thành các phần nhỏ với quá trình lập kế hoạch đơn giản và gọn . nhẹ nhất có thể , mỗi phân đoạn ( được gọi là
Iteration hoặc Sprint ) này thường có khung thời gian ngắn ( từ 1 - 4 tuần ) . Trong mỗi phân đoạn này , nhóm phát triển thực hiện đầy đủ các công việc cần
thiết để cho ra các phần nhỏ của sản phẩm cuối cùng . Mỗi phần nhỏ này đều có khả năng chạy tốt . Theo thời gian , phân đoạn này tiếp nối phân đoạn kia cho
tới khi hoàn thiện sản phẩm cuối cùng Điều này giúp quá trình sản xuất có tính linh hoạt và thích ứng rất cao , đáp ứng tốt các yêu cầu thay đổi của khách
hàng .


* Giao tiếp trực diện ( face - to - face communication ) Giao tiếp mặt đối mặt được khuyến khích giữa nhóm sản xuất và khách hàng , cũng như

giữa các thành viên trong nhóm . Việc giảm bớt các văn bản , thay vào đó là nói chuyện trực tiếp sẽ giúp hiểu rõ yêu cầu khách hàng và thông tin
chính xác .

* Nhóm tự tổ chức ( self - organizing ) và liên chức năng ( cross - functionality ) Các nhóm này làm việc không dựa trên mô tả chức danh hay phân
cấp rõ ràng mà theo phân công công việc . Nhóm có khả năng tự đảm trách công việc và ra quyết định để tổ chức công việc đạt hiệu quả cao nhất .


* Vòng phản hồi rất ngắn ( very feedback life cycle ) Vòng đời phản hồi được rút ngắn , gần như hằng ngày để dễ dàng thích nghi và gia tăng
tính linh hoạt Trong một phiên họp ngắn , các thành viên trong nhóm báo cáo với nhau những gì họ đã làm vào ngày hôm trước về mục tiêu lặp
lại của đội mình , những gì họ dự định làm hôm nay hướng tới mục tiêu , và bất kỳ cản trở nào họ có thể thấy được . Nhờ đó , nhóm có thể kiểm
soát được tiến trình , và nâng cao năng suất lao động.

* Phát triển dựa trên giá trị ( value - based development ) Một trong các nguyên tắc cơ bản của Agile là phần mềm chay tốt chính là thước đo của
tiến độ " Đế vận hành được cơ chế làm việc dựa trên giá trị nhóm Agile thường làm việc trực tiếp và thường xuyên với khách hàng ( hay đại diện
của khách hàng ) , công tác trực tiếp với họ để biết yêu cầu nào có độ ưu tiên cao hơn , mang lại giá trị hơn sớm nhất có thể cho dự án . Nhờ đổ
các dự án Agile thường giúp khách hàng tối ưu hóa được giá trị của dự án . Một cách gần như trực tiếp , Agile gia tăng đáng kể độ hài lòng của
khách hàng


3.TÔN CHỈ VÀ QUY TẮC CỦA PHƯƠNG PHÁP AGILE
Có 4 tôn chỉ

Cá nhân và sự tương
hỗ quan trọng hơn quy
trình và công cụ

Cộng tác với khách
hàng quan trọng hơn
đàm phán hợp đồng


Sản phẩm dùng được
tốt hơn tài liệu đầy đủ

Phản hồi thay đổi hơn
là bám sát kế hoạch


Và 12 quy tắc

1

2

3

4

Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản phẩm có giá trị.

Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát triển.

Giao phần mềm chạy được cho khách hàng một cách thường xuyên.

Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự án.

Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ cần thiết, môi trường làm việc và niềm tin để

5

6


hoàn thành công việc.

Trao đổi trực tiếp mặt đối mặt là phương pháp hiệu quả nhất để truyền đạt thông tin


7

8

9

10

11

12

Phần mềm chạy được là thước đo chính của tiến độ

Phát triển bền vững và duy trì được nhịp độ phát triển liên tục

Liên tục quan tâm đến kĩ thuật và thiết kế để cải tiến sự linh hoạt

Sự đơn giản là cần thiết – nghệ thuật tối đa hóa lượng công việc chưa hoàn thành

Nhóm tự tổ chức

Thích ứng thường xuyên với sự thay đổi



3. ƯU ĐIỂM

* Agile là sự lựa chọn rất tốt cho những dự án nhỏ bởi những dự án nhỏ thường có những yêu cầu không được xác định rõ ràng và có thể thay đổi
thường xuyên.

* Với Agile khách hàng có thể được xem trước từng phần dự án trong suốt quá trình phát triển vì Agile phát triển phần mềm theo hướng tăng dần,
có thể đưa cho khách hàng xem từng phần đã thực hiện hoàn thành. Từ đó có thể bám sát dự án và luôn sẵn sàng cho bất kỳ thay đổi nào từ phía
khách hàng yêu cầu về dự án.

* Agile chia dự án thành những phần nhỏ và giao cho mỗi người, hàng ngày tất cả mọi người phải họp với nhau trong khoảng thời gian ngắn để thảo luận
về tiến độ và giải quyết những vấn đề nảy sinh nếu có nhằm đảm bảo đúng quy trình phát triển dự án.

* Tỉ lệ thành công của các dự án sử dụng Agile thường cao hơn các quy trình khác.


4. NHƯỢC ĐIỂM

* Thiếu sự nhấn mạnh về thiết kế và tài liệu cần thiết.
* Quy mô nhân lực thường giới hạn từ 7 đến 10 người, sẽ có trở ngại lớn nếu nguồn nhân lực yêu cầu vượt quá con số này ví dụ trong các cuộc họp
trao đổi.
* Số lượng yêu cầu có thể nhiều và khó quản lý nếu như nó bao gồm nhiều khía cạnh khác nhau về dự án.

* Số lượng nhân lực càng tăng, chất lượng càng khó kiểm soát hơn. Việc kiểm tra mã thường xuyên và thiết lập các chỉ tiêu đánh giá năng lực của
lập trình viên cho phép giảm thiểu nhược điểm này.


5. ĐIỀU KIỆN ÁP DỤNG MÔ HÌNH AGILE

* Khi dự án có những thay đổi cần thiết phải thực hiện.


* Chi phí cho việc thực hiện nhưng thay đổi là rất ít.

* Dự án mà các yêu cầu mới không mất quá nhiều thời gian.

* Khi việc phát triển phần mềm có sự linh động, thoải mái.


PHẦN 2: VÍ DỤ ÁP DỤNG




CẢM ƠN MỌI NGƯỜI ĐÃ LẮNG NGHE!



×