Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add example effective dates to a standard #53

Merged
merged 3 commits into from
Sep 7, 2020

Conversation

Cruikshanks
Copy link
Member

Some of the PR's have include discussions about ensuring teams are not penalised because they are having to work with code bases that do not follow whatever is the current latest standard as defined here.

We have discussed manually versioning our standards. Concensus however was as we are using source control, manually applying a version seems an unnecessary burden. Another solution has been to use dates. This solution also fits in with one of our current principles for standards

...all standards must define the period of time that they are effective and how they have changed over time

The problem is we don't as yet have an actual example of how to go about this. Hence this proposed change to the Java coding standard, to demonstrate (and collaborate) on an approach that can then be retroactively applied to our existing standards, and used for any new ones in the future.

@Cruikshanks Cruikshanks added the enhancement New feature or request label Feb 10, 2020
@Cruikshanks Cruikshanks self-assigned this Feb 10, 2020
Some of the PR's have include discussions about ensuring teams are not penalised because they are having to work with code bases that do not follow whatever is the current latest standard as defined here.

We have discussed manually versioning our standards. Concensus however was as we are using source control, manually applying a version seems an unnecessary burden. Another solution has been to use dates. This solution also fits in with one of our current principles for standards

> ...all standards must define the period of time that they are effective and how they have changed over time

The problem is we don't as yet have an actual example of how to go about this. Hence this proposed change to the Java coding standard, to demonstrate (and collaborate) on an approach that can then be retroactively applied to our existing standards, and used for any new ones in the future.
@Cruikshanks Cruikshanks force-pushed the example-effective-dates-for-standards branch from 2e0f941 to 24c180d Compare February 10, 2020 13:02
@ben-sagar
Copy link
Contributor

Thank you for this - I was thinking along very similar lines.

Comment on lines 267 to 271
## Standard applied

This standard was first agreed on 10 Feb 2020.

This standard was last updated on 10 Feb 2020.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I'd agree with having something pretty much exactly like this.

I was wondering about:

  • having a heading of History or Status rather than Standard applied
  • using the word adopted or approved rather than agreed
  • for each change, having a quick not on what had been changed

So, something a bit like:

Status

10/02/2020 - This standard was formally adopted on 20 Feb 2020.

17/02/2020 - Updated to include adoption date.

24/02/2020 - Updated to cover other things we hadn't thought of.

24/02/2021 - Completely changed to use Standard X from our new friends at Oracle.

Or something along those lines.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Think Status as the heading is a good shout
  2. Think adopted is a much better term than agreed
  3. TBH I'm pretty against the idea of a summarised history. Whilst these documents are version-controlled it's a single click to open the history and see both the commit message and the actual changes all with the actual date they were made, and by whom. If you want that detail, its not much effort to drill in and find it. Whereas I think it adds reasonable effort plus more scope for forgetting to add the summary, or getting the info incorrect.

If anyone else sees this, please weigh in with a 👍 or 👎 on what you think.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with you.

I didn't word it well and my example didn't really convey what I wanted either!

What I'd like to have is some way of including a sort of "major" history in the standard, as and when people felt it was helpful as I think it could be a good idea to signpost people to go and look at the history.

But it definitely isn't required yet so we probably don't need to worry about it for now? (YAGNI)

I'm happy with:

Status

This standard was formally adopted on 20 Feb 2021.

And if we want something in the future then we can do this:

Status history

20/02/2020 - We defined our own internal standard based on industry best practice and our hands-on experience.
20/02/2021 - We decided to ditch that and just use the new standard that Oracle published instead.

But we don't necessarily need to discuss and agree that now.

Great suggestion by @bensagar-ea on how to improve the wording.
@Cruikshanks Cruikshanks marked this pull request as ready for review February 13, 2020 11:39
@Cruikshanks
Copy link
Member Author

Having got the initial nod that this was the kind of thing @bensagar-ea was thinking of when we talked about making dates visible I'm opening this up for review!

Copy link
Member

@irisfaraway irisfaraway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Contributor

@ben-sagar ben-sagar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@FalloutVaultBoy
Copy link

Looks good. I approve.

@ben-sagar ben-sagar merged commit d06ac21 into master Sep 7, 2020
@ben-sagar ben-sagar deleted the example-effective-dates-for-standards branch September 7, 2020 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants