Tải bản đầy đủ (.docx) (23 trang)

đề xuất áp dụng phương thức phát triển phần mềm linh hoạt agile tại ngân hàng thương mại cổ phần quân đội mb

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 (615.08 KB, 23 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐỀ XUẤT ÁP DỤNG PHƯƠNG THỨC PHÁT TRIỂN PHẦN MỀM LINHHOẠT AGILE TẠI NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN QUÂN ĐỘI MB</b>

Đồng thời với đó chuyển đổi số cịn góp phần thay đổi tư duy nhận thức củachính chúng ta về cách thức hoạt động của một số mơ hình đang sẵn có trong xã hội.Điển hình cụ thể như trong đại dịch COVID-19 các Ngân hàng thương mại Việt Namnói riêng đã phải đối mặt với rất nhiều những thách thức mới như: Kiểm định lại chínhsách đã xây dựng về quản trị rủi ro, trong đó thì rủi ro hoạt động là một phần quantrọng, tổ chức lại quy trình hoạt động và hệ thống nhân sự từ đó tối ưu hóa chi phíhoạt động. Ngồi ra, đại dịch cịn là một cơ hội tốt để ban lãnh đạo nhìn nhận lại và dựphịng các kịch bản có thể gặp phải từ đó hình thành các phương án hoạt động đối phóvới khủng hoảng hiệu quả hơn. Nổi bật trong đó là việc thúc tiến mạnh mẽ quá trìnhchuyển đổi số của Ngân hàng. Do đó rất cần một phương thức phát triển phần mềmlinh hoạt để việc số hóa các văn bản, thủ tục, phương thức làm việc và giao dịch trongnội bộ công ty hay đối với cả khách hàng, diễn ra một cách trơn tru, khơng bị gián

<i><b>đoạn thì AGILE (Một cách gọi vắn tắt những phương thức làm việc như Scrum,</b></i>

<i>Karban, eXtremeProgamming - quản lý và phát triển sản phẩm dựa trên nhữngnguyên lý được mô tả trong Tuyên ngôn phát triển phần mềm linh hoạt với chủ trươngnhấn mạnh tính sáng tạo của cá nhân và nhóm, tạo lập và duy trì sự linh hoạt cho mỗitổ chức nhằm tăng lợi thế cạnh tranh bền vững trong nền kinh tế sáng tạo )<small>1</small> được rất</i>

nhiều Ngân hàng áp dụng vào hệ thống làm việc và quản lý mang tính số hóa, mang

<i><b>lại giá trị to lớn trong rất nhiều lĩnh vực như: Lĩnh vực quản trị và lãnh đạo (AgileManagement, Agile Leadership), Nhân sự (Agile HR, Agile People), hay Marketing(Agile Marketing),...Chính việc áp dụng này cũng đã đẩy nhanh việc hoàn thiện hệ</b></i>

<small>1 class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

thống Big Data của Ngân hàng, giúp cho Ngân hàng đẩy nhanh tốc độ ra sản phẩm,đưa vào ứng dụng cách dịch vụ Ngân hàng số, giao dịch Ngân hàng điện tử đặc biệtdịch vụ Mobile Banking, Internet Banking,... phát triển mạnh mẽ đã làm giảm giaodịch trực tiếp đáng kể đối với tệp khách hàng cá nhân của nhóm Retail Banking (ngânhàng bán lẻ)<small>2</small>. Do không chỉ giới hạn ở những lĩnh vực liên quan đến ngành Ngânhàng, Agile cịn gắn liền với cơng cuộc chuyển đổi số nên đối với các doanh nghiệpCông nghệ thông tin. Nhiều doanh nghiệp trên Thế giới đã và đang dịch chuyển mạnhmẽ sang Agile/ Scrum, từ những công ty lớn như Microsoft, Google tới những doanhnghiệp nhỏ đang trong quá trình Startup. Theo một nghiên cứu Tại Việt Nam hiệnnay, các cơng ty có tên tuổi như Viettel, FPT, VNG cũng đang tham gia mạnh mẽ vàocông cuộc chuyển dịch phương thức làm việc được nhận định rằng : “Agile có thể rút

<i>ngắn thời gian chuyển giao sản phẩm, dễ dàng thay đổi tính năng để đáp ứng nhu cầucủa thị trường. Ở Việt Nam thì cịn mới, chứ trên thế giới thì Cơng nghệ thơng tinkhơng thể không dùng Agile” bởi ông Đỗ Văn Khắc, Phó Tổng giám đốc FPT</i>

Software.

Tại Việt Nam, các ngân hàng thương mại hiện nay đang không ngừng chạyđua công nghệ để phát triển những phần mềm, dịch vụ mang tính linh hoạt và hiệu quảcao, kéo theo là sự cạnh tranh khốc liệt giữa các Ngân hàng đó để phát triển kinh

<i>doanh và thu hút khách hàng. Ngân hàng Thương mại Cổ phần Quân đội (MilitaryCommercial Joint Stock Bank), tên gọi tắt MBBank là một trong những Ngân hàng</i>

đầu tiên tiên phong ứng dụng hiệu quả và thành công phương thức Agile vào hoạtđộng nội bộ, kinh doanh của Ngân hàng, từ đó đã đạt được nhiều thành tựu, đóng gópto lớn vào cơng cuộc đổi mới, phát triển một phương thức làm việc mới tập chung ưutiên sự cộng tác hiệu quả công việc của nhóm, hướng đến tạo lập và duy trì sự linhhoạt. Mang lại một mơ hình mới cho hệ thống vận hành kinh tế trong cơng cuộc hiệnđại hóa đất nước nói chung. Nhận thấy cơ hội này Ngân hàng MB cho rằng đây là mộthướng đi hiệu quả để phát triển công nghệ thông tin - một trong những vấn đề cốt lõihiện nay và thay đổi phương thức làm việc

( Khó khăn nhất là đồng đều về chất lượng và mức độ trưởng thành của nhânsự và cơng nghệ )

Dựa trên thực tiễn đó chủ đề “ Đề xuất áp dụng phương thức phát triển phầnmềm linh hoạt Agile tại Ngân hàng Thương mại Cổ phần Quân đội (MB) ” đã đượclựa chọn để nghiên cứu.

<b>1.2 Tổng quan nghiên cứu</b>

<b>1.2.1 Tổng quan nghiên cứu nước ngoài1.1.2 Tổng quan nghiên cứu trong nước</b>

<small>2 viet-nam-nhung-kho-khan-va-giai-phap.htm. </small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b> Mục tiêu nghiên cứu</b>

Mục đích của đề tài là tìm hiểu và đánh giá khả năng áp dụng phương thức Agiletrong quá trình phát triển phần mềm tại Ngân hàng Thương mại Cổ phần Quân độiMB. Nghiên cứu sẽ tập trung vào việc xác định các ưu điểm và hạn chế của phươngthức Agile, đánh giá khả năng áp dụng của phương thức này trong môi trường ngânhàng, đề xuất các giải pháp để tối ưu hóa quá trình phát triển phần mềm và nâng caohiệu quả công việc của nhân viên. Kết quả của đề tài sẽ giúp Ngân hàng Thương mạiCổ phần Quân đội MB cải thiện quá trình phát triển phần mềm, tăng cường sự linhhoạt và đáp ứng nhanh chóng các yêu cầu của khách hàng.

<b>1.4 Đối tượng nghiên cứu1.5 Phạm vi nghiên cứu</b>

<b>1.6 Phương pháp nghiên cứu</b>

<b>- Tìm hiểu về phương pháp phát triển phần mềm linh hoạt Agile, so sánh với quy</b>

trình phát triển phần mềm truyền thống

<b>- Tìm hiểu về quy trình phát triển phần mềm Agile - Scrum, phát triển phần mềm</b>

dựa trên các đặc điểm của phương pháp Agile

<b>- Nghiên cứu về tính ứng dụng của phương thức này lên hệ thống Ngân hàng,</b>

đánh giá khả năng ứng dụng

<b>1.7 Khoảng trống nghiên cứu</b>

<b>B. NỘI DUNG NGHIÊN CỨU</b>

<b>CHƯƠNG 1: Cơ sở lý luận về ứng dụng Agile trong ngân hàng 1.1 Giới thiệu về Agile</b>

Agile là một phương pháp phát triển phần mềm linh hoạt không cịn q xa lạ tronghoạt động số hóa của các doanh nghiệp, tổ chức trên toàn thế giới, bản chất đây là mộttriết lý - khung tư duy nhằm nhanh chóng thích ứng và phản hồi đối với thay đổi, từđó tạo ra hiệu quả trong một mơi trường khơng chắc chắn và luôn biến động. Triết lýAgile được xuất phát từ ngành công nghệ, được miêu tả bằng 12 nguyên lý và 4 giátrị cốt lõi trong Tuyên ngôn phát triển phần mềm linh hoạt hay Tuyên ngôn Agile (The

<b>Manifesto for Agile Software Development), triết lý này cho đến ngày nay đã làm</b>

thay đổi diện mạo ngành cơng nghệ thơng tin nói riêng và nhiều lĩnh vực khác như:Quản lý, Nhân sự, Marketing, Quản trị và Lãnh đạo nói chung.

Agile Software Development là một thuật ngữ chung chỉ tất cả các kỹ thuật và phươngpháp phát triển phần mềm theo triết lý Agile. Triết lý này được mô tả sơ bộ trong bảnTuyên ngôn Agile (The Manifesto for Agile Software Development) thông qua nhữnggiá trị cốt lõi và nguyên tắc mang tính khái quát, tuy nhiên không ghi rõ thực hiện

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

những nguyên tắc đó như thế nào. Do đó, các phương pháp Agile sẽ làm nhiệm vụlàm rõ hơn để các cá nhân, tổ chức có thể vận dụng linh hoạt vào hệ thống của mình,trong từng bối cảnh cụ thể. Các phương pháp này đều tập chung vào việc thiết lập cáckịch bản thích ứng, phát triển tăng dần, chuyển giao sớm và cải thiện liên tục tạo rakhả năng thích ứng nhanh với sự biến động.

<b>1.1.1 Lịch sử ra đời của Tuyên ngôn Agile và một số phương pháp Agile phổ biến</b>

Agile ra đời trong bối cảnh ngành phát triển phần mềm gặp nhiều thử thách với cácthức phát triển thác nước (Waterfall), hoặc dựa theo kế hoạch (plan- driven), Agile rađời như một phương pháp nhằm khắc phục nhược điểm của mơ hình thác nướcWaterfall.

(Nguồn: Linkedin)

(Nguồn: )

Đặc trưng của phương pháp Waterfall là tiệm cận tuyến tính, làm tuần tự các bướctheo kế hoạch. Tuy nhiên, trong thực thế có rất nhiều những thay đổi và tình huống

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

xảy ra mà chưa thể đưa ra kịch bản giải quyết, đó có thể đến từ sự thay đổi yêu cầucủa các bên liên quan. Do yêu cầu luôn thay đổi, khách hàng có thể chưa thực sự biếtmình cần gì, muốn gì cho đến khi trải nghiệm sản phẩm, khi đó những yêu cầu banđầu của khách hàng có thể đã lỗi thời, không phù hợp mục tiêu kinh doanh. Khi đó sẽphải tiến hành thực hiện lại hết tồn bộ kế hoạch, khiến cho tiến độ ra sản phẩm khôngđúng yêu cầu, quá tải ngân sách

Một cuộc khủng hoảng về phương pháp luận phát triển phần mềm đã diễn ra vàokhoảng thập kỷ 90 của thế kỷ 20 đã chứng kiến sự thất bại của các dự án phần mềmcao. Cho đến tận ngày 11-13 tháng 2 năm 2001, 17 nhà phát minh và thực hành đãhọp tại bang Utah, Hoa Kỳ để thảo luận về hướng đi mới trong phương pháp luận pháttriển phần mềm và đã đi đến thống nhất cho ra đời bản Tuyên ngôn Agile (TheManifesto for Agile Software development) dựa trên các nguyên tắc phát triển phânđoạn lặp (iterative) và tăng trưởng (incremental), từ đó đưa ra nhu cầu và giải pháptiến hóa thơng qua sự tương tác giữa các nhóm và liên chức năng. Agile thường sửdụng cách lập kịch bản thích ứng, việc phát triển và chuyển giao hướng tiến hóa sửkhung thời gian ngắn và linh hoạt (sprint) để nhanh chóng phản hồi lại với những thayđổi trong một môi trường biến động. Chú trọng đề cao vào sáng tạo cá nhân, tương tácnhóm hơn là quy trình nghiệp vụ, sản phẩm tốt hơn tài liệu đầy đủ.

<b>1.1.2 Lý do nên áp dụng Agile vào trong Ngân hàng và môi trường làm việc.</b>

- Mỗi sản phẩm của một dự án là khác nhau nên việc áp dụng một quy trình đểtriển khai sẽ gây ra hàng loạt sự khó khăn

- Agile đi liền với công cuộc Chuyển đổi số

- Khách hàng và các bên liên quan khi đưa ra yêu cầu về một dự án, họ khó cụthể hình dung được đầy đủ những yêu cầu cho sản phẩm, chỉ khi qua q trìnhhình thành, được tiếp xúc, ứng phó với những thay đổi trong mong muốn. Sảnphẩm mới có thể hoàn thiện đúng tiến độ, giảm thiểu rủi ro đúng tiến độ.

<b>1.1.3 Các đặc trưng của Agile </b>

<b>-Tính lặp (Iterative) </b>

Dự án sẽ được thực hiện trong các phân đoạn lặp đi lặp lại. Các phân đoạn (được gọilà Sprint) này thường có khung thời gian ngắn (khoảng 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 của một dự án nhưlập kế hoạch, phân tích yêu cầu, thiết kế, triển khai, kiểm thử (với các mức độ khácnhau) để cho ra các phân đoạn nhỏ của sản phẩm.

<b>-Tính tiến hóa (Evolutionary)</b>

Cuối các phân đoạn, nhóm phát triển thường cho ra các phần nhỏ của sản phẩm cuốicùng, các phần nhỏ này thường là đầy đủ, có khả năng chạy độc lập tốt, được kiểm thửcẩn thận và có thể sử dụng ngay (potentially shippable product increment offunctionality). Theo thời gian, phân đoạn này tiếp nối phân đoạn kia các phần chạy

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

được này sẽ được tích lũy, lớn dần lên cho tới khi toàn bộ yêu cầu của khách hàngđược thỏa mãn.

<b>-Nhóm tự tổ chức và liên chức năng</b>

Cấu trúc nhóm agile thường là liên chức năng(cross-functionality) và tự tổ organizing). Theo đó, các nhóm này tự thực hiện lấy việc phân công công việc màkhông dựa trên các mô tả cứng về chức danh (title) hay làm việc dựa trên một sự phâncấp rõ ràng trong tổ chức. Các nhóm này cộng tác với nhau để ra quyết định, theo dõitiến độ, giải quyết các vấn đề mà không chờ mệnh lệnh của các cấp quản lý. Họ khônglàm việc theo cơ chế “mệnh lệnh và kiểm soát” (command and control).

chức(self-Nhóm tự tổ chức có nghĩa là nó đã đủ các kỹ năng (competency) cần thiết cho việcphát triển phần mềm, do vậy nó có thể được trao quyền để tự ra quyết định, tự quản lývà tổ chức lấy cơng việc của chính mình để đạt được hiệu quả cao nhất.

<b>-Quản lý tiến trình thực tiễn (Empirical Process Control)</b>

Các nhóm agile ra các quyết định dựa trên các dữ liệu thực tiễn thay vì tính tốn lýthuyết hay các tiền giả định (prescription). Việc phân nhỏ dự án thành các phân đoạnngắn góp phần gia tăng các điểm mốc để nhóm phát triển thu thập dữ kiện cho phépđiều chỉnh các chiến lược phát triển của mình. Nói cách khác, Agile rút ngắn vòng đờiphản hồi (short feedback life cycle) để dễ dàng thích nghi và gia tăng tính linh hoạt.Theo thời gian, các chiến lược này sẽ tiến gần đến trạng thái tối ưu, nhờ đó nhóm cóthể kiểm sốt được tiến trình, và nâng cao năng suất lao động.

<b>-Tính thích ứng (Adaptive)</b>

Do các phân đoạn chỉ kéo dài trong một khoảng thời gian ngắn, và việc lập kế hoạchcũng được điều chỉnh liên tục, nên các thay đổi trong quá trình phát triển (yêu cầuthay đổi, thay đổi công nghệ, thay đổi định hướng về mục tiêu v.v.) đều có thể đượcđáp ứng theo cách thích hợp

<b>-Ràng buộc về thời gian (Time - Bound) </b>

Thời gian luôn là vấn đề rất quan trọng trong việc phát triển phần mềm bằng Agile.Nó xác định thời gian hồn thành dự án và mỗi sprint phát triển dự án để bàn giao sảnphẩm cho khách hàng kiểm tra xem đúng yêu cầu và chức năng hay không.

<b>-Quản lý thực nghiệm (Empirical Process Control) </b>

Các nhóm Agile ra các quyết định dựa trên các dữ liệu thực tiễn thay vì tính tốn lýthuyết hay các giả định. Việc phân nhỏ dự án thành các phân đoạn ngắn góp phần giatăng các điểm mốc để nhóm phát triển thu thập dữ kiện cho phép điều chỉnh các chiếnlược phát triển của mình. Theo thời gian, các chiến lược này sẽ tiến gần đến trạng tháitối ưu, nhờ đó nhóm có thể kiểm sốt được tiến trình, và nâng cao năng suất lao động.

<b>-Giao tiếp trực diện(face-to-face communication)</b>

Về yêu cầu của khách hàng, agile khuyến khích nhóm phát triển trực tiếp nói chuyệnvới khách hàng để hiểu rõ hơn về cái khách hàng thực sự cần, thay vì phụ thuộc nhiềuvào các loại văn bản. Trong giao tiếp giữa nội bộ nhóm phát triển với nhau, thay vìmột lập trình viên (thực hiện việc code) và một kỹ sư (thực hiện việc thiết kế) giao

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

tiếp với nhau thông qua bản thiết kế, agile khuyến khích hai người này trực tiếp traođổi và thống nhất với nhau về thiết kế của hệ thống và cùng nhau triển khai thành cácchức năng theo yêu cầu.

<b>-Dựa trên giá trị (value - based)</b>

Một trong những nguyên tắc cơ bản của Agile là phần mềm chạy tốt chính là thước đotiến độ. Nguyên tắc này giúp nhóm dám loại bỏ đi các cơng việc dư thừa không trựctiếp mang lại giá trị cho sản phẩm. Để 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 đạidiệ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 caohơn, mang lại giá trị hơn cho dự án. Nhờ đó các dự án Agile thường giúp khách hàngtối ưu hóa được giá trị của dự án. Chính vì thế, Agile làm gia tăng đáng kể độ hài lòngcủa khách hàng.

<b>1.1.4 Ưu điểm và nhược điểm của phương pháp Agile </b>

<b>Ưu điểm: Có một số lý do khiến Agile được sử dụng rộng rãi và bàn giao được một</b>

sản phẩm hoàn thiện theo đúng yêu cầu của khách hàng.

- Khách hàng có thể dễ dàng cảm thấy hài lòng và yên tâm hơn khi có những bảndùng thử được gửi liên tục, định kỳ để trải nghiệm, từ đó mang lại giá trị caohơn cho sản phẩm cuối cùng.

- Agile chú trọng việc tương tác giữa các nhân tố trong một nhóm hơn là việcthực hiện theo các quy trình và cơng cụ, được thể hiện qua quá trình trao đổiliên tục giữa development và tester, development và tech leader, giữa team pháttriển. Do đó ln sẵn sàng đưa ra những kế hoạch thích ứng với những thay đổibất thường, dù là những thay đổi muộn khi sản phẩm đã sắp hoàn thành

Được xác định trong quá trình lập kế hoạch

Được xác định trong quá trình lập kế hoạch

Xác định trong quá trình xây dựng dự án

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Chi phí sản phẩm Được xác định trong quá trình lập kế hoạch

trình xây dựng dự ánNgày hồn thành

sản phẩm <sup>Được xác định trong </sup>quá trình lập kế hoạch

trình xây dựng dự ánĐáp ứng với môi

trường sử dụng <sup>Trong kế hoạch ban </sup>đầu <sup>Trong kế hoạch ban </sup>đầu <sup>Xuyên suốt từ kế </sup>hoạch đến xây dựng và kết thúc

Kinh nghiệm trao đổi

Đào tạo trước cho đến khi bắt tay làm dự án

Đào tạo trước cho đếnkhi bắt tay làm dự án

Thực hiện trong quá trình làm dự ánKhả năng thành

<b>1.1.7 Các quy trình phát triển phần mềm sử dụng phương pháp Agile</b>

Một số quy trình phát triển phần mềm linh hoạt ứng dụng phương pháp phát triểnphần mềm nhanh Agile gồm phương quy trình Extreme programming (XP), quy trìnhScrum, quy trình Ration Unified Process (RUP)

XP là một phương pháp linh hoạt dành cho các nhóm phát triển phần mềm nhỏ vàtrung bình xây dựng các phần mềm có yêu cầu thay đổi một cách nhanh chóng. Nóđảm bảo công việc phù hợp cho các nhà phát triển và lợi ích tốt nhất sau thời gian làmviệc cho khách hàng và người quản.

XP sử dụng các nhóm làm việc kết hợp gồm những người lập trình, khách hàng và cácnhà quản trị để phát triển phần mềm có chất lượng cao trong thời gian nhanh chóng.Một chương trình chạy được là thước đo đầu tiên của tiến trình theo XP. XP có thểphát triển và tồn tại được là do sự hiểu biết ngày một tiến bộ về các vấn đề đang giảiquyết và cũng là vì các cơng cụ sẵn có cho phép ta thay đổi được cái giá của sự thayđổi.

<b>-Quy trình phát triển phần mềm thống nhất Rational Unified Process(RUP)</b>

RUP là một nền tảng quy trình thích ứng với sự phát triển các tổ chức và các nhóm dựán phần mềm dựa trên quy trình vịng lặp phát triển phần mềm. RUP hỗ trợ các hoạtđộng giữa các nhóm, phân chia cơng việc cho từng thành viên trong nhóm, trong từnggiai đoạn khác nhau của quá trình phát triển phần mềm. RUP sử dụng hệ thống kýhiệu trực quan của UML và RUP được phát triển song song với UML.

Vòng đời của dự án RUP được chia theo thời gian qua bốn giai đoạn nối tiếp nhau.Bao gồm: Khởi tạo (Inception), Phác thảo (Elaboration), Xây dựng (Construction),

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Chuyển giao (Transition). Mỗi giai đoạn có một mốc quan trọng, mỗi giai đoạn thựcchất là khoảng giữa của 2 điểm mốc. Cuối mỗi giai đoạn, bộ phận kiểm định sẽ thựchiện thẩm định các đối tượng của giai đoạn này c.

<b>-Phương pháp Crystal Crystal </b>

Một trong những cách tiếp cận thích ứng nhẹ nhất để phát triển phần mềm. Crystalđược thực sự bao gồm của một họ của các phương pháp (Crystal Clear, CrystalYellow, Crystal Orange, …) có đặc điểm độc đáo được thúc đẩy bởi một số yếu tốnhư kích thước nhóm, hệ thống tính quyết, và các ưu tiên của dự án. Gia đình Crystalnày nêu lên những nhận thức rằng mỗi dự án có thể yêu cầu một bộ hơi phù hợp củacác chính sách và quy trình để đáp ứng đặc điểm độc đáo của dự án.

- Phương pháp Feature-Driven Development (FDD)

FDD là một quá trình ngắn lặp đi lặp lại mơ hình định hướng. Nó bắt đầu với việcthiết lập một hình dạng mơ hình tổng thể. Sau đó, nó tiếp tục với một loạt hai tuần"thiết kế bởi tính năng, xây dựng bởi tính năng" lặp đi lặp lại. Các tính năng này lànhỏ, "hữu ích trong con mắt của khách hàng" kết quả.

FDD bao gồm 5 giai đoạn để cung cấp những phương thức, kỹ thuật và những hướngdẫn mà nhà đầu tư cần đến để chuyển giao hệ thống. Phần lặp của quy trình FDD hỗtrợ phát triển linh hoạt với sự thích nghi nhanh chóng với những thay đổi muộn trongyêu cầu của khách hàng.

5 Giai đoạn của FDD là: Phát triển một mơ hình tồn thể (Develop an Overall Model);Xây dựng một danh sách các tính năng (Build a Features List); Lập kế hoạch nhờ vàotính năng (Plan by Features); Thiết kế theo tính năng và xây dựng theo tính năng(Design by Feature and Build by Feature).

(Nguồn: e ) Tỷ lệ áp dụng các phương pháp Agile

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>1.2 Tổng quan về Agile/Scrum 1.2.1 Scrum Scrum là gì ? </b>

Scrum là khung làm việc đã được sử dụng để quản lý quy trình phát triển sản phẩmphức tạp từ đầu những năm 1990. Scrum là một khung làm việc trong đó con người cóthể xác định các vấn đề thích nghi phức tạp, trong khi vẫn đảm bảo được năng suất vàsự sáng tạo để chuyển giao sản phẩm có giá trị cao nhất.

Khung làm việc Scrum bao gồm một hay nhiều Nhóm Scrum với các vai trò đượcphân định rõ ràng, các sự kiện, các tác vụ và các quy tắc. Mỗi thành phần trong khunglàm việc phục vụ một mục đích rõ ràng và nịng cốt trong việc sử dụng và thành cơngcủa Scrum.

<b>1.2.2 Đặc trưng của Scrum </b>

Scrum sử dụng các tiếp cận lặp, tăng dần để tối ưu hóa khả năng dự đốn và kiểm sốtrủi ro. Ba yếu tố nịng cốt tạo thành một mơ hình quản lý tiến trình thực nghiệm gồm:sự minh bạch, thanh tra, và thích nghi.

Các khía cạnh quan trọng của tiến trình phải được hiển thị rõ ràng cho những người cótrách nhiệm với thành quả của tiến trình đó. Sự minh bạch u cầu các yếu tố này cầnđược định nghĩa theo một tiêu chuẩn để những người quan sát có thể hiểu những gì họthấy theo cùng một cách

Người sử dụng Scrum phải thường xuyên thanh tra các tạo tác và tiến độ để đạt đượcmục tiêu Sprint và phát hiện điểm bất thường ngồi theo ý muốn. Tần suất thanh trakhơng nên quá dày, không ảnh hưởng đến công việc. Công tác thanh tra có ích nhấtkhi được thực hiện một cách cần mẫn bởi người có kỹ năng thanh tra tại các mốc côngviệc.

Nếu một người thanh tra xác định được rằng có vấn đề nào đó vượt quá giới hạncho phép, và hậu quả của vấn đề đó đối với sản phẩm là khơng thể chấp nhận được thìquy trình hoặc các tài liệu đang được xử lý phải được điều chỉnh. Sự điều chỉnh phảiđược tiến hành càng sớm càng tốt để giảm thiểu các sai sót khác có thể xảy ra.Scrum yêu cầu bốn sự kiện chính thức cho việc thanh tra và thích nghi như mơtả trong phần sự kiện Scrum, bao gồm:

- Họp Kế hoạch Sprint (Sprint Planning)- Họp Scrum hằng ngày (Daily Scrum)- Họp Sơ kết Sprint (Sprint Review)

- Họp Cải tiến Sprint (Sprint Retrospective)

<b>1.2.3 Các thành phần của dự án quản lý bằng scrum</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Để áp dụng quy trình phát triển Scrum cần một số thành phần cơ bản gồm: Tổ chức(Organization), Quy trình (Process), Tài liệu (Atifacts).

<b>a. Tổ chức Scrum</b>

Nhóm Scrum bao gồm Chủ Sản phẩm, Nhóm phát triển, và Scrum Master. Các NhómScrum là các nhóm tự quản và đa chức năng. Các nhóm tự quản tự mình chọn cáchthức tốt nhất để hồn thành cơng việc của họ, chứ khơng bị chỉ đạo bởi ai đó bênngồi nhóm. Các nhóm liên chức năng có đủ kỹ năng cần thiết để hồn thành cơngviệc mà khơng phụ thuộc vào bất kì người ngồi nào khác. Mơ hình nhóm trongScrum được thiết kế để tối ưu hóa sự linh hoạt, sự sáng tạo và năng suất.

Các Nhóm Scrum chuyển giao sản phẩm theo chu kỳ và mang tính tăng dần, tối đahóa cơ hội cho các phản hồi. Việc chuyển giao dần dần các phần việc của Sản phẩmđã hoàn thành đảm bảo một phiên bản có thể sử dụng được của sản phẩm luôn luônsẵn sàng

Chủ Sản phẩm chịu trách nhiệm tối đa hóa giá trị của sản phẩm và cơng việc củaNhóm Phát triển. Cách thức để đạt được điều đó có thể rất khác nhau tùy thuộc tổchức, Nhóm Scrum và cá nhân. Chủ Sản phẩm là một người chủ yếu chịu trách nhiệmchính về việc quản lý Product Backlog. Việc quản lý Backlog bao gồm:

- Mô tả rõ ràng các hạng mục Product backlog.

- Sắp xếp thứ tự của các hạng mục trong Product Backlog sao cho đạt được mục đíchvà hồn thành các nhiệm vụ một cách tốt nhất.

- Tối ưu hóa giá trị cơng việc mà nhóm phát triển thực hiện.

- Đảm bảo cho Product Backlog là luôn luôn rõ ràng, minh bạch với tất cả mọi ngườivà chỉ ra những gì mà Nhóm Scrum sẽ làm.

- Đảm bảo cho nhóm phát triển hiểu rõ các hạng mục trong Product Backlog cũng nhưmức độ cần thiết tương ứng.

Nhóm Phát triển là những người trực tiếp sản xuất ra sản phẩm để phát hành đượccuối mỗi Sprint. Nhóm Phát triển được tổ chức và trao quyền bởi tổ chức/công ty đểquản lý công việc của họ. Sự hợp lực sẽ giúp tối ưu tổng thể hiệu suất và hiệu quả làmviệc của Nhóm Phát triển. Nhóm Phát triển có các đặc trưng sau:

- Là nhóm tự quản. Khơng ai có quyền u cầu Nhóm Phát triển làm thế nào đểchuyển Product Backlog thành các sản phẩm có thể chuyển giao được.

- Là nhóm liên chức năng, có tất cả các kỹ năng cần thiết để tạo ra sản phẩm.

</div>

×