Do you document your failures for R&D?

Last updated by Brady Stroud [SSW] about 1 year ago.See history

Australian R&D laws require you to show the separate attempts you make when developing a feature that counts towards R&D.

For this reason, you should make sure to commit in between every attempt you make even if it does not have the desired affect to record the history of experimentation.

Example scenario

A developer is improving load times while migrating an MVC app to Angular. They create a new feature branch and begin development on their local machine.

Once they are done the developer commits all the changes they made and push it the remote repository. Using this method, the developer loses the history of experimentation and it will be difficult to prove for R&D.

single commit not showing experimentation 2
Figure: Bad example - Only the final solution is committed. Experimentation history not recorded

For the same scenario the developer makes sure to commit every separate attempt to reduce load times for their web application. This way, everybody knows what kinds of experimentation was done to solve this problem.

commit failed experiments
Figure: Good example - Each attempt has a new commit and is not lost when retrieving history

Save failed experiments using abandoned pull requests

Assume you are creating a cool new feature. First you will create a new branch, create some commits, check it works, and submit a pull request. However, if you are not happy with the feature then don’t just delete the branch as normal. Instead, create a pull request anyway and set the status to Abandoned. Now, you can continue to delete your branch as normal.

This makes sure that we have a historical log of work completed, and still keeps a clean repository.

pr for feature branch
Figure: Good example - Setup pull request for feature branch so that we have a history of the commits

abandoned pr with deleted branch
Figure: Good example - PR is abandoned with a deleted branch


We open source.Loving SSW Rules? Star us on GitHub. Star
Stand by... we're migrating this site to TinaCMS