GIỚI THIỆU VỀ TARGETPROCESS1.Giới thiệu: TargetProcess là một phần mềm công cụ để quản lý việc phát triển phần mềm theo phương pháp luận Agile.. Với TargetProcess, bạn có thể áp dụng để
Trang 1ĐẠ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
CHỦ ĐỀ TÌM HIỂU TARGETPROCESS
Giảng viên: Phạm Ngọc Hùng
Trương Anh Hoàng Học viên: Nguyễn Ngọc Hà
Trần Nghi Phú
Hà Quang Hồng Phạm Hồng Trang Nguyễn Đức Bình
HÀ NỘI, 12 – 2012
Trang 2MỤC LỤC
1.Giới thiệu: 4
1.2 Kanban: 8
1.3 Quy trình tự thiết lập: 8
2 Cài đặt: 9
3 Áp dụng công cụ TargetProcess 11
3.1 Giới thiệu dự án: 11
3.2 Cấu hình TargetProcess để quản lý dự án theo khung Scrum 11
3.3 Giả lập quản lý dự án bằng TargetProcess 12
3.3.1 Khởi tạo dự án: 12
3.1.2 Khởi tạo nhân sự tham gia dự án: 13
3.1.3 Khởi tạo Product Backlog: 15
3.1.4 Thiết lập các sprint 16
3.1.5 Kế hoạch đưa ra bản phát hành 18
3.1.7 Báo cáo theo dõi 18
4 Kết luận: 19
Trang 3DANH MỤC HÌNH VẼ
Hình 1: Các thành phần trong TargetProcess 4
Hình 2: Khung làm việc agile với TargetProcess 5
Hình 3: Task Board 6
Hình 4: Release Plan 7
Hình 5: Burn Down Chart 7
Hình 6: Mô tả khung làm việc agile với Kanban 8
Hình 7: Mô tả khung làm việc agile với Quy trình tự thiết lập 9
Hình 8: Công cụ GitHub 11
Hình 9: Màn hình đăng nhập 12
Hình 10: Màn hình tạo dự án 13
Hình 11: Danh sách nhân sự 14
Hình 12 : Danh sách nhân sự tham gia dự án 14
Hình 13: Danh sách User Story trong Product Backlog 15
Hình 14: Danh sách các Sprint 16
Hình 15: Danh sách kế hoạch công việc trong Sprint 17
Hình 16: Task Board 17
Hình 17 : Release Plan 18
Hình 18 : 02 báo cáo TargetProcess thiết lập sẵn 18
Trang 4GIỚI THIỆU VỀ TARGETPROCESS
1.Giới thiệu:
TargetProcess là một phần mềm công cụ để quản lý việc phát triển phần mềm theo phương pháp luận Agile Với TargetProcess, bạn có thể áp dụng để quản
lý việc phát triển phần mềm theo các khung làm việc của agile như scrum, kanban hoặc là theo luồng tiến trình của riêng bạn
TargetProcess được thiết kế trên nền web, thao tác trực quan kéo thả, màu sắc hài hòa, icon đẹp, … giúp sản phầm thân thiện với người sử dụng
Cấu trúc của các đơn vị của TargetProcess: Bạn có thể có Projects, Releases
và Iterations Sau đó, bạn có thể tạo ra Features và chia chúng thành các User
Stories rồi đến Tasks.
Hình 1: Các thành phần trong TargetProcess.
Trang 51.1 Scrum
Là một trong các khung làm việc linh hoạt phổ biến nhất hiện nay được dùng trong phát triển các sản phẩm phần mềm từ đơn giản đến phức tạp Được phát triển bởi Ken Schwaber và Jeff Sutherland từ đầu những năm 1990, Scrum đã dần dần trở thành phương pháp làm việc và quản lí “tiêu chuẩn” của những người thực hành phát triển phần mềm linh hoạt (agile software development)
Hình 2: Khung làm việc agile với TargetProcess.
Như hình vẽ, Scrum bắt đầu với tạo Product Backlog – là nơi xác định mọi
thứ cần phải được thực hiện bởi nhóm phát triển và theo thứ tự ưu tiên Product Backlog tồn tại và thay đổi trong suốt vòng đời của sản phẩm Product Backlog nên
rõ ràng, mạch lạc và bền vững Các User stories thường được dùng để mô tả các
hạng mục về giá trị của chúng
Trái tim của Scrum chính là Sprint, một khung thời gian (time-box) có thời gian một tháng hoặc ngắn hơn để tạo ra các phần tăng trưởng của sản phẩm có thể phát hành được Sprint có khoảng thời gian nhất quán trong suốt quá trình phát triển Một Sprint mới bắt đầu ngay khi Sprint trước khép lại
Sprint chứa và bao gồm một cuộc Họp Kế hoạch Sprint (Sprint Planning Meeting), các cuộc Họp Scrum hằng ngày (Daily Scrum), một buổi Sơ kết Sprint
Trang 6(Sprint Review), và một buổi họp Cải tiến Sprint (Sprint Retrospective) Trong suốt Sprint:
- Không cho phép bất kì sự thay đổi nào ảnh hưởng đến Mục tiêu Sprint (Sprint Goal);
- Thành phần Nhóm Phát triển được giữ nguyên;
- Mục tiêu chất lượng không được cắt giảm;
- Phạm vi có thể được làm rõ và tái thương lượng giữa Product Owner và Nhóm Phát triển
Mỗi Sprint có thể được coi như một tiểu dự án với độ dài một tháng Giống như dự án, Sprint được dùng để hoàn tất điều gì đó Mỗi Sprint có một định nghĩa
về việc phải xây dựng cái gì, một bản thiết kế và bản kế hoạch linh hoạt sẽ hướng dẫn quá trình xây dựng đó, các công việc cần làm, và sản phẩm của quá trình đó
Một số thuật ngữ:
Product Backlog: là một danh sách ưu tiên của các yêu cầu với thời gian
ước tính để biến chúng thành các tính năng hoàn chỉnh của sản phẩm Các hạng mục được ưu tiên hơn trong Product Backlog được ước lượng cẩn thận hơn, và thường chính xác hơn các phần khác Danh sách này có thể thay đổi khi có sự thay đổi trong điều kiện kinh doanh hoặc công nghệ
Daily meetings: Một cuộc họp ngắn được tổ chức hàng ngày của mỗi Nhóm
Phát triển, trong thời gian đó các thành viên của nhóm kiểm tra công việc của họ, đồng bộ hóa công việc và tiến độ của mình và báo cáo các vấn đề để giải quyết Nhóm và Scrum Master có thể phải tiến hành các hoạt động tiếp theo Daily Scrum
để thích ứng với công việc sắp tới và tối tưu hóa Sprint
Release: Là sản phẩm với chức năng theo yêu cầu của chủ sản phẩm, có khả năng bán ra thị trường hay chuyển tới người dùng.
Done: Định nghĩa về sự hoàn thành (Done Definition - Định nghĩa Hoàn
thành) được đồng thuận giữa tất cả các bên và phù hợp với tiêu chuẩn, quy ước của
tổ chức cũng như các chỉ dẫn khác Khi một công việc được ghi nhận là "Done" tại cuộc họp Sơ kết Sprint , nó phải phù hợp với định nghĩa về sự hoàn thành này
Task Board (Bảng thông báo công việc): là trung tâm của bất kỳ nhóm
Scrum Chúng ta sẽ sử dụng nó mỗi ngày để theo dõi tiến độ, phân công công việc,
Trang 7điều hành cuộc họp hàng ngày và cập nhật các nhiệm vụ Khuyến cáo nên thiết lập
một màn hình TV lớn với Task Board như một bảng thông báo.
Hình 3: Task Board.
Release Plan: giúp chúng ta có cái nhìn về một bức tranh toàn cảnh về các
bản phát hành theo thời gian với màn hình này Sử dụng lộ trình của bạn để lập kế hoạch của các phát hành cho các nhiều dự án, thiết lập mốc quan trọng và kiểm soát phạm vi của bản phát hành tương lai Kế hoạch phát hành cho phép bạn theo dõi tiến bộ cho phát hành hiện tại
Hình 4: Release Plan.
Burn Down Chart: là biểu đồ thể hiện xu hướng của công việc còn lại theo
thời gian trong một Sprint, một bản phát hành (Release), hoặc sản phẩm Dữ liệu cho Biểu đồ Burndown được lấy từ Sprint Backlog và Product Backlog, với công việc còn lại được theo dõi trên trục tung và khoảng thời gian (các ngày trong một
Trang 8Sprint, hoặc nhiều Sprint) theo dõi trên trục hoành Biểu đồ Burndown được dùng cho Bản phát hành (khi đó gọi là Release Burndown) hoặc cho Sprint (gọi là Sprint Burndown)
Hình 5: Burn Down Chart.
1.2 Kanban:
Là một phương pháp để phát triển sản phẩm phần mềm và quy trình với trọng tâm là việc giới hạn WIP (work in process - số công việc thực hiện đồng thời), trực quan hóa (Visualise)
Trang 9Hình 6: Mô tả khung làm việc agile với Kanban.
1.3 Quy trình tự thiết lập:
Hình 7: Mô tả khung làm việc agile với Quy trình tự thiết lập.
2 Cài đặt:
Để sử dụng Targetprocess nhà cung cấp đưa ra 02 lựa chọn: Sử dụng trực tuyến tại site nhà cung cấp và sử dụng Targetprocess cài đặt trực tiếp trên server của người sử dụng
Với lựa chọn sử dụng trực tuyến tại site nhà cung cấp có 03 gói:
Phiên bản Light là $9/user/năm
Phiên bản Pro là $25/user/năm
Phiên bản Free là miễn phí
Chi phí sử dụng Targetprocess cài đặt trên server: $249/user
Yêu cầu cài đặt Targetprocess:
Máy chủ:
Windows 2000/ 2003/ XPPro /Visa/2008
MSSQL 2005/2008 Server hoặc MSSQL 2005/2008 Express
Internet Information Server (IIS 5 hoặc higher)
NETframework 3.5 Service Pack 1
Trang 10Phần cứng:
CPU: tối thiểu 2 GHz
Memory: tối thiểu 1GB
HDD: tối thiểu 2 GB(phụ thuộc vào kích thước dữ liệu)
Khuyến cáo cáo
Số người dùng Máy chủ
1-50 01 máy chủ CSDL cài đặt trên cùng máy chủ 50+ 01 máy chủ ứng dụng + 01 máy CSDL
Cấu hình: CPU Intel Core 2 Duo E6300, AMD Athlon 64 X2 4200+ (hoặc hơn), RAM 2GB
Client:
Internet Explorer 7+
FireFox 3+
Safari 3+
Google Chrome.
Trang 113 Áp dụng công cụ TargetProcess.
3.1 Giới thiệu dự án:
Chúng tôi lấy bối cảnh là một Dự án làm phần mềm Quản lý câu hỏi trắc nghiệm tiếng Anh, nó đang thực hiện bởi các bạn sinh viên khóa 56, khoa CNTT – Trường Đại học Công Nghệ, Đại học Quốc gia HN Tài liệu liên quan đến dự án được quản lý bởi công cụ GitHub
Hình 8: Công cụ GitHub.
3.2 Cấu hình TargetProcess để quản lý dự án theo khung Scrum.
Trong bài thực hành Quản lý Dự án phần mềm của mình, chúng tôi chọn một công cụ phần mềm sử dụng công nghệ điện toán đám mây - dịch vụ phần mềm được cung cấp trên internet để làm việc
Thông tin dịch vụ (để sử dụng thử cần đăng ký với nhà cung cấp tại site):
Địa chỉ: http://hoatrang.tpondemand.com Tài khoản administrator : tên đăng nhâp “trangph”, mật khẩu: “123”
Với TargetProcess, mỗi thành viên tham gia dự án sẽ được cấp một tài khoản truy cập được phân quyền phù hợp với vai trò trong dự án (Developer, QA Engineer…)
Trang 12Hình 9: Màn hình đăng nhập.
Thiết lập TargetProcess với:
Thiết lập cá nhân: thông tin hiển thị trên màn hình, hỗ trợ đổi tài khoản, thay đổi email nhận thông báo, thay đổi avatar
Thiết lập dự án: quản lý nhóm tham gia dự án, nhập user story từ tập tin, theo dõi nhật ký dự án…
Thiết lập hệ thống:chung (tên công ty, mức bảo mật…), quy trình làm việc các khái niệm ( mức Business Values, các trạng thái và luồng chuyển trạng thái, các vai trò trong đôi phát triển như Developer, QA Engineer…)
3.3 Giả lập quản lý dự án bằng TargetProcess.
3.3.1 Khởi tạo dự án:
Chọn Add\Project: Một form xuất hiện cho phép khai báo các thông tin về
dự án Khai báo tên dự án, các miêu tả cô đọng về dự án và ngày bắt đầu, ngày kết thúc của dự án Khai báo tiến trình (process) mà dự án sẽ làm việc theo
Trang 13Hình 10: Màn hình tạo dự án.
Chú ý: Do chúng ta sử dụng khung phát triển Scrum nên trường Process ta chọn
mục Scrum (là process được tạo mặc định cho khung phát triển Scrum Ta có thể tùy chỉnh trong mục Setting)
3.1.2 Khởi tạo nhân sự tham gia dự án:
Để tạo nhân sự (tương đương với một tài khoản truy cập) ta chọn Add/User Sau đó nhập chi tiết các thông tin về nhân sự như: tên đầy đủ, tên đăng nhập, mật khẩu, vai trò trong dự án (Developer, QA Engineer…), số giờ tham gia, danh sách
dự án tham gia…
.
Trang 14Hình 11: Danh sách nhân sự.
Để quản lý nhân sự tham gia “Dự án phần mềm Quản lý câu hỏi trắc nghiệm
tiếng Anh” Ta vào Setting / Team để quản lý.
Hình 12 : Danh sách nhân sự tham gia dự án.
Trang 153.1.3 Khởi tạo Product Backlog:
Với TargetProcess thì Product Backlog bao gồm:các user story với icon và các bug với icon Để tạo user story ta chọn add/ user story, tạo bug tạo chọn
add /bug Sau đó ta nhập các thông tin mô tả gồm:
Tên: mô tả ngắn gọn về yêu cầu
Mô tả: chi tiết về yêu cầu
Trạng thái: theo thiết lập gồm 04 trạng thái (Open, In process, In Testing, Done)
Giá trị kinh doanh: theo thiết lập gồm 05 mức (Must Have, Great,Good, Average, Nice To Have)
Thuộc Feature nào Khái niệm Feature chỉ một yêu cầu ở mức trừu tượng cao (ví dụ: tích hợp vào facebook…) Feature sau khi xem xét cụ thể sẽ
được phân thành các user story.
Gán cho ai thực hiện và thời gian ước lượng là bao nhiêu
Hình 13: Danh sách User Story trong Product Backlog.
Chú ý: Đây chỉ là Product Backlog chụp mang tính thời điểm vì Product Backlog sẽ
không cố định mà sẽ liên tục được bổ sung và sửa chữa để đảm bảo tính linh hoạt, tính thích nghi… của phần mềm
3.1.4 Thiết lập các sprint
Lựa chọn các item trong Product Backlog cho các vòng lặp mỗi Sprint Cụ
thể với dự án để đưa ra bản phát hành 1.0 Ta sẽ thực hiện các 02 Sprint (xem hình dưới)
Trang 16Hình 14: Danh sách các Sprint.
Một phần quan trọng của khung phát triển Scrum là cuộc họp Sprint Plan được tổ chức khi bắt đầu mỗi Sprint Cuộc họp gồm 2 phần: 1 – xem xét các hạng mục muốn triển khai các trong Sprint này (việc thảo luận với Product Ower sẽ giúp nhóm phát triển hiểu thấu đáo các yêu cầu) và đưa ra “định nghĩa hoàn thành” của các hạng mục, 2- Tập trung vào việc lập kế hoạch công việc chi tiết để làm thế nào triển khai các hạng mục đã được quyết định ở phần 1 của cuộc họp (Cụ thể trong TargetProcess sẽ việc lập kế hoạch các task trong User Story)
Hình 15: Danh sách kế hoạch công việc trong Sprint.
Task Board sử dụng nó mỗi ngày để theo dõi tiến độ, phân công công việc, điều hành cuộc họp hàng ngày và cập nhật các nhiệm vụ
Trang 17Hình 16: Task Board.
3.1.5 Kế hoạch đưa ra bản phát hành
Cho phép lập lịch các bản phát hành (gồm các user story nào, thời gian bao lâu ) với giao diện kéo thả và màu sắc khác nhau (để giúp người dùng biết được user story đã xong, cái nào quá hạn)
Hình 17 : Release Plan
3.1.7 Báo cáo theo dõi.
Một số báo cáo có sẵn tron TargetProcess giúp theo dõi tiến độ của việc phát
triển phần mềm theo khung Scrum như Progress Summary, Release Burn Down,
Trang 18Cumulative Flow Ngoài ra, TargetProcess còn hỗ trợ ta xây dựng các báo cáo theo
yêu cầu với giao diện kéo thể dễ dàng
Một số báo cáo về dự án demo:
Hình 18 : 02 báo cáo TargetProcess thiết lập sẵn.
4 Kết luận:
Bài báo cáo demo còn nhiều thiếu sót Vì đây là công cụ để quản lý dự án theo phương pháp Aglie Nên việc demo thiết lập sẵn không phản ánh được hiệu quả cũng như sát với tình hình thực tế của dự án Ngoài ra, dự án nhóm chọn thì các bạn sinh viên vẫn chưa triển khai được nhiều nên thiếu dữ liệu để thiết lập
Xin trân thành cảm ơn!