2014/06/18

Jira's basic definitions (​Một số khái niệm trong Jira)

Issues
Được gọi là "ticket" trong Redmine. Issue là một công việc phải làm. Ví dụ về issue là: lỗi phần mềm, công việc cụ thể của dự án, ticket hỗ trợ người dùng cuối, form xin nghỉ. Issue là đơn vị công việc nhỏ nhất.

Project
Project (dự án) là một tập hợp các issue nhằm giải quyết một mục đích nào đó. Một Issue phải thuộc một dự án nào đó. Ví dụ về Project:
    a software development project
    a marketing campaign
    a helpdesk system
    a leave request management system
    a website enhancement request system

Components

Là tập các issue được gộp lại theo một logic nào đó. Một Project có thể chứa nhiều Component tùy vào cách tổ chức thông tin. Ví dụ về Component:
 'Documentation', 'Backend', 'Email Subsystem', 'GUI'.
Version
Version (phiên bản) là cách đánh số phần mềm phát triển. Ví dụ về version: 1.0, 1.1, 1.2.0, 1.2.1.3.

Workflow
Worklow (luồng) là tập các trạng thái và sự di chuyển giữa các trạng thái đó.

Status
Status (trạng thái) của một Issue cho biết Issue đó đang được xử lý ở mức nào. Vòng đời cơ bản một Issue trải qua các trạng thái: 1) Open (mới được tạo ra) 2) In Progress (đang làm) 3) Resolved (đã làm xong) và 4) Closed (được cấp trên xác nhận sự hoàn thành).

Tham khảo:
https://confluence.atlassian.com/display/JIRA/Defining+a+Component
https://confluence.atlassian.com/display/JIRA/What+is+a+Project
https://confluence.atlassian.com/display/JIRA/What+is+Workflow



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

2014/06/17

(High level) progress management with Redmine

​Background:
- Product owner, sales person, C-level muốn theo dõi tiến độ dự án bằng Redmine giống như MS Project
- Cần trả lời câu hỏi cho khách hàng: Dự án đã hoàn thành bao nhiêu % chức năng, chạy được bao nhiêu thời gian, đã chi bao nhiêu tiền? (xem thêm: Earned Value)

Hiện trạng:
- Lập trình viên cứ tạo task, code và làm. Họ chỉ nhìn thấy cây mà không nhìn thấy rừng, chỉ thấy từng task mà không thấy tiến độ tổng thể
- Khách hàng và người quản lý muốn biết tiến độ ở mức high level

Kịch bản:

(Để đơn giản, giả sử có) Một dự án gồm 10 module nhỏ và việc thực hiện mỗi module gồm các công đoạn: requirement study, design, coding, unit test (4 công đoạn). Như vậy, số lượng công việc chính bao gồm 10 modules x 4 công đoạn = 40 đầu việc. Ngoài 40 đầu việc chính ra, còn có các gói công việc khác như: dịch thuật, quản lý, kiểm thử tích hợp, release, deploy, họp, báo cáo...

Một số khái niệm:

- Gantt chart
- Earned value management
- WBS, work package, (master) schedule

Một số giải pháp để đo tiến độ (dùng để báo cáo với khách hàng):

1. Redmine EVM (Earned value management)
http://www.redmine.org/plugins/redmine_evm
"This plugin generates line graphical indicators, per Project and open Versions, used in EVM (Earned-Value Management). It shows actual cost (hours reported in log time), planned value (estimated hours indicated in new issue), and earned value distributed in weeks / years."

2. Sử dụng burndown chart - tính lượng công việc còn lại cần để hoàn thành dự án (cách tiếp cận ngược so với EVM).
http://www.redmine.org/projects/redmine/wiki/PluginCharts
http://www.redmine.org/plugins/version-burndown-charts

3. Import MS project → Redmine.
http://www.redmine.org/plugins/redmine-msp-sync
Hướng dẫn sử dụng: Tạo master plan bằng MS Project, sau đó import plan này vào Redmine. Một cách đơn giản để theo dõi tiến độ là track tiến độ của các work package (được tạo bằng MS Project và imported vào Redmine). Tùy theo nhu cầu, có thể track tiến độ ở mức 1.x, 1.1.x , 1.1.1.x (trong WBS)
 
3. Tạo riêng một tracker trong Redmine có tên là "Master Progress" với các task là module, hoặc module x công đoạn. Với cách làm thủ công này, project manager chỉ cần nhận báo cáo tiến độ từ thành viên, ghi vào các task với tracker đó, export gantt chart và báo cáo khách hàng.

Một số điều kiện cần để theo dõi/quản lý tiến độ tốt hơn:
- Roadmap rõ ràng (ở mức high level) (từ đầu đến cuối dự án)
- Quản lý backlog, change request tốt (phần mờ, đã không có trong master plan khi dự án mới start)
- Plan cho từng sprint rõ ràng
- Kết quả công việc của từng sprint rõ ràng

Ví dụ về Redmine Monitor & Control plugin Dashboard
https://www.flickr.com/photos/vuhung/10190749665/
https://www.flickr.com/photos/vuhung/10190839023/in/photostream/
https://www.flickr.com/photos/vuhung/10190784896/in/photostream/


--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

2014/06/12

HippyVM: Facebook's HHVM

​HippyVM (viết bằng Python, dùng PyPy = sặc) on average is 7.3x faster than stock PHP and 2x faster than Facebook's HHVM. http://hippyvm.com/#performance



--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.

Xu hướng Mùa hè Sáng tạo 2009 - 2014

2014/06/08

phabricator - command line interface and http json api rock

http://phabricator.org/ là một project/task/source code management system hỗ trợ CLI (command line interface), hiếm. Thử cài và chạy lệnh arc (arcanist). Ngoài ra conduit (cung cấp HTTP JSON API) cũng cool, nhẹ nhàng cho tích hợp.​


​Chức năng review code tiện, nhưng chưa hẳn là đặc biệt.

Authorization - phân quyền cho người này, người kia (không) xem được code khá tiện.

phabricator built bằng PHP, không thích lắm.

Apache 2.0 license thoải mái cho doanh nghiệp.

--
Best Regards,
Nguyen Hung Vu [aka: NVH] (in Vietnamese: Nguyễn Vũ Hưng, グェン ヒュン ウー, 阮武興)
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16plus, twitter: vuhung, MSN: vuhung16.
vuhung's facebook  Nguyễn Vũ Hưng's blog on Free and Open Source, Blog tiếng Nhật, Vietnamese LibreOffice, Mozilla & Firefox tiếng Việt

Disclaimer: When posted to social networking groups include, but not limited to Linux Users' Groups, Free and Open Sources forums, mailing lists, the above is my personal opinion and is *not* the opinion of my employer(s), associations and/or groups I join.