Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
dgkeyes committed Apr 9, 2024
1 parent d339243 commit 14e565c
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 25 deletions.
4 changes: 3 additions & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ website:
- section: "Consulting"
contents:
- consulting-overview.qmd
- project-management.qmd
- consulting-proposals.qmd
- consulting-project-management.qmd
- consulting-client-communication.qmd
- section: "Code"
contents:
- code-style.qmd
Expand Down
12 changes: 12 additions & 0 deletions consulting-client-communication.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "Client Communication"
---

The most important thing we can do is communicate effectively and regularly. This means getting back to clients within 24 hours.

The type of communication we use with clients depends on the client.

- If clients are comfortable working in GtiHub and we decide it is appropriate to have them collaborate on GitHub, feel free to add them to the repo.
- If they don't want to work in GitHub (most don't), email is generally best.

I generally try to send clients updates by email about overall progress every 1-2 weeks to make sure they know what's going on and see if they have any questions.
38 changes: 38 additions & 0 deletions consulting-project-management.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: "Project Management"
---

## Overview

We use three primary tools for project management:

1. GitHub to manage code and issues
2. Linear to set internal due dates and have internal discussions about issues
3. Twist to have general discussions about projects

## GitHub

Create a **GitHub repo** (set to private unless the client is ok with it being public):

- Use the **README** to lay out the overall project scope, deliverables, deadlines, etc.
- Use **issues** to manage code-related questions at a granular level.

## Linear

We use Lienar for project management. After creating a new repo in GitHub, create a new associated project in Linear. You'll then want to link the GitHub repo to Linear using the GitHub integration. This will ensure that all issues and associated discussions on GitHub also show up in Linear. Issues added in GitHub will show up in the Triage section on Linear and you'll need to move them manually to the right project. You cannot add issues from Linear to GitHub.

By bringing in issues to Linear, we also get to add additional metadata to issues to help us manage things. Specifically, we use:

1. **Due dates** to show when an issue is due
1. **Status** to show what is happening with an issue
1. **Estimates** to show how much work an issue is
1. **Cycles**, which for our purposes just enables David to see what work is happening in which week

For larger projects, we can create **milestones** and set due dates for the milestones. This allows us to get an overview of upcoming milestones when looking at projects in a Gantt-style view.

When creating a new project in Linear, also set a **project lead**. Doing so will set a reminder every Friday at 8am Pacific for them to post an update about how things are going with the project. When posting this update, please also post about the project health using the built-in tool for that.

## Twist

Create a thread in the #consulting channel on Twist for the project. This is a good place for things we'd like to keep confidential and general updates (because we work more and more with clients directly in GitHub, that isn't the best place for confidential discussions).

27 changes: 27 additions & 0 deletions consulting-proposals.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: "Proposals"
---

## Initial Call

Most consulting projects begin with an initial call. This is usually a 30-minute call to learn more about the client's needs and figure out whether we are a good fit to help them.

## Proposals

If we are a good fit, we follow up by putting together a proposal. Usually, this involves asking additional questions by email and, possibly, another call.

To write a proposal, we first create a new project in Linear and add it to the Proposal roadmap. From there, we create a new document using the Proposal Outline template.

One thing we have done in the past is to share a draft version of the proposal with clients for their feedback. This enables them to provide feedback and ensures we are meeting their needs. To do this, copy the proposal from Linear (minus the pricing info) into a Google Doc and share it with the client.

Once proposals are ready to be sent, copy them into PandaDoc and send them.

## Items to Include in Proposals

- Specific scope
- Specific timeline
- Requirements of us (getting back to client, timeframe for sending updates, etc)
- Requirements of client (get back to us within certain time frame etc)
- Pricing
- Language about needing to adjust pricing if scope/timeline changes

24 changes: 0 additions & 24 deletions project-management.qmd

This file was deleted.

0 comments on commit 14e565c

Please sign in to comment.