Crucible Workflow

We are evaluating Crucible right now, and I am running into some issues with the workflow built into the product.

Here is the workflow I would like:

  1. Author creates a code review
  2. Reviewers look over the code and comment or create defects
  3. Author replys to comments or fixes defects identified.
  4. Reviewers (or someone) confirms all defects and comments have been dealt with.
  5. Review is closed.

My issue comes with the steps 4 and 5. As far as I can tell there is no way to be sure the author acts upon the feedback from the review. I can't even find a good report that shows what defects were raised during the review. The software just seems to allow the review to be closed with issues left unresolved.

This is basically a show stopper, and seems like a pretty big issue. I am hoping that I am missing something in the software, or perhaps there is a different way to do things. How are other people using Crucible to make sure the feedback is not lost?

Thanks,

Shawn

[Side Note: Queries]

I have created a few reports that can assist us in getting the information we need, but this is really just a hack and not something I would like to use moving forward. You can see these below and they might help to understand the data I am looking for.

declare @reviewID integer
set @reviewID = 7  -- This would be set to the review you want details for

-- Get all comments that don't have a defect raised or reply
select u.cru_displayname, c.cru_message 
from cru_review r
inner join cru_comment c on r.cru_review_id = c.cru_review_id
left join cru_comment cr on cr.cru_reply_to_comment_id = c.cru_comment_id
inner join cru_user u on c.cru_user_id = u.cru_user_id
where c.cru_deleted = 0
and c.cru_defect_raised = 0
and cr.cru_comment_id is null
and r.cru_review_id = @reviewID



-- List all defects from a review
select u.cru_displayname, c.cru_message from cru_review r
inner join cru_comment c on r.cru_review_id = c.cru_review_id
inner join cru_user u on c.cru_user_id = u.cru_user_id
where c.cru_deleted = 0
and c.cru_defect_raised = 1
and r.cru_review_id = @reviewID

4 answers

1 accepted

3 votes
Accepted answer

Some additional points

If the reviewers have the practice to create Jira issue (directly from Crucible for the defects as explained here) and in the Jira project is setup in such a way that issues cannot be closed if there are blocking sub-tasks, then there is no chance that we miss any defect from getting corrected.

And like Seb says, finally it is the trust that matthers.

And this may help in getting out the metrics in a bit easier way for the ever changing requirements of management :) http://code.google.com/p/crucible-excel-dump/wiki/InstallationAndUsage

+1 for the tool pointer. I ended up modifying it a little as we are not using JIRA (conscious decission), but other than that it worked.

Good to know that :)

2 votes
Seb Ruiz Atlassian Team Apr 11, 2012

Hi Shawn,

Crucible does not have any mechanism to block workflow steps based on your requirements currently. However, here are some notes to keep in mind. The review Moderator could be setup to ensure that any review rework is carried out to his/her satisfaction. With the appropriate permission configuration, the Moderator could be the gatekeeper for closing reviews.

Within the FishEye/Crucible team we use an agile workflow where the review author is reponsible for actioning defects, and adding those changes back to the review so that the reviewers are able to confirm and check. However, this is not a process that is bound by any application logic - we trust that our devs are diligent enough to do this appropriately. One of our conventions is that all commits contain the JIRA issue key that is being worked on, and any review rework contains the Crucible review key in the message as well. This makes it easy to find code which is associated with issues and reviews.

With regards to defect metrics, the Crucible advanced comment search feature would allow you to find any defects for a review, author, project etc. Access this by going to the Crucible dashboard, then it's the last panel in the sidebar: https://skitch.com/sebruiz/81c2f/crucible-seb-ruizs-review-dashboard

You could also consider creating a simple Crucible plugin which does a more specific report.

Regards, and hope that helps

Seb

It appears that part of the problem is our Crucible installation isn't complete. We don't have the "Advanced Search" in the sidebar, or the linking to Jira (as Renjith mentions below). I think the next step is to contact Atlassian support and get some help.

Thanks to both of you for your comments, it definitely got me going in the right direction.

Shawn

Thanks John, that is exactly what I was doing wrong. Now to get the Jira integration working...

Make sure you are looking at the "Review Dashboard" (it will say "REview Dashboard" in the top left), not just the "Dashboard." You may have to click on Reviews in the top menu to get there.

This actually had me going for a little bit until I found the difference.

Would love some feedback on this. I am sure other people have figured out how to work around it. Maybe someone from Atlassian can chime in?

A client of mine was facing a similar problem, code reviews needed to be performed and audited for compliance reasons.

I created a plugin with stricter rules than those built into Crucible, it doesn't consider a complete unless it has reviewers who have marked it complete, even if it's closed in Crucible. Look for Flyover on marketplace.atlassian.com.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Wednesday in Jira

Make your Atlassian Cloud products more secure: our NEW admin security guide

Hey admins! I’m Dave, Principal Product Manager here at Atlassian working on our cloud platform and security products. Cloud security is a moving target. As you adopt more products, employees consta...

288 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you