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.. Tại đây, danh sách công việc, yêu cầu đã được hoà
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -*** -
Môn học
QUẢN LÝ 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
Trang 2Mụ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 lý 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 lý 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
Trang 31 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
Trang 4Hì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 lý 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
lý 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 lý 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 lý 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 lý 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 lý 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 độ…
Trang 52.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 lý 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
Trang 62.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 lý yêu cầu
Việc quản lý yêu cầu của ScrumDo chia làm 2 loại: quản lý Epic và quản lý 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 lý yêu cầu
Hình 3: Quản lý 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 lý để có thể quản lý đượ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
Trang 7thự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 lý một Story của hệ thống kế toán
Để có thể quản lý đượ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 lý 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 lý 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 lý 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
Trang 8Hì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 đó
Trang 9Hì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 lý 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 lý 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
Trang 10Hì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ý
Trang 11ScrumDo lưu lại lịch sử thực hiện của toàn bộ dự án Ở Hình 9, phía trên cùng là một biểu đồ tổng thể của dự án, thể hiện phần trăm công việc đã thực hiện trên toàn bộ dự án Các biểu đồ tiếp theo chỉ ra tốc độ của từng vòng lặp đã và đang thực hiện theo ngày tháng Những dữ liệu lịch sử này
sẽ giúp ích rất nhiều cho các nhà quản lý trong việc lập kế hoạch vòng lặp, cũng như ước lượng nhân
sự để hoàn thành công việc
Hình 9: Theo dõi tổng thể lịch sử dự án
3 Một số chức năng nâng cao và tùy chọn hệ thống
3.1 Xuất khẩu dữ liệu
Xuất khẩu dự án: Dữ liệu của dự án được xuất khẩu ra excel bao gồm: Toàn bộ story, epic và
chi tiết của từng vòng lặp
Xuất khẩu vòng lặp: Toàn bộ story trong vòng lặp được xuất khẩu ra các kiểu file tùy chọn như
excel, CVS, XML Trong đó có chứa các thông tin chi tiết của từng story
3.2 Tùy chọn dự án (Project Admin)
Cách tính points của story: có 5 cách tính được đưa ra: Fibonacci, Modified Fibonacci,
Simplified, Natural, Shirt Sizes
Trang 12Trạng thái Story: ScrumDo cung cấp cho người dùng tùy chọn tối đa 10 trạng thái khác nhau
Trong đó, 4 trạng thái mặc định là bắt buộc
Cách thức tính tốc độ dự án: Tốc độ của dự án được tính dựa trên bao nhiêu vòng lặp
Lọc thông qua Categories: Mỗi loại dữ liệu trong ScrumDo như Project, Epic, Story hoặc Task
có thể được gắn Tag Sau đó, việc lọc theo những tag này giúp cho việc quản lý dễ dàng hơn
4 Kết quả thu được và đánh giá
Qua quá trình sử dụng công cụ ScrumDo, chúng tôi đã nắm được phương pháp phát triển phần mềm theo Agile: mô hình phát triển phần mềm theo Scrum Trong phương pháp này, khách hàng sẽ làm việc với nhóm phát triển trong suốt quá trình phát triển Sau mỗi giai đoạn phát triển nhanh, sản phẩm được tạo ra và một số tính năng khách hàng đã có thể sử dụng được Do đó, việc phản hồi của khách hàng về yêu cầu cải tiến, sửa đổi sẽ nhanh chóng gửi tới đội phát triển để có thể bổ sung, chỉnh sửa hệ thống trong các vòng lặp tiếp theo, tránh được tình trạng khi đã hoàn thành toàn bộ sản phẩm nhưng không đúng với yêu cầu khách hàng gây ảnh hưởng lớn tới dự án Danh sách yêu cầu và thời gian phát triển mỗi vòng lặp là cố định, vì vậy hạn chế được tối đa rủi ro về việc thay đổi, một vấn đề thường xuyên xảy ra với mô hình phát triển truyền thống
ScrumDo đáp ứng được hầu hết những công việc trong quản lý dự án phần mềm như: quản lý yêu cầu, lập kế hoạch vòng lặp, theo dõi và giám sát dự án, sử dụng dữ liệu lịch sử để hỗ trợ lập kế hoạch… Với việc triển khai trên mạng diện rộng, ScrumDo có thể được sử dụng bởi các đội dự án với nhiều thành viên ở nhiều nơi khác nhau Hơn nữa, nhà quản lý có thể theo dõi tình trạng của dự án ở bất kỳ đâu bằng cách truy cập thông qua scrumdo.com
Một điểm mạnh của ScrumDo là giao diện trực quan, đơn giản, dễ dàng để học và sử dụng Tuy nhiên, vẫn còn một số điểm hạn chế như: ScrumDo tập trung chủ yếu vào vấn đề quản lý yêu cầu mà không chú trọng vào các Task, thời gian ước lượng cũng như thời gian còn lại cho các công việc chưa được xem xét tới Tài liệu hóa các yêu cầu trong dự án cũng là một điểm chưa thật tốt của ScrumDo
5 Tài liệu tham khảo
- Website http://www.scrumdo.com/
- http://support.scrumdo.com/kb/faq/how-to-videos