Squad Health Check is a simple tool to conduct surveys on the mood of development teams. It helps measure and visualize how the team is doing. It is inspired by a post in the Spotify engineering blog. As the blog post's author suggests, the primary audience is meant to be the team rather than management. Read the blog post to learn more about the health check model and get more insights on the elements of the survey.
See a demo at shc.myftija.com. The survey responses are persisted on a Google spreadsheet, so you can easily make charts out of them to visualize the sentiments and trends. Check out an example at this link.
Squad Health Check is a React app. Sheety is being used for the API; it provides a layer on top of the Google Sheets API which makes it easy and quick to create HTTP endpoints for manipulating data in spreadsheets.
It is quite straightforward to deploy the app and start using it in your team. This section goes over the steps.
-
Login into your Google account and import this spreadsheet:
File
>Make a copy
-
Go to Sheety and open an account.
-
Create a new Sheety project:
New Project
>From Google Sheet...
> paste the URL of the spreadsheet you previously imported -
Enable the
GET
method for thesurveys
sheet and thePOST
method for theresponses
sheet. Disable all other methods across all sheets. -
Copy the Sheety API URL and export it as an environment variable under the name
REACT_APP_API_URL
. You can also do this by creating a.env.production.local
file in the root directly and defining the variable there:touch .env.production.local echo "REACT_APP_API_URL=https://api.sheety.co/YOUR_SHEETY_USER_ID/SHEETY_PROJECT_NAME" > .env.production.local
Refer to .env.production.local.template. Note that your Sheety API URL should not contain a sheet name.
-
Deploy the React app by a method of your choosing. There are abundant options which make it terribly easy to deploy. For example, deploying to Netlify is as easy as executing the following commands:
npm install netlify-cli -g yarn build netlify deploy --dir ./build
Find out more about deploying React apps in the docs.
That's it! You can start using the app now.
First, you need to either create a separate Sheety app as shown the previous section or mock the API locally. This section goes with the latter approach and shows how to mock the Sheety API using mockoon.
-
Install mockoon-cli and start the mock API server:
npm install -g @mockoon/cli mockoon-cli start --data ./mockoon/sheety-api-mock.json -i 0
-
Export the mock API URL as an environment variable under the name
REACT_APP_API_URL
. You can also do this by creating a.env.development.local
file in the root directly and defining the variable there:touch .env.development.local echo "REACT_APP_API_URL=http://localhost:8080" > .env.development.local
Refer to .env.development.local.template.
-
Serve the React app:
yarn start
Once you got the app all setup, start by removing the dummy data in your imported spreadsheet.
Clear the rows in the responses
sheet. Next, clear the content of the date
column in the surveys
sheet; leave the response_count
column intact as it contains a formula to count the responses.
To create a new survey, simply add a new date in the surveys
sheet. Double click a cell in the date
column to show a tooltip that prompts you to select a date. Do not modify the cells in the response_count
column.
That's it! You can now share the link with your team and responses will be persisted in the spreadsheet.
The charts
sheet will automatically be populated with data, so there is not need to modify anything besides selecting the date at the top row of the sheet. But you could of course add additional visualizations of your liking.
Contributions are welcome! Feel free to open a pull request or issue.