5

In a project we have a rather formal code review, which is currently done manually and documented in Excel sheets and Word docs.

We would like to improve the current code review process by integrating it into a Git workflow (utilizing tools like Bitbucket Server, which we already have, Gerrit, etc.).

The current idea is that each developer implements features and bugfixes and creates a pull request. This pull request is reviewed by other developers and then merged into our main development branch or not.

We would like to export all pull requests (which are now the code reviews) to formally document them in an offline document. This code review document is a delivery item for our customer.

Is this a feasible approach at all?

  • 3
    Your best bet is to ask Atlassian about this. We are not customer support for them. Also, requests for external resources are off-topic. – Bart van Ingen Schenau Jan 11 '16 at 11:38
  • 7
    Code review artifacts as customer deliverable!? It is said There are 2 things you never want to watch being made: laws and sausage. The corollary is "Never let your customer watch you make it" - Your reviews will turn into kabuki theater. The value as a learning tool and quality control will be utterly lost. You will be loading the gun that they put to your head. It will only result in endless explaining of technical details to someone who doesn't know schiess from shineola. Sounds like mgt. overhead with nothing to do. Is the customer the government? Sounds like them. – radarbob Jan 12 '16 at 4:28
  • Won't go into details, but these artifacts are required for certifications of the software. – Simon Jan 12 '16 at 7:31
  • 2
    I get that I guess. Why not the repository log as well? That's equally arbitrary and useless. Maybe they're doing an experiment to see if the Black Hole Information Paradox holds for software development. I think "delivery" would be the event horizon; that place beyond which we're not sure what the hell happens. – radarbob Jan 13 '16 at 4:05
  • Is this for an ISO 9001 cert? You know that Bitbucket itself counts as a document, right? – RubberDuck Sep 3 '16 at 0:21
1

You can take a look at Phabricator. It is a nice all-in-one software project management application which handles code reviews similar to what you described and does a lot more around software development.

I don't want to recommend a tool to you, but I want to show you what idea they have about code reviews, which I consider solid and practicable.

The entire development process within Phabricator is documented, not only code reviews, because it wires all information by using identifiers that get translated into links automatically and produce references with dates, times and users that are involved in actions.

Here is what a code review in Phabricator looks like (to address your question more specifically):

  1. Developer creates a new branch in local git repository and makes a commit with his changes.
  2. Developer starts arc diff to lint and test the changes and to create a code review (called "differential"). Some metadata can be added at this point.
  3. Phabricator receives the differential and makes it available to other developers in this project.
  4. Other developers can comment the changeset and annotate it. The author can update the differential.
  5. The reviewers can accept or reject the differential.
  6. The author can then abandon the differential or commit it (arc land).
  7. The repository receives the commit and wires it automatically with the differential. And the differential is also wired with the commit and/or the actions that lead to the result.

Phabricator is developed very quickly and is itself developed in an own public instance of Phabricator.

1

Bitbucket Server can certainly do this, it has REST APIs for extracting pull request data). If you want something more specific baked into the product then the plugin SDK is available to generate documents automatically.

As others have suggested, this might a good time to review what your customers need (or think they need) and what other ways that could be captured and delivered. It may be that you're already looking at the best available option, but there might be more streamlined alternatives that save you and them time/money.

Disclosure: I work for Atlassian

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.