1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tiểu luận nhóm 2 môn công nghệ phần mềm

14 0 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài tiểu luận nhóm 2
Người hướng dẫn GV: Lê Chân Thiện Tâm
Trường học Trường Đại Học Kinh Tế - Kỹ Thuật Bình Dương
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Bài tiểu luận
Thành phố Bình Dương
Định dạng
Số trang 14
Dung lượng 4,57 MB

Nội dung

Khái niệm mô hình Agile được xuất hiện lần đầu tiên trong ngành công nghệ thông tin, với 4 tôn chỉ và 12 nguyên tắc cốt theo The Manifesto for Agile Software Development - tuyên ngôn phá

Trang 1

Trường Đại Học Kinh Tế - Kỹ Thuật Bình Dương

Khoa Kỹ Thuật - Công Nghệ

Bài tiểu luận nhóm 2

Môn: Công Nghệ Phần Mềm

GV: LÊ CHÂN THIỆN TÂM

Họ Tên :

Lớp :

MSSV :

Bình Dương , ngày … tháng … năm …

Trang 2

* Agile là gì?

Mô hình Agile là gì? Đây là thuật ngữ, có thể hiểu như một triết lý hay khung tư tưởng để các doanh nghiệp nhanh chóng thích ứng với các thay đổi trong môi trường kinh doanh biến động, nhiều thay đổi và có phần hồi phù hợp

Khái niệm mô hình Agile được xuất hiện lần đầu tiên trong ngành công nghệ thông tin, với 4 tôn chỉ và 12 nguyên tắc cốt (theo The Manifesto for Agile Software Development - tuyên ngôn phát triển phần mềm linh hoạt)

Cho đến ngày nay, triết lý Agile đã có nhiều đóng góp to lớn và làm thay đổi diện mạo của nền công nghệ thế giới Ngoài ra, mô hình này cũng tạo được sức ảnh hưởng đến các lĩnh vực khác như: nhân sự(Agile HR, Agile People),

marketing, quản trị và lãnh đạo,…

Vậy qua đó có thể hiểu Agile Software Development là phương pháp phát triển phần mềm linh hoạt, trong quy trình xây dựng sản phẩm được phép tập trung tối đa vào khách hàng, không ngừng cải tiến và thay đổi trong vòng đời của dự

án nhằm rút ngắn thời gian tiếp cận thị trường

Trang 3

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

Có thể hiểu, phương pháp Agile là phương thức phát triển phần mềm, ứng dụng vào quy trình phát triển phần mềm nhằm thúc đẩy đạt mục tiêu đưa sản phẩm đến tay khách hàng càng nhanh càng tốt

Phương pháp Agile hoạt động trên nguyên tắc phân đoạn vòng lập và tăng trưởng Có nghĩa rằng, để hoàn thành

dự án, nhà quản lý cần chia nhỏ thành nhiều giai đoạn khác nhau, sau đó hợp tác và làm việc với các bên liên quan, không ngừng đưa ra cải tiến để dự án được hoàn thành trong thời gian ngắn nhất

*Các phương pháp Agile

Mô hình Agile Scrum có nhiều phương pháp khác nhau

để áp dụng trong 1 dự án Mỗi phương pháp có những vai trò, chức năng khác nhau tùy vào mục đích và nhu cầu hiện tại của bạn

*Scrum

Scrum là một khung quy trình bao gồm vai trò, sự kiện, tài liệu và quy tắc chung được thực hiện lập di lặp lại trong một thời gian ngắn(thường là dưới 1 tháng) Một Scrum bao gồm nhiều phòng ban và tổ chức, để đẩy mạnh phát triển dự

án, sản phẩm

Trang 4

*EXTREM PROGRAMMING(XP)

Đây là phương pháp phát triển dựa trên chu kỳ nhất định, với sự đơn giản hóa và cải tiến liên tục trong quá trình thực hiện dự án Đây là những nguyên tắc, cốt lỗi của extreme programming:

+ Truyền thông: Chủ trương tạo ra một cách hiểu chung giữa các nhà phát triển về hệ thống mà họ đang xây dựng, tránh các hiểu lầm, khuyến khích thiết kế đơn giản để cộng tác giữa người dùng và lập trình viên

+ Đơn giản hóa: Khuyến khích việc bắt đầu với một giải pháp đơn giản nhất Các tính năng khác được thêm vào cần thiết + Phản hồi: khuyến khích các phản hồi đa chiều, thông qua kiểm thử chấp nhận được viết bởi khách hàng và kiểm thử viên, phản hồi từ các nhóm mỗi khi có các hạng mục mới mà khách hàng muốn đưa vào

+ Can đảm: Tinh thần được khuyến khích thông qua các hoạt động khác nhau

+ Tôn trọng: Tôn trọng người khác và tôn trọng chính mình

Trang 5

* KANBAN

Kanban thường được sử dụng trong sản xuất tinh gọn ( lean ) để kiểm soát tồn kho Phương pháp này thực hiện dựa trên nguyên tắc chỉ bổ sung khi thực sự cần thiết và quản lý một cách trực quan

* CRYSTAL METHODOLOGY

Phương pháp này nhận định các công việc như chính sách, thực hành và quy định phải được tùy chỉnh để đáp ứng tính duy nhất của dự án Giá trị cốt lõi của crystal

methodology nằm ở con người, sự tương tác, tính cộng đồng, các kỹ năng cần thiết và tính truyền thống

* FEATURE - DRIVEN DEVELOPMENT (FDD)

Phương pháp này giúp đáp ứng các dự án lớn tốt hơn, với các vai trò chính như: project manager, chief architect, development manager, chief programmer,… Phương pháp FDD có 5 hoạt động được thực hiện theo chu trình sau đây: + Phát triển mô hình dự án tổng quan

+ Xây dựng danh sách các tính năng cần thiết

+ Lập kế hoạch cho từng tính năng riêng biệt

+ Thiết kế các tính năng đã được đề xuất trước đó

Trang 6

+ Xây dựng tính năng hoàn chỉnh.

* CÁC CÔNG CỤ QUẢN LÝ DỰ ÁN THEO AGILE

Để việc quản lý dự án theo mô hình phát triển phần mềm Agile Scrum trở nên hiệu quả hơn, có thể sử dụng thêm các công cụ được giới thiệu như sao:

1 TRELLO

Trello là ứng dụng cho phép người dùng quản lý dự án thông minh theo dạng bảng chứa danh sách Có thể tạo lập kế hoạch, tổ chức quy trình làm việc và theo dõi tiến độ một cách trực quan, hiệu quả Trello sẽ giúp quản lý các dấu mốc quan trọng để xác định chính xác thời gian và những nhiệm vụ quan trọng cần thực hiện

2 JARA

Jara ra đời chính là giải pháp hoàn hảo để nhà quản lý có thể theo dõi lỗi, phát hiện các vấn đề của dự án, quản lý hiệu quả quy trình phát triển phần mềm và di động Những tính năng hữu ích của phần mềm như:

+ Quản lý theo dõi tiến độ dự án

+ Quản lý các task hoặc bất kỳ vấn đề nào xảy ra

Trang 7

+ Thiết lập quy trình làm việc tương thích với yêu cầu của từng dự án

+ Cung cấp đa dạng các loại báo cáo, thống kê với nhiều loại biểu đồ khác nhau nên có thể đáp ứng yêu cầu cho đa dạng loại hình dự án và đối tượng người dùng

3 ASANA

Một giải pháp cho những ai đang tìm kiếm ứng dụng có thể giúp chia sẻ, lập kế hoạch, tổ chức và theo dõi tiến trình công việc của các thành viên đó chính là ASANA Ứng dụng cho phép sắp xếp công việc hiệu quả, quản lý các dự án thông minh, có thể tạo task, phân công và sắp xếp công việc cho các đồng nghiệp

Với ứng dụng này, không cần phải dùng mail để sử dụng

mà mỗi nhóm có thể tự tạo nơi làm việc riêng Trong mỗi không gian làm việc đó sẽ còn thể ghi chú, nhận xét, đính kèm tệp và thẻ

* LỢI ÍCH KHI ÁP DỤNG AGILE

Mô hình quản trị dự án theo phương pháp Agile Scrum mang lại lợi ích cho nhiều bên, bao gồm:

+ Khách hàng: Các yêu cầu phát triển được nhà cung cấp phản hồi nhanh hơn Ngoài ra, các tính có giá trị sử dụng cao dược phát triển và phân phối trong chu kỳ ngắn

+ Nhà cung cấp: Hạn chế lãng phí ngân sách và tập trung vào các tính năng có giá trị sử dụng cao Nhờ đó, sự hài lòng của khách hàng được cải thiện, góp phần giữ chân khách hàng

cũ và tìm kiếm khách hàng mới

+ Nhóm phát triển: Mang lại giá trị phát triển công việc

và sự thỏa mãn cao hơn cho các thành viên Phương pháp này giúp giảm bớt các công việc phí năng suất để tối đa hóa giá trị cho khách hàng

+ Người quản lý sản phẩm: Mô hình Agile giúp người quản lý sản phẩm (thường là giám đốc, sản phẩm) đảm bảo

Trang 8

công việc phát triển theo mong muốn, nhu cầu của khách hàng

+ Người quản lý dự án: Đảm nhận vai trò là một

scrummaster, giúp việc lập, theo dõi kế hoạch trở nên dễ dàng

và cụ thể Các cuộc họp scrum giúp người quản lý kịp thời nắm bắt tình hình hiện tại của dự án tốt hơn

+ PMO và giám đốc điều hành: Mô hình Agile cung cấp khả năng hiển thị và trạng thái hiện tại của dự án một cách trực quan Do đó, giám đốc và các bên liên quan có lập kế hoạch và điều chỉnh chiến lược hiệu quả, chính xác hơn

* ĐẶC ĐIỂM CỦA CÁC PHƯƠNG PHÁP AGILE

Mô hình Agile trong phát triển phần mềm mang lại nhiều giá trị trong việc vận hành, phát triển dự án, bởi 7 đặc trưng sau đây

1 TÍNH LẬP (ITERATIVE)

Phương pháp Agile chia nhỏ dự án ra thành các phân đoạn ( gọi là iteration hoặc sprint ) và thực hiện chúng lặp đi lặp lại vào các khung thời gian cố định ( thường khoảng 1 - 4 tuần ) Trong mỗi phân đoạn, nhóm phát triển thực hiện các công việc được giao như lên kế hoạch, phân tích yêu cầu của khách hàng, thiết kế, triển khai dự án và kiểm tra kết quả

2 TÍNH TIỆM TIẾN (INCREMENTAL) VÀ TIẾN HÓA (EVOLUTIONARY)

Các phần nhỏ riêng biệt là kết quả sau quá trình làm việc của nhóm phát triển, Các sản phẩm này có khả năng hoạt động độc lập, được gọi là potentially shippable product increment of functionality Theo thời gian, các phân đoạn tiếp nối nhau, lớn dần đến khi đáp ứng đầy đủ yêu cầu của khách hàng

Trang 9

3 TÍNH THÍCH ỨNG (ADAPTIVE)

Do tính chất mỗi phân đoạn chỉ kéo dài trong thời gian

ngắn và kế hoạch điều chỉnh liên tục nên đòi hỏi khả năng

thích nghi cao hơn Do đó, các quy trình Agile thường thích

ứng tốt với các thay đổi

4 NHÓM TỰ TỔ CHỨC

Cấu trúc nhóm tự tổ chức trong mô hình Agile thường là liên chức năng (cross - functionality) Điểm đặc biệt của nhóm này là tính tự lập, không phụ vào các quyết định, phần quyền

trong tổ chức Các thành viên sẽ tự quản lý, tổ chức công việc của mình và đảm bảo chủng đạt hiệu quả cao nhất

5 KIỂM SOÁT TIẾN TRÌNH THỰC TIỄN (EMPIRICAL PROCESS CONTROL)

Phương pháp Agile ra quyết định dựa trên các dữ liệu

thuận tiễn, thay vì tài liệu giả định, do đó việc triển khai dự án

thành các phân đoạn nhỏ giúp thu thập dữ liệu dễ dàng và

chính xác cao hơn

6 GIAO TIẾP TRỰC DIỆN (FACE TO FACE COMMUNICATION)

Trang 10

Đây là giá trị cốt lõi trong tiến trình quản lý dự án với Agile Giao tiếp trực diện mở ra con đường thấu cảm giữa bạn, khách hàng và nội bộ nhóm phát triển Từ đó, sản phẩm cuối cùng có thể đạt được kết quả tốt nhất, hạn chế điều

chỉnh, sửa chửa về sau

Ngoài ra, bản chất phương pháp Agile là chia nhỏ dự án thành các phân đoạn nên việc giao trực diện không gây trở

ngại lớn

7 PHÁT TRIỂN DỰA TRÊN GIÁ TRỊ (VALUE - BASED DEVELOPMENT)

Đặc điểm này được xây dựng dựa trên nguyên tắc

tương tác với khách hàng, giúp nhóm phát triển loại bỏ các công việc không mang lại giá trị trong dự án và đặt mức độ ưu tiên cho các công việc quan trọng

* 4 TÔN CHỈ CẦN TUÂN THỦ TRONG PHƯƠNG PHÁP AGILE

Nếu áp dụng mô hình Agile trong dự án thì cần phải tuân thủ 4 tôn chỉ sau đây:

+ Cá nhân và sự hỗ trợ trong một nhóm quan trọng hơn bất kỳ quy trình và công cụ hỗ trợ nào Lý do bởi con người là trọng tâm, sự tương trợ lẫn nhau giữa những người có năng lực sẽ mang lại thành công cho dự án

Trang 11

+ Sản phẩm có giá trị, đáp ứng nhu cầu khách hàng quan trọng hơn việc trang bị đầy đủ tài liệu

+ Cộng tác, hiểu được mong muốn của khách hàng quan trọng hơn các điều khoản cứng nhắc trong hợp đồng

+ Mô hình Agile khuyến khích sự thay đổi để gặt hái được nhiều thành công hơn việc chỉ bám sát những kế hoạch ban đầu

* 12 NGUYÊN TẮC QUAN TRỌNG TRONG AGILE

Mô hình Agile có 12 nguyên tắc quan trọng cần phải lưu

ý như sao:

+ Khách hàng có nhu cầu chuyển giao sản phẩm liên tục, nhanh chóng nên đây được xem là ưu tiên hàng đầu khi áp dựng mô hình Agile

+ Chấp nhận sự thay đổi mặc dù đang ở giai đoạn cuối của việc thực hiện dự án Mô hình Agile thay khác tối đa sự thay đổi để tăng lợi thế cạnh tranh

+ Ưu tiên những khung thời gian ngắn (từ vài tuần đến vài tháng) trong việc chuyển giao công việc

+ Sự tương tác giữa chuyên gia kinh doanh và nhóm phát triển dự án nên được diễn ra hằng ngày

+ Những cá nhân có động lực được làm việc trong môi trường có sự hỗ trợ tốt, giúp mang lại hiệu quả công việc cao hơn

+ Tương tác trực diện (face to face) là phương pháp hiệu quả nhất để truyền thông thông tin trong nhóm dự án

+ Chắc chắn công việc phân công được thực hiện để đảm bảo tiến độ

+ Mô hình Agile giúp thúc đẩy sự phát triển bền vững có tính ổn định liên tục vô thời hạn

+ Tính nhanh nhẹn được quyết định bởi quá trình theo dõi những kỹ thuật xuất sắc và các thiết kế tốt

+ Tính đơn giản là yếu tố quan trọng và cần thiết trong việc tối đa hóa lượng công hiện có

Trang 12

+ Kiến trúc, yêu cầu và thiết kế tốt nhất thường được tạo ra từ nhóm tự tổ chức (self - organizing teams)

+ Định kỳ sau một khoảng thời gian, nhóm sẽ đánh giá

để đưa ra những cách làm hiệu quả và điều chỉnh những hành

vi chưa phù hợp

* ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA MÔ HÌNH AGILE

Việc quản lý dự án theo mô hình Agile mang lại nhiều lợi ích cho khách hàng, nhưng cũng tồn tại những mặt hạn chế nhất định

- Ưu điểm:

+ Dễ dàng thay đổi: dự án được chia thành những phần nhỏ riêng biệt nên có thể dễ dàng thay đổi mà không ảnh hưởng đến tổng quan Việc thay đổi có thể thực hiện ở bất kỳ giai đoạn nào của dự án

+ Không cần nắm thông tin ban đầu: Mỗi khâu có thể được thực hiện mà không cần nắm quá nhiều thông tin từ những phần khác nhau của dự án Do đó, mô hình Agile sẽ phù hợp với nhiều loại dự án khác nhau, đặc biệt dự án không xác định mục tiêu cuối cùng

+ Bàn giao nhanh chóng: Việc chia nhỏ dự án cho phép việc kiểm tra dễ dàng hơn Qua đó, quá trình xác định, chỉnh sửa và bàn giao trở nên thuận tiện hơn

Trang 13

+ Chú ý đến phản hồi của khách hàng: Tạo cơ hội để khách hàng và người dùng cuối có thể đóng góp ý kiến, phản hồi giúp điều chỉnh sản phẩm cuối cùng

+ Cải tiến liên tục: Những ý kiến của nhân sự và khách hàng được ghi nhận để cải thiện chất lượng dự án

- Nhược điểm:

Bên cạnh đó, mô hình này cũng có những nhược điểm sau đây:

+ Vì dự án được chia nhỏ nên khó khăn trong việc lên kế hoạch chi tiết dự án

+ Phương pháp Agile khá phức tạp nên cần được đào tạo, hướng dẫn cụ thể để có thể thực hiện tốt

+ Mô hình này có tính biến đổi cao nên không có quá nhiều tài liệu hướng dẫn phù hợp cho thời điểm hiện tại + Bắt buộc phải có sự tương hỗ giữa các phòng ban, bên liên quan để đảm bảo thời gian hoàn thành và hiệu quả của

dự án

+ Chi phí để thực hiện theo phương pháp này thường cao hơn so với các mô hình khác

* CÁC BƯỚC TRONG PHƯƠNG PHÁP AGILE LÀ GÌ?

Một dự án áp dụng mô hình Agile sẽ được chia nhỏ ra thành các phần tăng trưởng có thể được nhận thấy qua báo cáo cuối mỗi sprint Do đó, nếu có bất kỳ vấn đề nào phát sinh bất ngờ sẽ được giải quyết nhanh chóng để hạn chế ảnh hưởng cho toàn bộ dự án

Ngoài ra, phương pháp này có tính lập lại nên nhóm phát triển có thể tiếp tục quy trình mới khi các phần cũ đang được giải quyết gồm có các bước cơ bản của quy trình Agile như sau:

+ Bước 1: Xác định tầm nhìn dự án

+ Bước 2: Xây dựng lộ trình chung để thực hiện dự án + Bước 3: Tiến hành lập kế hoạch từng giai đoạn + Bước 4: Phân tích các yêu cầu trong quá trình thực hiện

Trang 14

+ Bước 5: Nhóm phát triển triển khai dự án.

+ Bước 6: Kiểm thử các vấn đề có thể phát sinh

+ Bước 7: Bàn giao dự án cho khách hàng

* TẠI SAO PHẢI ÁP DỤNG QUẢN LÝ DỰ ÁN AGILE - SCRUM TRONG DOANH NGHIỆP?

Agile scrum là xu thế trong việc quản lí doanh nghiệp

hiện nay, đặc biệt ngành công nghệ Các doanh nghiệp lớn tại Việt Nam đã chuyển đổi sang phương pháp này và gặt hái

nhiều thành công có thể kể đến như: Viettel, FPT, VNG,…

Một số lý do nên áp dụng quản lý dự án Agile vào trong doanh nghiệp như:

+ Giúp các thành viên nhóm phát triển phối hợp, giao

tiếp hiệu quả hơn Từ đó, dễ dàng thấu hiểu khách hàng và

đưa ra những chiến lược phù hợp để thỏa mãn khách hàng

+ Mỗi thành viên có thể luyện tập, nâng cao được tính

tự chủ, giúp công việc diễn ra trơn tru hơn

+ Các hoạt động trong những nhóm chức năng được tính năng (module) hóa, hỗ trợ làm việc chất lượng và tốc độ

nhanh hơn

Ngày đăng: 07/02/2025, 10:43