Chủ đề tìm hiểu managing agile projects QUẢN lý dự án PHẦN mềm

12 887 2
Chủ đề tìm hiểu managing agile projects  QUẢN lý dự án PHẦN mềm

Đ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

QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ----------------***---------------- Môn học QUẢN DỰ ÁN PHẦN MỀM Chủ đề tìm hiểu Managing Agile Projects ScrumDo http://www.scrumdo.com/ GVHD: TS. Trương Anh Hoàng, TS. Phạm Ngọc Hùng Nhóm thực hiện (Nhóm 6): 1- Đinh Quang Đạt 2- Trần Mạnh Đông 3- Nguyễn Văn Trãi 4- Nguyễn Khoa Hải 5- Phạm Thanh Tùng Hà Nội, 4/2013 QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 2 Mục lục 1. Giới thiệu chung 3 1.1. Giới thiệu Scrum . 3 1.2. Tổng quan về ScrumDo 4 2. Quản dự án với ScrumDo . 4 2.1. Giới thiệu bài toán . 4 2.2. Khởi tạo tổ chức 5 2.4. Quản yêu cầu 6 2.5. Lập kế hoạch vòng lặp 7 2.6. Hỗ trợ lập kế hoạch dự án . 8 2.7. Theo dõi và giám sát . 9 3. Một số chức năng nâng cao và tùy chọn hệ thống 11 3.1. Xuất khẩu dữ liệu 11 3.2. Tùy chọn dự án (Project Admin) 11 4. Kết quả thu được và đánh giá . 12 5. Tài liệu tham khảo 12 QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 3 1. Giới thiệu chung 1.1. Giới thiệu Scrum Scrum là một quy trình, một phương pháp phát triển phần mềm dựa trên phương pháp Agile giúp theo dõi, điều khiển và cải thiện các hoạt động trong phát triển phần mềm. Scrum tổ chức phát triển thành các Sprint. Mỗi Sprint kéo dài không quá một tháng. Mỗi Sprint sẽ phải kết thúc tại một ngày đã được xác định trước đó ngay cả khi các công việc đã được hoàn thành hoặc chưa hoàn thành và không bao giờ kéo dài thêm. Tại đầu mỗi Sprint, nhóm Scrum chọn lựa yêu cầu từ danh sách Backlog theo thứ tự ưu tiên và đưa vào Sprint. Nhóm phát triển phải cam kết hoàn thành những yêu cầu đó trong Sprint này và danh sách những yêu cầu này sẽ không được thay đổi trong suốt Sprint. Việc kiểm tra, giám sát được thực hiện thông qua 4 hình thức tổ chức họp: họp lập kế hoạch Sprint, họp hàng ngày, họp kết thúc Sprint và họp cải tiến Sprint. Tại buổi họp lập kế hoạch Sprint, nhóm phát triển đưa ra danh sách yêu cầu sẽ thực hiện trong Sprint cùng với sự xem xét của Product Owner và đưa ra giải pháp chung cho các yêu cầu. Họp hàng ngày giúp theo dõi được tiến độ công việc, tốc độ thực hiện để có thể phát hiện được những khó khăn, rủi ro trong quá trình thực hiện và đưa ra sự thay đổi cần thiết. Khi kết thúc mỗi Sprint, buổi họp kết thúc Sprint được tổ chức. Tại đây, các thành viên đưa ra những việc đã làm được, những việc chưa làm được và dự kiến những yêu cầu sẽ làm trong Sprint tiếp theo. Buổi họp cải tiến Sprint được tổ chức nhằm đưa ra những thay đổi cần thiết về cách tổ chức, hoạt động của nhóm Scrum dựa trên Sprint vừa qua, để từ đó thích nghi với mục tiêu của sản phẩm cũng như hiệu quả công việc của nhóm Scrum. Dự án xây dựng theo Scrum được theo dõi và giám sát thông qua Backlog của sản phẩm nói chung và của từng Sprint nói riêng. Tại đây, danh sách công việc, yêu cầu đã được hoàn thành cũng như phần còn lại của công việc được thể hiện. Product Owner căn cứ vào đó để có những thay đổi, điều chỉnh phù hợp. Ngoài ra, Scrum cung cấp biểu đồ Burndown: theo dõi thời gian, công việc còn lại của nhóm trong Sprint. Biểu đồ này cho thấy khối lượng công việc mà nhóm còn phải làm cho đến khi kết thúc nhiệm vụ của mình. QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 4 Hình 1. Giới thiệu chung về Scrum 1.2. Tổng quan về ScrumDo ScrumDo là một công cụ quản dự án trực tuyến áp dụng theo mô hình Scrum. Mục đích của ScrumDo nhằm cung cấp một cách tốt nhất, dễ dàng nhất để có thể áp dụng được phương pháp quản yêu cầu Agile (cụ thể là phương pháp Scrum) vào phát triển phần mềm. Đối tượng được ScrumDo hướng tới là những nhóm phát triển phần mềm phân tán nhiều nơi. Các thao tác quản một tổ chức phát triển, một dự án phần mềm được thực hiện trực tuyến thông qua trang web http://scrumdo.com/. 2. Quản dự án với ScrumDo 2.1. Giới thiệu bài toán Để làm rõ tính năng, đặc điểm và cách sử dụng ScrumDo, chúng tôi áp dụng ScrumDo để quản một dự án cụ thể: Dự án kế toán cho các doanh nghiệp. Đây là dự án đã được nhiều công ty phần mềm phát triển. Yêu cầu chính của bài toán là cho phép doanh nghiệp quản toàn bộ thông tin về nghiệp vụ kế toán trong công ty như: thông tin về chứng từ, hợp đồng, tài sản, hóa đơn, báo cáo… Ngoài ra, hệ thống còn phải đáp ứng một số yêu cầu phi chức năng như tính dễ dùng, tốc độ… QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 5 2.2. Khởi tạo tổ chức Vấn đề đầu tiên cần quan tâm là khởi tạo tổ chức, dự án và các thàn viên tham gia phát triển. ScrumDo cho phép một tổ chức có thể khởi tạo nhiều chi nhánh, phòng ban khác nhau. Mỗi phòng ban bao gồm một hoặc nhiều nhóm phát triển. Mỗi nhóm được tạo ra được cấp một số quyền nhất định. ScrumDo định nghĩa sẵn 4 cấp độ truy cập cho các nhóm: Read Only, Read/Write, Administrator và Staff Member. Thành viên mới có thể được thêm vào hệ thống thông qua tài khoản trong ScrumDo hoặc mời một thành viên nào đó tham gia vào nhóm thông qua email của họ. Thành viên đó sẽ xác nhận qua email để trở thành thành viên của nhóm. Khi đã nằm trong một nhóm phát triển, thành viên sẽ có quyền theo nhóm đó. Ví dụ, với những thành viên trong nhóm được gán quyền Staff Member, họ có thể khởi tạo dự án, mời thêm thành viên, quản các tùy chọn của hệ thống và có thể truy cập vào tất cả các dự án trong tổ chức. Hình 2: Khởi tạo nhóm phát triển QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 6 2.3. Khởi tạo dự án Một dự án được khởi tạo bởi một thành viên trong nhóm Staff Member. Khi khởi tạo dự án, đơn giản chúng ta chỉ cần khai báo tên dự án, miêu tả về dự án. Khi mới khởi tạo, dự án sẽ được gán cho 1 chi nhánh, phòng ban trong tổ chức. Sau đó, nó được gán cụ thể hơn cho 1 nhóm phát triển như ở phần dưới của Hình 2. 2.4. Quản yêu cầu Việc quản yêu cầu của ScrumDo chia làm 2 loại: quản Epic và quản Story. Epic giống như một phân hệ, một chức năng lớn trong hệ thống. Còn một Story là một chức năng nhỏ, cụ thể và có thể hoàn thành trong một vòng lặp. Mỗi Epic có thể chia nhỏ thành nhiều Epic nhỏ hơn. Như ở Hình 3, sự phân chia này được thực hiện cho tới một mức nào đó, Epic có thể được coi như một Story. Khi đó, chúng ta sẽ có một cây quản yêu cầu. Hình 3: Quản Epic của hệ thống kế toán Một Story sẽ phải thuộc 1 Epic nào đó. Nó là một chức năng nhỏ đến một mức độ hợp để có thể quản được. Mỗi Story được gán cho nhiều Task để hoàn thành nó. Người dùng có thể thao tác thêm, sửa, xóa các Task này thông qua giao diện như Hình 4. Các thành viên trong nhóm phát triển QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 7 thực hiện trao đổi thông tin, thảo luận về từng Story ngay trên giao diện này. Như vậy, mọi thành viên sẽ có một cách hiểu thống nhất về yêu cầu này. Hình 4: Quản một Story của hệ thống kế toán Để có thể quản được tiến độ của từng vòng lặp, các Story sẽ được cập nhật trạng thái khi thực hiện. Mặc định, ScrumDo cung cấp 4 trạng thái cho mỗi Story: ToDo, Doing, Reviewing, Done. Người quản có thể bổ sung, thay đổi các trạng thái tùy chỉnh cho phù hợp với tổ chức của mình. Mỗi Epic, Story được gán một điểm số Points. Điểm số này xác định kích thước của một phân hệ, một chức năng. Thông qua điểm số này, nhà quản có thể theo dõi được kích thước tổng thể của dự án, cũng như tiến độ hoàn thành. Điểm số này sẽ là đầu vào quan trọng cho việc lập kế hoạch vòng lặp ở bước tiếp theo. 2.5. Lập kế hoạch vòng lặp Như đã nói đến ở phần đầu, với phương pháp phát triển nhanh, mỗi vòng lặp chỉ kéo dài trong khoảng từ 1-4 tuần. Mỗi vòng lặp bao gồm nhiều Story khác nhau được chọn từ BackLog của dự án. Thông qua Points của những Story đó, kích thước của vòng lặp được xác định (Planned Interation Points trong Hình 5). Ngoài ra, để người quản có thể lập kế hoạch một cách chính xác nhất dựa trên dữ liệu lịch sử dự án, ScrumDo đưa ra thông số tốc độ của dự án (Project Velocity) và tốc độ của vòng lặp gần nhất (Last Interation Velocity). Sử dụng giao diện Web, ScrumDo còn hỗ trợ chức năng kéo thả Story từ BackLog vào từng Iteration và ngược lại. QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 8 Hình 5: Lập kế hoạch vòng lặp 2.6. Hỗ trợ lập kế hoạch dự án ScrumDo hỗ trợ trong việc ước lượng số vòng lặp cần phải thực hiện để giải quyết các vấn đề còn tồn trong Back Log. Căn cứ vào số vấn đề còn tồn trên BackLog, ScrumDo quy đổi ra số points còn phải thực hiện. Đồng thời, với dữ liệu lịch sử là tốc độ của những vòng lặp gần nhất, hệ thống sẽ đưa ra gợi ý về số vòng lặp vần thực hiện để thực hiện được hết các vấn đề trong Back Log. Thời gian bắt đầu cung như kết thúc của mỗi vòng lặp cũng được dự đoán thông qua những story thực hiện trong vòng lặp đó. QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 9 Hình 6: Hỗ trợ lập kế hoạch dự án 2.7. Theo dõi và giám sát Vấn đề quan trọng nhất khi quản một dự án là giám sát việc thực hiện dự án và đưa ra những thay đổi cần thiết. Căn cứ vào trạng thái hiện thời của dự án, ScrumDo cung cấp cho nhà quản những biểu đồ trực quan ở nhiều dạng khác nhau để có thể dễ dàng theo dõi. Biểu đồ theo dõi trạng thái của vòng lặp được thể hiện ở Hình 7. Trong đó có các thông tin về vòng lặp như: số yêu cầu, tổng số points, bao nhiêu points đang thực hiện, bao nhiêu points đã được hoàn thành, cũng như số ngày còn lại để hoàn thành vòng lặp. Biểu đồ trực quan được thể hiện ở 3 dạng chính: Burnup: Thể hiện số points đã hoàn thành trên tổng số points cần thực hiện; Burndown: Thể hiện số points cần thực hiện, cũng như đường dự đoán số points remaining căn cứ vào tốc độ thực hiện công việc trong vòng lặp; Và Stacked: Biểu đồ theo trạng thái công việc. QUẢN DỰ ÁN PHẦN MỀM Nhóm 6-K18CNPM 10 Hình 7: Theo dõi tiến độ vòng lặp Một dạng giám sát tiếp theo là theo dõi trạng thái của từng công việc cụ thể. Hình 8 là biểu đồ theo dõi story theo 4 trạng thái. Căn cứ biểu đồ này, chúng ta có thể biết được những công việc nào đang thực hiện, đã thực hiện để có thể phân bổ nhân lực một cách hợp lý. Hình 8: Theo dõi công việc trong vòng lặp theo trạng thái Story

Ngày đăng: 14/12/2013, 15:02

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan