#493: Trac: add status 'please review'
------------------------+---------------------
Reporter: jblayloc | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: *general* | Version:
Resolution: | Keywords: INSPIRE
------------------------+---------------------
Changes (by simko):
* status: infoneeded_new => new
Comment:
(Sorry for getting to this one only now.)
Yes, peer review is a good thing, and it is happening right now in a
kind of less institutionalised or less visible manner, so it may be
good to put it more in evidence via Trac ticket status, especially for
geographically distributed teams such as ours.
@jlavik: Indeed, `in_merge` consists of a code review step and a
testing step and a system integration step, so it is encompassing
several QA activities. Therefore having separate `in_review` and
`in_merge` can be confusing in this respect, since the former is
almost always implicit in the latter. Maybe we can word things
differently somehow, e.g. to have //please review only// versus
//please review and merge// or something like that.
@jblayloc: I think it would lead to a contradiction to be both the
developer responsible for a ticket and to be able to reassign it to
somebody else for a review, since the reassigned ticket would
disappear from the tickets one owns, so to speak. We can either have
an `in_review` status but the developer would stay the ticket owner
and the reviewer would be perhaps just a tag. Or we can reassign the
ticket to the reviewer but then the ticket would disappear from
developer's ticket list unless we again tag it appropriately. I don't
think we can have several owners in Trac yet. So, in order to
reconcile these two needs, we shall probably have to play with the
keyword tags, or else invent plenty of statuses like
`in_review_by_erika`. Neither seems fully satisfactory.
I'd probably keep the ticket with the developer, plug `in_review` step
after the `in_work` step, and the reviewers would come and leave
comments in the free style in the ticket, and we'd keep the reviewer
name tagged like `reviewer:simko` in the ticket comment or something
like that. Moreover, in order not to make unnecessary ping-pong with
ticket updates and heavier ticket management, I'd still probably
promote the usage of other informal channels such as voice/chatroom to
ask people to review something. So John Doe would create a branch
that attacks a certain ticket, make a //please review// request that
would put the ticket status into `in_review`, and use chatroom to ask
Erika Mustermann to review the branch, and Erika would leave her
comments in the ticket, and let John Doe push the ticket to final
integration, or perhaps push it herself. Something like that.
@jblayloc: Also, you mention "if you're asked to review something, do
it". I would add "... or redirect to appropriate person". It would
not be economical to ask someone who is dealing with BibSched back-end
programming to review BibEdit jQuery code, to take an example. This
is why we have informal "module maintainers" who can best review code
contributed to a given module or on a given technical topic. In
practice, the peer review is naturally self-organising around
concerned people anyway, so it works out of the box like this already,
but it may be perhaps good to voice it explicitly here for the benefit
of larger Invenio developer community.
@jblayloc: Finally, you mention to have //please review// available
from `in_work`, `assigned` or `new` statuses. We can review only
something that was already (at least partially) implemented, hence it
would be applicable only for `in_work` status. Our current Trac
workflow uses a modification of the enterprise workflow:
[[http://trac.edgewall.org/raw-attachment/wiki/WorkFlow/Examples
/enterprise-workflow.medium.png]]
I'd plug the peer review step probably in the in_QA area in parallel
to, or before, the hitherto merge/integration step, and use a workflow
as suggested above in the John Doe and Erika Mustermann example.
(Unless we also investigate some other Trac add-ons or unofficial
hacks. For example, there are various peer review and code review
plugins for Trac, though I think these are typically suited for SVN
shared-push repository style of collaboration; moreover, line-based
code review interfaces may be quite heavier than informal voice/email
reviewing we have been doing so far.)
--
Ticket URL: <http://invenio-software.org/ticket/493#comment:6>
Invenio <http://invenio-software.org>