Вы находитесь на странице: 1из 8

CODE REVIEW

TOOL COMPARISON
Crucible and STASH for Guidewire DC

01/01/2015

Guidewire DC - Requirements
Developer should be able to create Code Review request post development and unit testing of a User

Story either:

Post commit to feature branch


Pre-commit to the feature branch

The review can be assigned to one or many associates within DC


The review should be private
The review should cover only the functionality developed by the respective developers
The code should not be checked-in into develop or release branch until code review is complete
There should an ability to set timelines for a particular code review to complete; which would depend on its
complexity
Ability to view reports consisting of :

Code reviews currently happening


Code reviews completed
Code reviews completed within stipulated timeline
Dashboard for tracking (for moderators and reviewers)
Committed code by users (at different time scales of the project)

Ability to integrate with GIT server or GIT STASH repos


Ability to mark comments as defects and severity
Ability to send reminders to the reviewers while approaching completion of stipulated timelines
Number of users - 100

These are basic requirements, but can be added upon

01/01/2015

Comparison Parameters

Web Interface
Post commit review
Pre commit review
Selective Reviews
Auto Review Creation
Command Line(CL) Review Creation
Workflow
Diff Files
Metrics Report (Activity Based,Timelines, Current/Expired reviews)
Email Notifications
Side by Side review
Code Commit Control
Review History Management
Knowledge Management
Platform Support (Windows/Linux)
JIRA Integration
Permission Management (Repo and Review)

01/01/2015

Tool Comparison
Parameters
Products

Web
Interface

Post
Commit
Review

PreCommit
Reviews

Selective
Reviews

Auto
Review
Creation

Easy
Workflow

Diff Files

Metrics
Reports

Email
Notificatio
ns

Side By
Side
Review

Code
Commit
Control

Review
History
Mgmt

Platform
Support
(WIN/Linux)

JIRA
Integration

Repo
Permission
Mgmt

Review
Permission
Mgmt

CL Review
Creation

Knowledge
Mgmt

Crucible
STASH

Parameters
Products
Crucible
STASH

Parameters
Products
Crucible

It is based on evaluation of the products. There could be changes as


evaluation progresses. Need to share with Tools Team for
concurrence

STASH

Full Support

Partial Support

No Support

01/01/2015

Tool Comparison - Findings


Parameters

STASH

Crucible

Post commit review

Once code is pushed into


Repo, its available for
review through Pull Request

Once FishEye scans for new code or on he


one which would be under review

Pre commit review

Not Available

Available using GIT patch. Helps when


development team is not experienced and
code should not be committed until
thoroughly reviewed. Iterative reviews are
possible. Can be attached to an existing
review on the same code base

Selective Reviews

Not Available

Can be done using Code Snippets

Auto Review Creation

Not Available

Available (Fisheye)

Command Line(CL) Review Creation

Not Available

Available (Python Script installation)

Workflow

Addresses. Does not have


Iterative reviews

Addresses all the requirements including


Iterative reviews

Diff Files

Built In

FishEye

Metrics Report (Activity Based ,


Timelines, Current/Expired reviews)

Not available

Available

01/01/2015

Tool Comparison - Findings


Parameters

STASH

Crucible

Code Commit Control

Code blocked once initiated for review.


Branch level permissions are required and
should be managed, to avoid everyone to
comment on the code. This is an additional
task and should be done carefully, as
STASH sits on top of GIT and has direct
access to repos hosted

Not available. But as its a separate


installation and does not run on GIT, is
overcome; as code cannot be pushed.
Additionally, permission are not required to
be put and is managed while creation of
Project Repos on FishEye

Review History Management

Primitive. There is no

Maintains the history , which can be


exported to Excel for future references

Permission Management (Repo and


Review)

Works great from Repo perspective.


During review permissions are required to
be managed well

Review level permission can be provided,


which makes the review private, unlike
case in STASH

Review Tracking

Not available

Review reminders and escalation feature


available

Cost

Would be one time investment

Would require to procure STASH and


Crucible licences in order to use Crucible
along with STASH

01/01/2015

To Sum Up
Crucible is a well established Code Review tool, which not only helps in managing and

tracking Code Reviews. Works pretty good in environment where Code Reviews are must
because of code complexity, multiple team dependencies, stronger urge for better code
quality and look out to build a knowledge repository for future to avoid code defects. Provides
out of the box governance framework for managing reviews. As per latest release, STASH

can be configured along with Crucible for Repo Management (could not test due to
environment shortcoming)
STASH has an advantage of Just In Time reviews(quick and simple), which is much informal,

but has limited tracking features. Its good in terms of not allowing the code getting reviewed
to be committed, but would mandate to apply governance on repo branches for better
management. One risk is, developer has to own or work with admin team for access . From
product roadmap perspective, STASH (as per forums), would introduce features currently it
lacks vis a vis Code Reviews. STASH is relatively newer product and is primarily focussed
only for GIT users

01/01/2015

Atlassian Important URLs - Comparison

FishEye Support Ending :


https://confluence.atlassian.com/display/FISHEYE/End+of+Support+Announcement+for+Internally+Managed+Repositories
https://confluence.atlassian.com/display/FISHEYE/Migration+guide+for+Git+internally+managed+repositories
Fisheye Integration with STASH
https://confluence.atlassian.com/display/FISHEYE/FishEye+3.4+release+notes
Do we need both Stash and Crucible
https://answers.atlassian.com/questions/265577/do-you-need-both-stash-and-crucible
Does FishEye require Stash? Does Stash require Fisheye? Can they be used together?
https://confluence.atlassian.com/display/STASH/Stash+FAQ#StashFAQQ:DoesFishEyerequireStash?DoesStashrequireFishEye?Cantheybeusedtogether?
Crucible and STASH Use Case
http://softwareproductionengineering.blogspot.co.uk/2014/03/code-review-tools-stash-versus-crucible.html

Вам также может понравиться