new icn messageflickr-free-ic3d pan white
TiDD: No ticket, no commit | by Nguyen Vu Hung (vuhung)
Back to photostream

TiDD: No ticket, no commit

TiDD là gì?

Ticket-Driven Development.

 

Ai phát triển TiDD

Một bác Nhật xây dựng và đặt tên cách quản lý dựa trên ticket, lấy ticket làm trung tâm là là TiDD.

 

Khởi nguồn của TiDD

Tác giả của TiDD dùng Redmine, là task management tool để phát triển dự án phần mềm.

 

"No Ticket, No Commit"

Đây là nguyên tắc cơ bản của TiDD.

Phải có ticket trước thì mới commit.

Một commit phải tương ứng với một ticket nào đó.

Ticket này là yêu cầu công việc, là lý do mà một developers commit mã nguồn của anh ta.

 

Vì sao cần "No Ticket, No Commit"

Để biết vì sao, ta làm cái gì.

Để biết DoD (Definition of Done) ra sao

Để mọi người hiểu được công việc rõ ràng hơn (không chỉ developers)

 

Có ticket nào không tương ứng với commit?

Có, những task không liên quan đến mã nguồn như hỗ trợ khách hàng, tìm hiểu.

Không. Nếu hiểu "commit" rộng hơn nghĩa "commit mã nguồn" và đối tượng của việc commit là "thay đổi một cái gì đó của hệ thống".

Hiểu rộng hơn, "cái gì đó" ở đây là "configuration" (như trong CM: Configuration Management".

 

"Cấu hình" là gì?

Cấu hình (Configuration) bao gồm mã nguồn, tài liệu, cấu hình hệ thống, máy chủ, server...

Việc chỉnh sửa cấu hình là việc của những người liên quan đến dự án.

Việc chỉnh sửa mã nguồn (một loại cấu hình) là việc chính của developers.

Việc chỉnh sửa các cấu hình khác thuộc về thành viên dự án, ví dụ: Chỉnh sửa file ảnh, chỉnh sửa tài liệu hướng dẫn sử dụng, sử dụng tài liệu thiết kế hệ thống.

 

Quản lý cấu hình thế nào?

Một cách lý tưởng, mọi thứ (cấu hình) được quản lý trong một hệ thống có hỗ trợ version (Version Control System: VCS).

SCCS (Source code Control System) là công cụ quản lý mã nguồn.

 

Một số biểu hiện không tuân theo TiDD

Developers tự nhiên commit, không rõ lý do

Comment trong git trống không

Developers hotfix mà không hiểu vì sao

Thay đổi của hệ thống không được theo dõi (tracking)

Thông tin về quản lý hệ thống/phần mềm không thông suốt

Release Note không đủ, rõ ràng, phải làm bằng tay

 

Quan điểm về TiDD

Việc quản lý dự án lấy ticket làm trung tâm

Việc phân chia công việc và quản lý tiến độ dựa trên ticket

Không có ticket thì cấm commit

 

Quy định trong TiDD

*No Ticket, No Commit

 

Một số loại tickets

Bugs

Yêu cầu thay đổi

Phát triển chức năng mới

Phân tích tính khả thi của công nghệ mới

Tạo tài liệu thiết kế

Hãy release vào ngày 2017/01/01 với 30 yêu cầu có ticket ID như sau

 

TiDD đem lại điều tốt lành gì?

Ai, bao giờ, làm gì: đều track được từ ticket. Qua đó communication thông suốt hơn

Việc quản lý thay đổi của nội dung/yêu cầu công việc dễ dàng hơn (chỉ cần thay đổi ticket tương ứng)

Release dễ hơn

Test dễ hơn (dựa trên ticket)

Workflow của dự án tuân theo workflow của ticket, dễ nhìn hơn

  

​Tham khảo:

 

www.flickr.com/photos/vuhung/7508088100

ja.wikipedia.org/wiki/%E3%83%81%E3%82%B1%E3%83%83%E3%83%8...

forza.cocolog-nifty.com/blog/2011/09/no-ticket-no-co.html​

1,105 views
0 faves
0 comments
Taken on July 5, 2012