Skip to content

What is a Peak Shift Improvement Proposal? #1

@johnsBeharry

Description

@johnsBeharry
Title: PSIP Purpose & Guidelines
Author: @johnsBeharry
Status: Draft
Type: Process

Abstract

An Improvement Proposal is a specification of how an internal company process should be executed, including it's purpose and the steps required to do so. The Improvement Proposal is meant to introduce a new process, or make an improvement to an existing one.

Anyone participating in the company should be able to propose an improvement to our existing processes or specify new ones we should adopt.

Motivation

We have implemented some standard methods to solve reoccurring problems through the years but there is no documentation of them. This makes things difficult for us when we on-board new team mates among other things.

We should have a process to collaboratively make improvements to the company's operation processes.

Finally, our standard methods of operations should be documented and easy to reference so new team mates can have a easy way to get acquainted with "The Peak Shift Way".

Specification

PSIP Types

  1. Process PSIP outlines the steps that are required to be followed in the operations of Peak Shift.
  2. Informational PSIP describes a lose set of guidelines that serve as a recommendation more than a strict set of rules to follow.

Workflow

  1. Idea
  2. Submit PSIP
  3. Review & Resolution
  4. Maintenance

Formats

PSIPs should be written in markdown format. Once accepted, file naming should be PSIP-{issue_id}.

This issue would turn into PSIP-1.

Structure

  1. Preamble -- Headers containing meta-data about the PSIP, a short descriptive title (limited to a maximum of 44 characters), the names, and optionally the contact info for each author, etc.

  2. Abstract -- a short (~200 word) description.

  3. Specification -- The technical details, or steps on how to apply / implement the proposed solution.

  4. Motivation -- A clear justification on why the proposed solution is better than what is currently implemented, and the reasons the current standard is inadequate. PSIP submissions without sufficient motivation may be rejected outright.

  5. Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work.
    The rationale should provide evidence of consensus within the community and discuss important objections or concerns raised during discussion.

  6. Reference List -- Add all resources that you have used are referenced directly to write the PSIP.
    In-Text Citation: Name of author, date
    Reference at the end: (Author Surname Year) References:Author Surname, Initial(s) Year (page created or revised), Title of page, Publisher (if applicable), Place of publication (if applicable), viewed Day Month Year, .

  7. Bibliography -- Add any other materials (using the same format) that you have used for research on the specific PSIP but haven't directly referenced.

Rationale

Processed previously were difficult to explain or justify because most of them were verbal so referencing the exact details were difficult if not impossible.

Coming up with a structure for any document from scratch also gets in the way of writing down the details - by having a standardised structure for all processes to be written, authors can help readers focus on the solutions they're proposing.

Reference List

...

Bibliography

...


To better help visualise, things lets discuss what a proposal would look like. What are some processes/standards you think we could adopt?

Example:

Work Specifications should be written in Gherkin

  • Gherkin language, is a "non-technical and human readable" way to define how a feature should work that allows both client and implementors to be clear of any ambiguity in work before it is started.

Objectives and Key Results of this discussion:

  • Suggestions of at least 5 improvements we can implement.
  • README.md with a clearly defined purpose for this repository.
  • Contribution guidelines.
  • Initial template for a PSIP.

This should be an open discussion - not one centralised around myself. I have no answers, that's why I'm calling on you all so we can collaborate and together form one.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions