1.3 Các tính năng và lợi ích của mingle 1.3.1 Quản lý dự án Các nhóm có thể làm việc theo cách mà họ muốn với cấu hình XP, Scrum và các mẫu dự án có thể tùy chỉnh và thích ứng như cá
Trang 11
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÁO CÁO MÔN HỌC
“QUẢN LÝ DỰ ÁN PHẦN MỀM”
ÁN PHẦN MỀM MINGLE
Giảng viên : TS Trương Anh Hoàng
TS Phạm Ngọc Hùng Nhóm 03 : 1 Phạm Tuấn Anh
2 Đỗ Hoài Thương
3 Nguyễn Thị Hạnh
4 Nguyễn Thị Thuần
5 Lê Tất Hiếu
Hà Nội, 04 – 2013
Trang 22
MỤC LỤC
1 Tổng quan về phần mềm Mingle 3
1.1 Giới thiệu 3
1.2 Hướng dẫn cài đặt Mingle 3
1.3 Các tính năng và lợi ích của mingle 4
1.3.1 Quản lý dự án 4
1.3.2 Lập kế hoạch phát hành dự án (Project Release Planning) 4
1.3.3 Quản lý các yêu cầu dự án 4
1.3.4 Báo cáo và theo dõi dự án (Project Tracking & Reporting) 5
1.3.5 Hợp tác dự án (Project Collaboration) 5
1.4 Cách sử dụng các chức năng của mingle 5
1.4.1 Đăng nhập và đăng xuất 5
1.4.2 Cách tạo dự án Mingle 6
1.4.3 Làm việc với Mingle 8
1.4.3.1 Giới thiệu các tab khi làm việc với một project 8
1.4.3.2 Các chức năng trong tab “Project admin” 8
1.4.3.2.1 Project 9
1.4.3.2.2 Cards 9
1.4.3.2.3 Users 11
2 Giới thiệu về template Scrum 12
2.1 Giới thiệu Scrum 12
2.2 Quy trình scrum 13
3 Demo dự án “Quản lý bến xe Yên Nghĩa” theo quy trình scrum 14
3.1 Xác định Product Backlog 14
3.1.1 Xác định các Epic Story và các Story 14
3.1.2 Xác định Release 16
3.2 Xây dựng khung thời gian time-box Sprint 17
3.3 Xác định các task trong sprint backlog 17
4 Thực hiện dự án và ác cuộc họp 18
5 Tài liệu tham khảo 18
Trang 33
1 Tổng quan về phần mềm Mingle
1.1 Giới thiệu
Mingle là một ứng dụng quản lý dự án Agile từ ThoughtWorks Studios cho các nhóm cần phải thực hiện các quyết định thời gian thực bằng cách sử dụng dữ liệu thời gian thực Mingle cung cấp thông tin dự án và hỗ trợ tất cả các hoạt động nhóm
Hình 1: Một cái nhìn tổng quan về Mingle
Mingle cho phép các nhóm hợp tác với nhau một cách linh hoạt, thích nghi với nhiều quy trình quản lý như Scum, XP, phù hợp với hầu hết các dự án và tình huống khác nhau
1.2 Hướng dẫn cài đặt Mingle
Các bước cài đặt Mingle:
Bước 1: Tải các phần mềm liên quan về máy
Vmware-player (cho window hoặc linux):
http://www.vmware.com/products/player/
PostgreSQL 8.3 trở lên:
http://www.enterprisedb.com/products-services-training/pgdownload
Mingle_window_12_4_2_7c071be:
http://www.thoughtworks-studios.com/mingle-agile-project-management/download
Trang 44
Mingle_vmware_12_4_2_7c071be :
http://www.thoughtworks-studios.com/mingle-agile-project-management/vmware
Mingle_vmware_3_4_26113_4695e257b7b2 (tải về phải giải nén):
download01.thoughtworks.com/mingle/3.4.1/mingle_vmware_3_4_26113_4695e 257b7b2.tar.gz
Bước 2: Cài đặt postgreSQL
Bước 3: Cài đặt mingle_window
Cài đặt Vmware-player
Bước 4: Configure mingle
Khởi động máy ảo Vmware-player
Mở trình duyệt web theo địa chỉ IP được hiển thị trên màn hình máy ảo
Sau đó làm theo 8 bước hướng dẫn
Kết thúc 8 bước sẽ truy cập được vào mingle
1.3 Các tính năng và lợi ích của mingle
1.3.1 Quản lý dự án
Các nhóm có thể làm việc theo cách mà họ muốn (với cấu hình XP, Scrum và các mẫu dự án có thể tùy chỉnh) và thích ứng như các nhóm cần thiết
Đánh giá (xem xét) dữ liệu bất kỳ theo cách nào với các “card wall” đa chiều có thể tùy biến, các bảng nhiệm vụ và các biểu đồ
Quản lý và xác định các quy trình với các luồng công việc có thể cấu hình
1.3.2 Lập kế hoạch phát hành dự án (Project Release Planning)
Lập kế hoạch phát hành, các bước lặp và sự chạy nhanh bằng cách sử dụng các cây thẻ của Mingle (Mingle’s card trees)
Ưu tiên công việc bằng cách sử dụng kéo và thả xếp hạng thẻ
Đưa ra các quyết định đã được thông tin với các “card walls” đa chiều của Mingle
và các quan điểm tương tác
1.3.3 Quản lý các yêu cầu dự án
Quản lý các tính năng, những epic và những story bằng cách sử dụng các “card wall” và các “card tree” đa chiều
Xem cách làm việc được nhóm thông qua hệ thống phân cấp thẻ
Trang 55
Tìm kiếm với các công cụ cao cấp và lọc trên thẻ, các thuộc tính và các thẻ
Nắm bắt các yêu cầu, tiêu chuẩn chấp nhận và các thử nghiệm ở một nơi
1.3.4 Báo cáo và theo dõi dự án (Project Tracking & Reporting)
Các báo cáo và biểu đồ tùy chỉnh
Lúc xuống, lúc lên và các số liệu nhanh khác
Bộ lọc dữ liệu để xem thông tin ở các mức cụ thể
Theo các báo cáo, các biểu đồ lúc lên lúc xuống và các số liệu tốc độ
1.3.5 Hợp tác dự án (Project Collaboration)
Hỗ trợ các nhóm làm việc với nhau theo cách tốt nhất
Nắm bắt tất cả thông tin liên lạc với các Murmur (bình luận)
Gặp gỡ những thành viên trong nhóm đang làm việc thông qua các thông báo về nguồn cấp dữ liệu và email
Theo dõi hình ảnh hoàn chỉnh bằng cách xem các lịch sử thay đổi (change histories)
1.4 Cách sử dụng các chức năng của mingle
1.4.1 Đăng nhập và đăng xuất
Chúng ta phải đăng nhập vào Minlge trước khi có thể làm việc trên một dự án Quản trị dự án Mingle (hoặc người quản lý dự án) sẽ cung cấp cho chúng ta địa chỉ URL
để truy cập Mingle
Chú ý: Trước khi có thể đăng nhập vào Mingle, người dùng phải được tạo một tài
khoản (tài khoản sẽ được tạo trong quá trình cài đặt ở bước cấu hình hoặc quản trị Mingle phải thêm người dùng) Sau đó, trước khi có thể xem bất kỳ dự án nào, người quản trị dự
án phải thêm chúng ta như một thành viên trong nhóm dự án
Hình 2: Giao diện đăng nhập Minlge
Trang 66
Để đăng xuất khỏi Mingle, nhấp vào liên kết "Sign out" ở phía trên bên phải của trang
Hình 3: Giao diện đăng xuất Mingle
1.4.2 Cách tạo dự án Mingle
Trước khi nhóm có thể bắt đầu sử dụng Mingle, chúng ta phải tạo và cấu hình một
dự án Có thể tạo nhiều dự án Có ba cách để tạo dự án Minlge:
Cách 1: Tạo một project mới từ template
Bước 1: Chọn nút “New project”
Bước 2: Nhập thông tin về dự án cần tạo
Bước 3: Chọn nút “use an existing template”, sau đó chọn một template bất kỳ
Trang 77
Bước 4: Nhấn chọn nút “Create project”
Cách 2: Tạo một project mới từ đầu
Đối với cách 2 làm tương tự các bước như cách 1 nhưng bỏ qua bước 3: bước 1
>> bước 2 >> bước4
Cách 3: Tạo một project mới từ việc nhập các dự án có sẵn
Bước 1: Chọn nút “IMPORT PROJECT”
Bước 2: Chọn nút “Duyệt” để tìm đến đường dẫn chứa file cần import, sau đó nhấn nút “IMPORT PROJECT” hoặc nhấn nút “CANCEL” để hủy bỏ
Trang 88
1.4.3 Làm việc với Mingle
1.4.3.1 Giới thiệu các tab khi làm việc với một project
Khi tạo một dự án Mingle mới từ đầu, theo mặc định nó có các tab dưới đây đã được thiết lập:
Tab “Overview”: Đây là trang chủ hoặc bảng điều khiển dự án Nó là một trang Mingle wiki và là tab đầu tiên mà ta nhìn thấy sau khi đăng nhập
Tab “All”: Tab này cho phép chúng ta xem tất cả các thẻ trong Mingle Chúng ta
có thể lọc và sắp xếp theo các thuộc tính thẻ và tạo các mục yêu thích (favorites) dựa vào kết quả
Tab “History”: Tab này cho phép xem lại những gì đã xảy ra trong dự án và cho phép xem những thay đổi của các thẻ, các trang wiki và các file nguồn ứng dụng
Tab “Project admin”: Tab này cho phép quản lý các cài đặt (thiết lập) dự án, bao gồm các thành viên nhóm, các thuộc tính dự án và các mục yêu thích
Tab “Source”: Tab này cho phép xem kho lưu trữ nguồn, các phiên bản nguồn và những thay đổi giữa các phiên bản file nguồn (chỉ hiển thị nếu chúng ta có tích hợp cài đặt giữa Mingle và kho lưu trữ nguồn của nhóm)
Chúng ta có thể tạo ra các tab bổ sung dựa trên mục yêu thích hoặc các trang wiki Nếu một mục yêu thích không tồn tại thì ta có thể tạo nó đầu tiên Sau đó ta có thể tạo 1 tab từ “Project admin Favorites & tabs”
1.4.3.2 Các chức năng trong tab “Project admin”
Bước 1: Tạo một project mới
Bước 2: Tùy chỉnh project đã tạo: Vào thẻ Project admin >> Khi đó xuất hiện các menu sau:
Filter cards by…: Cho phép lọc tự động
“Filter” và lọc cao cấp “Advanced Filter”
giống như trong excel
Import/Export: Cho phép xuất dữ liệu
ra file excel “Export to Excel” và cho phép nhập dữ liệu từ excel vào mingle “Import from excel”
Trang 99
1.4.3.2.1 Project
1.4.3.2.2 Cards
Card types: Là các loại khác nhau của những điều mà ta muốn theo dõi trong một
dự án Các loại khác nhau của dự án sẽ thiết lập các loại thẻ của riêng nó Một dự án đơn thuần trong chế độ bảo trì có thể có rất nhiều loại thẻ khác nhau (bugs, issues, …) hơn là một dự án đang được phát triển tích cực Mỗi loại thẻ có thể có những thiết lập thuộc tính của riêng nó
Ví dụ: Một số card types
Khái niệm card: Một thẻ Mingle là một đại diện của tất
cả công việc mà ta muốn quản lý và theo dõi trong dự án Mỗi thẻ có một loại thẻ (a card type) xác định cấu trúc cho thẻ
Ví dụ: Dự án của chúng ta đang cần theo dõi các công việc như Story và Defect Khi đó mỗi story và mỗi defect là một thẻ Mingle cho phép ta cấu trúc dự án theo bất cứ cách nào mà ta muốn nên có thể sử dụng các thẻ để theo dõi các tính năng, các yêu cầu, các nhiệm vụ kỹ thuật, hoặc bất cứ loại công việc khác của ta có thể nghĩ ra
Thiết lập các thông tin của một project
Thiết lập tích hợp kho lưu trữ nguồn
Thiết lập thông tin trao đổi giữa các thành viên
Thiết lập biến dự án
Thiết lập xuất dự án
Thiết lập xuất dự án thành template
Thiết lập nâng cao dự án
Trang 1010
Card properties: Thẻ có các đơn vị cơ bản mà ta sử dụng để quản lý các dự án
trong Mingle Card properties là cách ta định nghĩa, phân loại, nhóm và quản lý các thẻ dựa trên luồng công việc của dự án Mỗi thuộc tính thẻ có một hoặc nhiều giá trị đại diện cho trạng thái hiện tại của thẻ
Ví dụ: Một số card properties
Card transitions: Quá trình chuyển đổi thẻ cho phép chúng ta xác định luồng
công việc của nhóm, và sử dụng quá trình chuyển đổi để chuyển tiếp làm việc tới các thành viên trong nhóm khác nhau ở các giai đoạn khác nhau của vòng đời dự án Quá trình chuyển đổi thẻ đặt đường dẫn trên thẻ phù hợp với các thuộc tính thẻ nhất định
Ví dụ: Thẻ (ở hình bên dưới) đang ở trạng thái Status là “In Development”, nhưng khi hoàn thành quá trình Devlopment thì sẽ được chuyển sang trạng thái tiếp theo Status
là “Ready for Testing”
Trang 1111
Card trees: Cho phép xác định một hệ thống các mối quan hệ cha-con giữa bất kỳ
loại thẻ nào Các mối quan hệ này có thể được xem dưới dạng đồ thị, như một hình cây hoặc hệ thống phân cấp, và các thẻ có thể được thêm vào hoặc di chuyển xung quanh khung nhìn cây một cách dễ dàng
Ví dụ: Hai card tree bên dưới xác định các mối quan hệ giữa các loại thẻ trong khung làm việc scrum
Card keywords: Là các từ, số hoặc ký tự mà Mingle dùng để tạo các liên kết tự
động trong các thẻ và các trang wiki Khi chúng ta đang chỉnh sửa một thẻ hoặc một trang wiki và ta thêm bất kỳ các từ khóa này, Mingle sẽ tự động chuyển đổi chúng thành các liên kết Ví dụ: một từ khóa thẻ “#” cho phép chúng ta nhập #123 để tạo 1 link nhanh tới thẻ 123
1.4.3.2.3 Users
Ví dụ về Team members:
Ví dụ về Groups:
a Release Tree Release > Sprint > Story > Task > Defect
b Story Tree Epic Story > Feature > Story
Thiết lập các thành viên trong dự án
Thiết lập các nhóm thành viên trong
dự án
Trang 1212
2 Giới thiệu về template Scrum
2.1 Giới thiệu Scrum
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 giữ được năng suất và sáng tạo để chuyển giao các sản phẩm
có giá trị cao nhất Scrum có các tính chất nhhẹ nhàng, dễ hiểu, và rất khó để tinh thông
Khung làm việc của Scrum: Khung làm việc Scrum bao gồm một “Nhóm
Scrum” với các vai trò được phân định rõ ràng, các sự kiện, các đồ nghề và các quy tắc Mỗi thành phần trong khung là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ông của Scrum
Hình 4: Khung làm việc Scrum
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:
tính minh bạch (transparency), sự thanh tra (inspection) và sự thích nghi (adaptation)
Ba vai trò của nhóm Scrum: Nhóm Scrum gồm có Nhóm phát triển, Product
Owner (PO), và Scrum Master Trong đó vai trò của các nhóm như sau:
Nhóm phát triển: Tự quản lý và tạo ra phần tăng trưởng “hoàn thành”
Product Owner: Tối ưu giá trị của sản phẩm và quản lý Product Backlog
Scrum Master: Quản lý tiến trình thực hành Scrum và tháo gỡ khó khăn (vai trò
như một người cố vấn và phải nắm rõ các vấn đề liên quan đến Scrum)
Các sự kiện Scrum bao gồm: Sprint, họp kế hoạch Sprint, họp Scrum hằng ngày,
Sơ kết Sprint, Họp Cải tiến Sprint
Họp kế hoạch Sprint: Thiết lập mục tiêu sprint và lựa chọn các việc cho Sprint, làm rõ cách để đạt được chúng
Scrum hàng ngày: Đồng bộ hóa công việc và cập nhật kế hoạch cùng tiến độ
Trang 1313
Sơ kết Sprint: Sơ kết về các việc đã hoàn thành trong Sprint và kiểm tra có đạt mục tiêu Sprint không
Họp cải tiến Sprint: Rà soát quy trình và tìm kiếm sự cải tiến
Sprint: Hành động để đạt được mục tiêu Sprint
Đồ nghề Scrum (Các công cụ Scrum): Các đồ nghề gồm có: Product Backlog,
Sprint Backlog và Biểu đồ Burndown
Product Backlog: Là danh sách ưu tiên mô tả các tính năng và kết quả của sản phẩm Có thể chỉnh sửa được
Sprint Backlog: Là danh sách công việc cần hoàn thành trong Sprint Được cập nhật hàng ngày
Biểu đồ Burndown: Hiển thị xu hướng về “thời gian còn lại để hoàn tất công
việc” Cho biết tiến độ hướng đến mục tiêu
Định nghĩa “hoàn thành”: Khi một hạng mục Product Backlog hoặc một Gói
tăng trưởng cho là “Hoàn thành”, mọi người phải hiểu rõ “Hoàn thành” như thế nghĩa là thế nào Mặc dù việc xác định rõ định nghĩa này hoàn toàn phụ thuộc vào từng nhóm Scrum, nhưng mọi thành viên phải chia sẻ chung một cách hiểu về việc hoàn thành một công việc, để đảm bảo tính minh bạch và thông suốt Đây chính là “Định nghĩa Hoàn thành” (Definition of Done) cho nhóm Scrum; nó được dùng để đánh giá khi nào công việc thực sự hoàn thành trên mỗi gói tăng trưởng của sản phẩm
2.2 Quy trình scrum
Quy trình Scrum gồm các bước sau:
Bước 1: Tạo một danh sách Product Backlog sắp xếp theo độ ưu tiên
Bước 2: Họp kế hoạch Sprint
Bước 3: Xây dựng một lịch trình Sprint Các hạng mục trong Product Backlog được gán (phân công) và chia nhỏ thành các nhiệm vụ riêng lẻ
Bước 4: Sprint bắt đầu và kéo dài từ 15-30 ngày Trong Sprint, không có các nhiệm vụ khác được thêm vào backlog
Bước 5: Daily Scrum (cuộc họp hàng ngày) bắt đầu khi sprint bắt đầu
Bước 6: Sơ kết sprint (Sprint Review)
Bước 7: Quy trình bắt đầu lại với một danh sách mới của các nhiệm vụ được ưu tiên trong Product Backlog
Trang 1414
Hình 5: Quy trình Scrum
3 Demo dự án “Quản lý bến xe Yên Nghĩa” theo quy trình scrum
Tên dự án: Quản lý bến xe Yên Nghĩa
Số thành viên: 05
Scrum team:
Product Owner: Nguyễn Thị Hạnh (user: hanh, password: honghanh)
Scrum Master: Lê Tất Hiếu (user: hieu, password: tathieu)
Development: Nguyễn Thị Thuần (user: thuan, password: dieuthuan), Đỗ Hoài Thương (user: thuong, password: hoaithuong), Phạm Tuấn Anh (user: tuananh, password: tuananh)
3.1 Xác định Product Backlog
Các Card Types: Epic Story, Story, Release, Task, Sprint, Feature, Defect
Các Card tree:
3.1.1 Xác định các Epic Story và các Story
Thêm thông tin nhân viên Sửa thông tin nhân viên Xóa thông tin nhân viên
Release Tree: Release > Sprint > Story > Task > Defect
Story Tree: Epic Story > Feature > Story