procedures

✍️ google-blog-style

Source: https://developers.google.com/style/procedures\n\n# Procedures

Stay organized with collections

Save and categorize content based on your preferences.\n\n- Home\n- Products\n- Style\n\n\n## Page Summary\n\n- Procedures should be written as numbered steps with clear and concise language, focusing on the action to be performed.\n- Sub-steps and multi-action steps have specific formatting guidelines to ensure clarity and readability, such as using letters and roman numerals for sub-steps and the > symbol for sequential actions within a single step.\n- Multiple procedures for the same task should be organized thoughtfully, prioritizing accessibility and clarity by using separate sections or tabs and favoring the shortest and simplest method.\n- Steps should provide context, clearly state the goal or purpose, and include any necessary justifications or results while avoiding redundancy and unnecessary information.\n- Optional steps are indicated with "Optional:", and repetitive procedures are referenced rather than repeated to maintain conciseness and avoid redundancy.\n\nProcedures should be written as numbered steps with clear and concise language, focusing on the action to be performed.\n\nSub-steps and multi-action steps have specific formatting guidelines to ensure clarity and readability, such as using letters and roman numerals for sub-steps and the > symbol for sequential actions within a single step.\n\nMultiple procedures for the same task should be organized thoughtfully, prioritizing accessibility and clarity by using separate sections or tabs and favoring the shortest and simplest method.\n\nSteps should provide context, clearly state the goal or purpose, and include any necessary justifications or results while avoiding redundancy and unnecessary information.\n\nOptional steps are indicated with "Optional:", and repetitive procedures are referenced rather than repeated to maintain conciseness and avoid redundancy.\n\nA procedure is a sequence of numbered steps for accomplishing a task. For information about

lists of items that aren't part of a procedure, see the

Lists page.\n\n\n## Introductory sentences\n\nIn most cases, introduce a procedure with an introductory sentence. This

introductory sentence should provide context to the reader that isn't part of

the section heading. Don't simply repeat the heading: if the heading explains

what the procedure is, and no additional context is needed, then don't

include an introductory statement.\n\nThe sentence can end with a colon or a period. Use a colon if it immediately

precedes the procedure. Use a period if there's more material (such as a

note paragraph) between the introduction and the procedure.\n\nYou can introduce a procedure with an imperative statement. Don't introduce a procedure with

a partial sentence that's completed by the numbered steps.\n\nRecommended: To customize the buttons,

follow these steps:\n\nAlso recommended: Customize the buttons:\n\nAlso recommended: To customize the buttons, do the following:\n\nNot recommended: To customize the

buttons:\n\nFor more information about introducing lists, see Lists.\n\n\n## Single-step procedures\n\nWhen a procedure consists of only one step, write the step in one sentence and format it as a

bulleted list.\n\nRecommended:\n\n- To clear (flush) the entire log, click Clear logcat.\n\nNot recommended:\n\nTo clear (flush) the entire log, follow this step:\n\n- Click Clear logcat.\n\nAlso not recommended:\n\nTo clear (flush) the entire log, follow this step:\n\n- Click Clear logcat.\n\n\n## Sub-steps in numbered procedures\n\nIn a numbered procedure, sub-steps are labeled with lowercase letters, and

sub-sub-steps get lowercase Roman numerals.\n\nWhen a step has sub-steps, treat the step like an introductory sentence: put a colon or a

period at the end of the step, as appropriate.\n\nFor more information about lists, see Lists.\n\nRecommended:\n\n- To add a VM instance, do the following:

Click Create instance.

For Name, enter a name for the VM instance, and then do the following:

For Region, specify where you want to deploy the VM instance.

For Machine type, select an option.

Click Create.\n- Click Create instance.\n- For Name, enter a name for the VM instance, and then do the following:

For Region, specify where you want to deploy the VM instance.

For Machine type, select an option.\n- For Region, specify where you want to deploy the VM instance.\n- For Machine type, select an option.\n- Click Create.\n- To connect to the VM instance by using SSH, click SSH.\n\n- Click Create instance.\n- For Name, enter a name for the VM instance, and then do the following:

For Region, specify where you want to deploy the VM instance.

For Machine type, select an option.\n- For Region, specify where you want to deploy the VM instance.\n- For Machine type, select an option.\n- Click Create.\n\n- For Region, specify where you want to deploy the VM instance.\n- For Machine type, select an option.\n\n\n## Order of multiple components in a step\n\nTo document a complex procedural step, use the following order:\n\n- Describe the action to take.\n- List a command, if necessary.\n- Explain any placeholders that are used in the command.

For more information, see

Formatting placeholders.\n- Explain the command in more detail, if necessary.\n- List the output of the command, if necessary.

For more information, see

Output from commands.\n- In a separate paragraph, explain

the result of an

action, or any output, if necessary.\n\nExplain any placeholders that are used in the command.\n\nFor more information, see

Formatting placeholders.\n\nList the output of the command, if necessary.\n\nFor more information, see

Output from commands.\n\nThe following example demonstrates the preceding order:\n\n- Plan the Terraform deployment:

terraform plan -out=NAME

Replace NAME with the name of your Terraform plan.

The terraform plan command does the following:

Parses the Terraform configuration, building a list of resources to provision.

Refreshes the current state of resources already provisioned in Google Cloud.

Creates a plan to make the currently provisioned resources match the parsed

configuration.

The output is similar to the following:

Plan: 26 to add, 0 to change, 0 to destroy.


This plan was saved to: NAME

The output shows what resources to add, change, or destroy.\n- Parses the Terraform configuration, building a list of resources to provision.\n- Refreshes the current state of resources already provisioned in Google Cloud.\n- Creates a plan to make the currently provisioned resources match the parsed

configuration.\n\nPlan the Terraform deployment:\n\n``\nterraform plan -out=NAME\n``\n\nReplace NAME with the name of your Terraform plan.\n\nThe terraform plan command does the following:\n\n- Parses the Terraform configuration, building a list of resources to provision.\n- Refreshes the current state of resources already provisioned in Google Cloud.\n- Creates a plan to make the currently provisioned resources match the parsed

configuration.\n\nThe output is similar to the following:\n\n```\nPlan: 26 to add, 0 to change, 0 to destroy.


This plan was saved to: NAME\n```\n\nThe output shows what resources to add, change, or destroy.\n\n\n## Multi-action procedures\n\nIn general, use one step for each action. However, you can combine small actions

into one step by using

angle brackets (>) for sequential menu selections.\n\nRecommended:\n\n- Click Next > Finish.\n\nAlso recommended:\n\n- Click

File > New > Document.\n\nDon't make the steps too long. If they feel too long, consider splitting them

into multiple steps.\n\n\n## Multiple procedures for the same task\n\nIn general, if there's more than one way to complete a task, then document

one procedure that's accessible for all readers. If all methods are accessible, pick the shortest

and simplest approach if possible. If you need to document multiple ways to complete a

task, then separate them in different pages, headings, or tabs.\n\nThe following guidelines can help you choose which procedure to document:\n\n- Choose a procedure that lets readers do all the steps by using only a keyboard.\n- Choose the shortest procedure.\n- Choose a procedure that uses a programming language that most of your

audience is familiar with.\n\n\n## Repetitive procedures\n\nAvoid repeating procedures. Instead, reference those procedures and link to

them.\n\nRecommended:\n\n- Create a user as you did in the previous step.\n\nAlso recommended:\n\n- Create a user as you did in the previous step.\n\n\n## Optional steps\n\nFor an optional step, at the beginning of the step, type Optional

followed by a colon.\n\nRecommended:\n\n- Optional: Type an arbitrary string ...\n\nNot recommended:\n\n- (Optional) Type an arbitrary string ...\n\n\n## Steps that say where to complete a task\n\nTell the reader where to complete an action—for example, in a

particular tool or UI field—before you state the action.\n\nRecommended:\n\n- In Google Docs, click

File > New > Document.\n- In the Google Cloud console, go to the Monitoring page.\n\nNot recommended:\n\n- Click File >

New > Document in Google

Docs.\n- Go to the Monitoring page in the Google Cloud console.\n\nIf a set of procedures is split across multiple headings, then in each

procedure, restate where the reader completes the action. For example, if two

procedures in a document take place in the console, then start both

procedures with "In the console ..."\n\n\n## Steps with goals\n\nFor some steps, it's useful to state the goal

that the step accomplishes.\n\nWhen a step includes a goal, state the goal before the action. This

structure helps readers understand and complete the step more easily.\n\n- To start a new document, click

File >

New > Document.\n\n- Click File >

New > Document to start a

new document.\n\nSometimes, the preceding format can imply that the required step is

optional. In such cases, use the following format:\n\nRecommended:\n\n- Start a new document: click

File >

New > Document.\n\nIt's usually clear within the context of a procedure whether a step is

required. In such cases, the "To ..." format is more natural than the colon

format.\n\nTo determine whether you need to use the colon format, consider how the

goal of the step relates to the goal of the procedure. For example, in a

procedure for creating a bar chart, a step with the goal "To create the

chart" is clearly required. A step with the goal "To enhance the chart" is

also unlikely to create confusion. But a step with the goal "To sort the

data by date" might or might not be necessary. To clarify that the step

isn't optional, use "Sort the data by date:" instead.\n\n\n## Steps with results or justifications\n\nSome steps consist of an action along with a resulting reaction that helps

the reader navigate to the next step. State the action first and the result

second. Keep the result in the same paragraph as the action. But also consider whether you

can avoid repetitiveness and overwhelming the reader with too much bolding of UI elements.\n\n- Click Run. The query results appear after the query runs.\n\n- Click Enter.\n- In the New file dialog that appears, click Next.\n\n- Click Enter. The New file dialog appears.\n- In the New file dialog, click Next.\n\nFor information about describing output, see

Output from commands.\n\nOther steps benefit from including a justification for why the step is

important. State the action first and the justification second.\n\n- Store the private key in a secure location. You need it later.\n\n\n## Summary of guidelines for writing procedures\n\n\nGuidance | Recommended | Not recommended\nMake sure that the first sentence in a procedural step includes an imperative verb. | Clone the repository that contains the sample data. | You need the project ID later in this document. Retrieve the project ID.\nUse complete sentences. | | \nUse parallel structure and consistent verb form. | Download the service account key to

your local machine. Click More, and then click Download. | Download the service account key to your

local machine by clicking More and then clicking Download file.\nFor an optional step, type Optional: as the first word of the step. | Optional: Type an arbitrary string... | (Optional) Type an arbitrary string...\nSet the context (such as a tool or an environment) in which the reader performs a

procedure.

If there are multiple headings associated with a set of procedures, restate the context

of the procedure in the first step, even if the context is the same as in the previous

procedure. | In Cloud Shell, connect to the development cluster.

In the Google Cloud console, go to the BigQuery page. | \nWrite in the order that the reader needs to follow. State the location of the action

before stating the action. | In Google Docs, click File >

New > Document.

In the Google Cloud console, go to the Monitoring page. | Click File >

New > Document in Google Docs.

Go to the Monitoring page in the Google Cloud console.\nState the purpose or goal of the action before stating the action. | To start a new document, click File >

New > Document. | Click File >

New > Document

to start a new document.\nDon't use directional language to orient the reader, such as above, below,

or right-hand side. This type of language doesn't work well for accessibility or for

localization. If a UI element is hard to find, provide a screenshot.

For information about documenting icons, see

Buttons and icons. | Click menuMenu.

In the preceding diagram,...

In the following diagram,... | Click the button with three lines.

In the above diagram, ...

In the diagram below, ...\nDon't use please. | To open a document, click File > Open. | To open a document, please click

File > Open.\nAvoid using run the following command to introduce code. Instead, focus on what

the command does. | In Cloud Shell, deploy the load generator:...

Define a firewall rule to allow internal traffic:... | In Cloud Shell, deploy the load generator by running the following command:...

Run the following command:...\nIf the reader must press Enter after a step, then include that instruction as part

of the step. | Click the search box, type custom function, and then press Enter. | Click the search box and type custom function.

Press Enter.\nDon't include keyboard shortcuts. | Copy the command, and then paste it... | Press Ctrl+C, and then press Ctrl+V...\nWhen there's more than one way to do something, give only the best way. Giving alternate

ways can confuse readers. | | \nIf your procedure includes code samples, see how to format code samples. | | \nIf your procedure includes commands, see how to format commands. | | \nEnsure that the reader has the information that they need in order to prepare for the

task ahead of time. Having information in advance supports task management, executive

functioning, memory, and emotional regulation. | The following hardware and software are required:... | \nInclude as few steps as possible to complete the task. Limit interruptions in the path. | | \nFocus on one reader decision at a time. Separate each instruction by making each

instruction a separate list item. | | \n\nSet the context (such as a tool or an environment) in which the reader performs a

procedure.\n\nIf there are multiple headings associated with a set of procedures, restate the context

of the procedure in the first step, even if the context is the same as in the previous

procedure.\n\nIn Cloud Shell, connect to the development cluster.\n\nIn the Google Cloud console, go to the BigQuery page.\n\nIn Google Docs, click File >

New > Document.\n\nIn the Google Cloud console, go to the Monitoring page.\n\nClick File >

New > Document in Google Docs.\n\nGo to the Monitoring page in the Google Cloud console.\n\nDon't use directional language to orient the reader, such as above, below,

or right-hand side. This type of language doesn't work well for accessibility or for

localization. If a UI element is hard to find, provide a screenshot.\n\nFor information about documenting icons, see

Buttons and icons.\n\nClick menuMenu.\n\nIn the preceding diagram,...\n\nIn the following diagram,...\n\nClick the button with three lines.\n\nIn the above diagram, ...\n\nIn the diagram below, ...\n\nAvoid using run the following command to introduce code. Instead, focus on what

the command does.\n\nIn Cloud Shell, deploy the load generator:...\n\nDefine a firewall rule to allow internal traffic:...\n\nIn Cloud Shell, deploy the load generator by running the following command:...\n\nRun the following command:...\n\n- Click the search box and type custom function.\n- Press Enter.\n