Phương thức sản xuất phần mềm Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/phuong-thuc-san-xuat-phan-mem Cao Đẳng FPT M?ng c c??c bng ? tuyển sinh theo hình thức xét tuyển h?sơ. Tiêu chí đào tạo: Thực học ?Thực nghiệp! Tue, 04 May 2021 04:57:46 +0000 vi hourly 1 //wordpress.org/?v=6.4.1 //westview-heights.com/wp-content/uploads/cropped-logo-fpt-32x32.png Phương thức sản xuất phần mềm Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/phuong-thuc-san-xuat-phan-mem 32 32 Phương thức sản xuất phần mềm Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/scrum-best-practice-thuc-hanh-ap-dung-phuong-thuc-san-xuat-phan-mem-scrum.html //westview-heights.com/tin-tuc-poly/scrum-best-practice-thuc-hanh-ap-dung-phuong-thuc-san-xuat-phan-mem-scrum.html#respond Tue, 04 May 2021 04:57:46 +0000 //westview-heights.com/?p=141118 Trong bài trước chúng ta đã hiểu cơ bản v?SCRUM, những thành t?cơ bản của SCRUM. Trong bài này chúng ta s?nói v?cách áp dụng SCRUM vào t?chức và thực hiện d?án, với hy ...

The post SCRUM Best Practice ?Thực hành áp dụng phương thức sản xuất phần mềm SCRUM appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Trong bài trước chúng ta đã hiểu cơ bản v?SCRUM, những thành t?cơ bản của SCRUM. Trong bài này chúng ta s?nói v?cách áp dụng SCRUM vào t?chức và thực hiện d?án, với hy vọng s?giúp các bạn có cái nhìn rõ hơn v?SCRUM.

Bài này s?đi từng bước áp dụng SCRUM nhằm giúp các bạn d?dàng thực hành áp dụng và đánh giá mô hình này. Có th?nó s?không th?khái quát tất c?các khía cạnh của SCRUM nhưng s?đơn giản và d?tiếp cận khi chúng ta mới bắt đầu áp dụng SCRUM.

Trong bài này chúng ta thống nhất là thực hiện d?án nên chúng ta s?dùng t?d?án thay cho sản phẩm.

  1. Chuẩn b?/strong>

SCRUM được áp dụng cho giai đoạn phát triển của d?án. Do vậy, các công việc như nghiên cứu kh?thi, h?sơ giải pháp (Proposal), v…v?được xem như đã hoàn tất. Bây gi?là giai đoạn chuẩn b?cho quá trình phát triển sản phẩm. Các h?sơ đầu vào bao gồm:

H?sơ đ?xuất của d?án (Proposal): Đây là h?sơ mô t?d?án gồm các yêu cầu, giải pháp của d?án như:

  •  Mô t?sản phẩm: Mục đích, Chức năng, Yêu cầu chi tiết các chức năng
  • Giải pháp: kiến trúc, công ngh? phương pháp phát triển, triển khai
  • Thời gian phát triển d?án
  • Tài chính được cấp cho d?án

Các công tác chuẩn b?như con người, nơi làm việc, máy móc v.v?

Công c?quản lý SCRUM:

  • File Excel
  • H?thống phần mềm quản lý như Scrumdo.com hoặc Redmine

Sau quá trình chuẩn b?chúng ta thực hiện các bước sau đ?áp dụng SCRUM.

  1. Thành lập nhóm d?án

Trong bài trước chúng ta đã biết thành phần của nhóm d?án gồm: Product Owner, Scrum Master và Team Development.  Chúng ta xem lại cấu trúc nhóm d?án:

Hình 1. Cấu trúc của nhóm d?án theo Scrum

Ngoài ra, chúng ta cần một đội kiểm th?(Tester) nhằm giúp kiểm th?cho d?án. Đội Tester nên độc lập và thực hiện việc kiểm th?như một dịch v?cho d?án.

Chọn Product Owner

Product Owner là người s?hữu sản phẩm, hiểu rõ nhất v?sản phẩm và các yêu cầu của sản phẩm. Thông thường vai trò này được đảm nhiệm bởi khách hàng. Nếu khách hàng không có người thực hiện việc này thì có th?người đóng vai trò Business Analyst của công ty phần mềm hoặc của đơn v?tư vấn thực hiện vai trò này. Product Owner chịu trách nhiệm v?yêu cầu đầu ra của sản phẩm và là người chấp nhận sản phẩm.

Chọn Scrum Master

Scrum Master là người quản lý h?tr? nghĩa là không phải người đưa ra quyết định cho d?án mà là người h?tr? Scrum Master sắp xếp, t?chức, h?tr?cho nhóm d?án hoạt động và theo dõi s?hoạt động của nhóm d?án đ?đáp ứng yêu cầu của SCRUM.

Xây dựng Team Development

Nhóm d?án, thành phần ch?lực phát triển d?án, nhóm d?án nên t?4-7 người đ?vận hành có năng suất cao. Nhóm phải tập hợp những người đ?kiến thức và k?năng đ?phát triển sản phẩm (k?năng lập trình, phân tích thiết k?h?thống, kiến thức v?sản phẩm v.v..). Theo yêu cầu của SCRUM nhóm làm việc dựa trên kh?năng làm việc độc lập của các thành viên và tương tác bình đẳng với nhau. Quyết định được đưa ra dựa trên s?thống nhất chung của nhóm.

Tuy nhiên, nếu nhóm d?án có nhiều người mới hoặc không đều nhau, chúng ta có th?có một nhóm trưởng (Team Leader) đ?điều phối việc thảo luận, phân chia công việc và ra quyết định. Cần lưu ý, không nên lạm dụng vai trò của nhóm trưởng, việc càng đưa nhóm v?sát với yêu cầu của SCRUM càng sớm càng tốt đ?tăng hiệu qu?của nhóm.

Dựa trên yêu cầu của d?án (khối lượng công việc, thời gian hoàn thành), nhân lực hiện có bạn xây dựng nhóm d?án phù hợp đ?phát triển sản phẩm đúng chất lượng và thời hạn bàn giao sản phẩm. Sau đó khai báo vào bảng nhân lực theo mẫu sau:

Hình 2. Mô t?thông tin của Team
  1. Hình thành ProductBacklog

ProductBacklog là thành t?quan trọng trong SCRUM, nó mô t?danh sách chức năng cần phát triển của sản phẩm. ProductBacklog được Product Owner tạo ra và chịu trách nhiệm cập nhật theo từng giai đoạn của d?án. Kèm Product Backlog là các yêu cầu chi tiết cho từng chức năng.

ProductBacklog giai đoạn đầu có th?được lấy t?h?sơ đ?xuất của d?án (Proposal). Nếu vì lý do nào đó bạn chưa có tài liệu này thì bạn có th?xây dựng nó thông qua việc phân tích và thiết k?sơ b?của d?án. Bảng v?Use Case s?giúp bạn d?dàng xây dựng được Product Backlog. Chúng ta s?bàn v?bảng v?này trong phần Phân tích, thiết k?h?thống theo mô hình hướng đối tượng s?dụng UML.

Hình 3. Ví d?v?ProductBacklog của h?thống Ecommerce

Product Backlog trên ch?minh họa đ?bạn d?hình dung, bạn cần khảo sát và phân tích k?đ?xác định chính xác hơn các chức năng h?thống cần xây dựng đ?xây dựng Product Backlog hoàn chỉnh.

Point là đơn v?tính v?effort (n?lực hay công) trong quá trình sản xuất phần mềm. Nó có th?là 1 gi? một buổi, một ngày tùy theo qui định của bạn. ?đây chúng ta lấy ví d?là 1 buổi = 4 gi?của một Lập trình viên trung bình.

  1. Sprint Planning meeting và hình thành Sprint Backlog

Giai đoạn này bạn đã thực s?bước vào giai đoạn phát triển của d?án. Chúng ta cần nhìn lại qui trình của SCRUM đã trình bày ?phần trước:

Hình 4. Quy trình phát triển phần mềm theo SCRUM

Chúng ta thấy SCRUM chia d?án ra thành nhiều Sprint, mỗi Sprint t?2-4 tuần và lặp lại cho đến khi hết ProductBacklog. Các Sprint phải đảm bảo các yếu t?sau:

  • Phải xác định rõ được Sprint Backlog (danh sách chức năng) đ?phát triển trong Sprint này
  • Phải Release được
  • Phải phân công được công việc hiệu qu?cho các thành viên trong nhóm d?án
  • Do vậy, bạn cần có cuộc họp Sprint Planning đ?lên k?hoạch cho mỗi Sprint. Cuộc họp này s?
    • Thảo luận và chọn ra danh sách các chức năng thực hiện
    • Xác định ngày bắt đầu, ngày kết thúc, kết qu?đầu ra
    • Phân công công việc của từng thành viên
    • Bàn các giải pháp cho các vấn đ?chung cho Sprint
  • Kết thúc cuộc họp s?hình thành được Sprint Backlog.
  1. Daily Scrum Meeting

Daily Scrum Meeting là một Process rất tuyệt vời trong Scrum, nó giúp Team phát hiện sớm các vấn đ?phát sinh trong quá trình phát triển, đồng b?công việc giữa các thành viên và là cách vận dụng teamwork rất tốt.

Bạn cần nh?rằng mỗi cuộc họp Daily Scrum được thực hiện hàng ngày và ch?nên kéo dài 15 phút và mỗi thành viên tr?lời đúng 3 câu:

  • Hôm qua bạn làm gì?
  • Bạn gặp những vấn đ?gì?
  • Hôm nay bạn làm gì?

Sau khi các thành viên đã thông báo toàn b?những nội dung trên, các thành viên quay v?làm việc. Scrum Master sắp xếp các cuộc họp riêng đ?giải quyết các vấn đ?phát sinh.

Bạn có th?chọn họp cuối hoặc đầu ngày, theo quan điểm của chúng tôi, chúng tôi khuyên bạn họp đầu ngày đ?kích thích tinh thần làm việc của các thành viên.

Những vấn đ?được phát hiện s?được x?lý trong một cuộc họp riêng có những thành viên liên quan ch?không giải quyết trong cuộc họp Dialy Scrum.

Việc duy trì cuộc họp này cũng giống như bạn cần ôn bài mỗi ngày thay vì phải ch?đến k?thi cuối k?mới vắt chân lên c?mà chạy. Lúc đây nguy cơ tr?rất cao mà chất lượng cũng không đảm bảo.

  1. Sprint Review Meeting

Sprint Review Meeting là cuộc họp rà soát kết qu?thực hiện của mỗi Sprint. Nó xem xét:

  • Kết qu? chất lượng của những stories đã thực hiện xong
  • Những Stories cần chuyển sang Sprint tiếp theo
  • Xem xét và giải quyết các vấn đ?phát sinh
  • Rút ra bài học kinh nghiệm

Kết qu?cuộc họp này s?được s?dụng cho cuộc họp Sprint Planing cho Sprint tiếp theo.

Tiếp tục lặp lại qui trình trên cho đến khi hoàn tất hết danh sách stories trên Product Backlog bạn s?hoàn thành d?án.

  1. Kết luận

Như vậy bạn đã biết cách đơn giản đ?áp dụng SCRUM vào các d?án. Trong quá trình áp dụng s?phát sinh những vấn đ? việc giải quyết các vấn đ?s?giúp bạn hiểu rõ hơn v?SCRUM. Chúc các bạn thành công.

The post SCRUM Best Practice ?Thực hành áp dụng phương thức sản xuất phần mềm SCRUM appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc-poly/scrum-best-practice-thuc-hanh-ap-dung-phuong-thuc-san-xuat-phan-mem-scrum.html/feed 0
Phương thức sản xuất phần mềm Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc/scrum-phuong-thuc-san-xuat-phan-mem-hien-dai.html //westview-heights.com/tin-tuc/scrum-phuong-thuc-san-xuat-phan-mem-hien-dai.html#respond Fri, 19 Mar 2021 12:30:32 +0000 //westview-heights.com/?p=133727 Trong ngành công nghiệp phần mềm, phương thức sản xuất phần mềm có một vai trò vô cùng quan trọng, nó quyết định cấu trúc t?chức, qui trình phát triển, kh?năng thành công của các d?án. Trong ...

The post SCRUM ?Phương thức sản xuất phần mềm hiện đại appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Trong ngành công nghiệp phần mềm, phương thức sản xuất phần mềm có một vai trò vô cùng quan trọng, nó quyết định cấu trúc t?chức, qui trình phát triển, kh?năng thành công của các d?án. Trong những năm gần đây SCRUM nổi lên như một phương thức t?chức sản xuất ưu việt được nhiều công ty phần mềm áp dụng và thành công.

Nhằm giúp các bạn hiểu rõ hơn v?phương thức này, chúng tôi chia s?loạt bài Giới thiệu cơ bản v?Srcum, cách t?chức nhóm và teamwork trong SCRUM, so sánh với mô hình truyền thống và cách thức chuyển t?mô hình sản xuất truyền thống sang SCRUM.  Hy vọng, s?giúp các bạn có cái nhìn khái quát v?phương thức này và nghiên cứu áp dụng cho đơn v?mình.

  1. Khái niệm v?SCRUM

SCRUM là một phương thức phát triển phần mềm ch?ra cách đ?Team (nhóm phát triển) làm việc một cách hiệu qu?đ?tạo ra sản phẩm phần mềm.  Với nguyên tắc ch?đạo là chia nh?phần mềm cần sản xuất ra thành các phần nh?đ?phát triển (các phần nh?này phải đọc lập và Release được), lấy ý kiến khách hàng và thay đổi cho phù hợp ngay trong quá trình phát triển đ?đảm bảo sản phẩm release đáp ứng những gì khách hàng mong muốn.

Cũng có th?nói SCRUM là một nền tảng đơn giản đ?phát triển phần mềm, trong đó nó qui định một s?qui luật cơ bản nhằm đảm bảo tạo ra cấu trúc của nhóm d?án và gi?cho nó phát triển, sáng tạo và tạo ra s?hấp dẫn đối với những người tham gia.

SCRUM vận hành dựa trên đặc tính tư nhiên của người phát triển nên rất d?hiểu, d?áp dụng, tạo nên tính tương tác cao giữa những lập trình viên trong nhóm và cùng nhau tạo ra những sản phẩm tốt. Thay vì chịu s?áp đặt t?bên ngoài.

  1. Một s?đặc tính của SCRUM
  • Tập trung vào sản phẩm, sản phẩm mới là đích cuối cùng ch?không phải quy trình.
  • Thích ứng nhanh với s?thay đổi yêu cầu.
  • Nhấn mạnh vai trò của Team, Team mới là người đưa ra giải pháp và thực hiện nó.
  • Tạo nên s?tương tác cao giữa khách hàng, nhóm phát triển sản phẩm đ?chắc chắn sản phẩm đầu ra đúng với yêu cầu của khách hàng.
  1. Vì sao nên dùng  SCRUM?

–?Sản phẩm của mỗi d?án phần mềm không giống nhau nên việc áp dụng đ?phát triển hàng loạt là rất khó khăn. Do vậy, nếu đ?có một qui trình chi tiết áp dụng được đ?phát triển cho tất c?các sản phẩm thì đó là một tác phẩm đ?s?và tốn kém. Gi?s?có một qui trình như vậy thì việc nh?đ?áp dụng nó một cách hiệu qu?cũng là một thách thức lớn.

–?Phần mềm là một sản phẩm phức tạp nên ngay t?đầu khách hàng khó có th?hình dung đầy đ?các yêu cầu đặt ra cho sản phẩm mà phải qua quá trình phát triển những chi tiết ấy mới hình thành nên việc ứng phó tốt với những thay đổi yêu cầu s?giúp giảm bớt rủi ro. SCRUM đáp ứng rất tốt cho vấn đ?này.

–?Như chúng ta đã nói ?trên quá trình phát triển phần mềm khá phức tạp và có nhiều khác nhau giữa các sản phẩm nên nếu không trực tiếp tham gia sản xuất s?rất khó hiểu hoặc hiểu không đúng. Do vậy, hãy đ?cho Team phát triển quyết định giải pháp cho sản phẩm và khách hàng quan tâm đến chức năng của sản phẩm đ?đáp ứng nhu cầu của h?là tốt nhất.

–?Khách hàng nên tham gia vào quá trình phát triển phần mềm đ?đảm bảo sản phẩm đầu ra đáp ứng nhu cầu phát triển của mình.

–?Một s?t?chức trên scrumalliance.org thống kê rằng trước khi áp dụng SCRUM t?l?thành công của các d?án lớn ch?40% nhưng sau khi áp dụng SCRUM t?l?này đã tăng lên 80%.

  1. Các nhân t?quan trọng trong Scrum

Một cách đơn giản có 03 thành t?quan trọng cấu thành nên SCRUM: T?chức (Organization), Qui trình (Process),  Tài liệu (Atifacts). Trong mỗi thành t?có 03 thành t?con. Như vậy, chúng ta ch?cần hiểu và áp dụng được 9 thành t?này là có th?áp dụng SCRUM.

–    ?T?chức (Organization): T?chức nhóm d?án và Roles (Vài trò)

  • Product Owner (Người s?hữu sản phẩm)
  • ScrumMaster (Người điều phối )
  • Development Team (Nhóm phát triển)

–   ?Tài liệu (Atifacts):  các kết qu?đầu ra

  • Product Backlog  (Danh sách các chức năng cần phát triển của sản phẩm)
  • Sprint Backlog (Danh sách các chức năng cần phát triển cho mỗi giai đoạn)
  • Estimation (Kết qu?ước lượng của Team)

–   ?Qui trình(Process):  Qui định cách thức vận hành của SCRUM

  • Sprint Planning meeting (Họp đ?hoạch định cho mỗi giai đoạn)
  • Sprint Review (Họp đ?tổng kết cho mỗi giai đoạn)
  • Daily Scrum Meeting (Họp review hàng ngày)

4.1 T?chức của d?án (Organization)

Hình 1. Cấu trúc của nhóm d?án theo Srum

Product Owner

Product Owner là người s?hữu sản phẩm, người quyết định sản phẩm có những chức năng nào và là người quyết định Product Backlog.  Thông thường Role này được khách hàng hoặc người đại diện cho khách hàng đảm nhận.

ScrumMaster

Scrum Master là người đảm bảo các qui trình của Scrum được thực hiện đúng và thuận lợi, giúp đ?cho Team thực hiện công việc phát triển sản phẩm một cách tốt nhất.

Development Team (Nhóm phát triển)

Một nhóm t?4-7 k?sư phần mềm chịu trách nhiệm phát triển sản phẩm. Nhóm d?án phải làm việc với Product Owner đ?quyết định những gì s?làm trong Sprint (giai đoạn )này và kết qu?s?ra sao. Đồng thời nhóm cũng thảo luận đ?đưa ra các giải pháp, ước lượng thời gian thực hiện công việc, họp đánh giá kết qu?công việc. Nếu d?án lớn chúng ta cần chia ra thành các d?án nh?

4.2 Tài liệu (Atifacts)

Product Backlog

Product Backlog là danh sách các chức năng cần được phát triển của sản phẩm. Danh sách này do Product Owner quyết định. Nó thường xuyên được cập nhật đ?đáp ứng được nhu cầu thay đổi của khách hàng cũng như các điều kiện của d?án.

Hình 2. Ví d?v?Product Backlog

Sprint Backlog

Sprint là một giai đoạn phát triển trong quá trình phát triển sản phẩm, nó được khuyến khích có chiều dài t?2 ?4 tuần. Mỗi Sprint được xác định bằng thời gian phát triển, danh sách các chức năng phát triển (Sprint Backlog). Mỗi sprint phải Release được sản phẩm đ?đảm bảo lấy được ý kiến khách hàng, qua được các qui trình phát triển của sản phẩm nhằm rút kinh nghiệm và tránh s?c?sau này.

Sprint Backlog là danh sách chức năng phát triển trong Sprint, nó được quyết định bởi cuộc họp Sprint Planning. Sprint Backlog là các chức năng được chọn t?Product Backlog dựa trên mức đ?ưu tiên và kh?năng của team phát triển.

Estimation (ước lượng)

Trong SCRUM thì các thành viên của Team s?t?lựa chọn Task cho mình và ước lượng thời gian phát triển d? kiến và chịu trách nhiệm với ước lượng này. Sau khi hoàn thành s?cập nhật vào bảng Sprint Backlog.

Hình 3. Ví d?v?Sprint Backlog đã được ước lượng

4.3 Qui trình(Process)

Hình 4. Scrum Process

Sprint Planning meeting  (Họp lập k?hoạch cho mỗi Sprint)

Như  chúng ta đã biết ?trên Sprint là một giai đoạn phát triển có thời gian t?2-4 tuần. Đ?chuẩn b?cho mỗi Sprint team cần phải họp đ?xác định những chức năng nào (story) s?phát triển trong giai đoạn này (sprint backlog), kết qu?đầu ra d?kiến (Goal, kết qu?Release), Estimate (ước lượng ai làm việc gì) và thảo luận các giải pháp. Tất c?được ghi thành biên bản đ?có cơ s?thực hiện và Review sau này.

Sprint Review

Là cuộc họp đ?đánh giá lại kết qu?thực hiện của Sprint vừa qua, xác định những chức năng được Release, những chức năng tiếp tục sửa hoặc phát triển thêm, xác định những vấn đ?phát sinh và bàn phương án giải quyết, b?sung Product Backlog v?

Daily Scrum Meeting (hay còn gọi là Standup Meeting)

Daily Scrum Meeting là cuộc họp hàng ngày và được đ?ngh?không quá 15 phút và họp đứng đ?đảm bảo thời gian họp không b?kéo dài vào đầu mỗi ngày, mỗi thành viên ch?tr?lời 3 câu hỏi:

–        ?Hôm qua bạn làm được gì?

–        ?Phát sinh vấn đ?gì?

–        ?Hôm nay bạn s?làm gì

Nếu thành viên gặp vấn đ?thì nên làm việc riêng đ?giải quyết đ?không mất nhiều thời gian của các thành viên.  Scrum Master phải đảm bảo cuộc họp này được thực hiện đúng qui định.

  1. Công c?quản lý

Vì Scrum là Framework đ?quản lý và giúp Team thực hiện d?án nên bạn cần có công c?quản lý s?d?dàng và hiệu qu?hơn. Bạn có th?tham khảo các cách sau:

  1. Xây dựng 1 file mẫu Excel (Xem hình 2,3 và b?sung thêm danh sách Team member)
  2. S?dụng công c?Online:  //www.scrumdo.com/home
  3. Hoặc cài đặt các công c?chuyên nghiệp như Redmine

Việc s?dụng công c?s?giúp bạn hiểu tốt hơn v?Scrum và áp dụng nó hiệu qu?hơn.

  1. Kết luận

Bài viết này ch?hy vọng giúp các bạn hiểu cơ bản v?SCRUM và lý do vì sao nó được chọn làm mô hình phát triển phần mềm được ưa chuộng nhất hiện nay. Bạn cần tìm hiểu thêm đ?có th?hiểu sâu hơn v?mô hình này cũng như áp dụng hiệu qu?nó vào công ty bạn.

The post SCRUM ?Phương thức sản xuất phần mềm hiện đại appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc/scrum-phuong-thuc-san-xuat-phan-mem-hien-dai.html/feed 0