#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>

Reply via email to