Project management
Client Handoffs
Heroku Handoff
Two weeks prior
- Write an email to the internal and the clients PMs to set a date and clarify any expectations around the handoff at the projects end.
- Be sure you have a complete README. Including:
- Any diagrams
- Introductions to noteable inclusions
- Known issues
- Add a handoff story to Asana with the due date.
- Confirm the scope of transfer with the sales team.
- It is usual to tranfer all apps/pipelines, but in some cases we may only want to tranfers the production app.
- Request the clients Heroku account email.
- If they are new to Heroku, be sure to tell them they have to add a credit card in order to be able to complete the transfer.
- Request client email address to be used for notifications on addons.
A couple days before
- Make sure all related Heroku plugins are pointing at the clients notification email (ex: librato or rollbar alerts)
- Have the client create their own environment key/values needed for the app to run. Accounts like these:
- AWS
- Analytics account
- CI/CD account
- Database credentials
- Mail Service
- Mapping service
- Pingdom/Alerts
- Product management backlog (Asana or Tracker)
- SMS/Push service
- Scheduler service
- Securely transfer the rest of the
.env
file or anything remaining in 1Password to the client. - Make sure all (paid) PRs are merged/closed and deployed to Heroku.
- Double check that any internal accounts used for testing are removed from the Production and Staging databases.
On the day
- Remove Abtion emails from the addons and app.
- Initiate the transfer by having the new app owner add your email (temporarily) to their Heroku team.
- Transfer ownership from the apps settings to their Heroku team.
- Finish the transfer by requesting the removal of the account added in step
2.
.
Github Handoff
Two weeks prior
- Write an email to the internal and the clients PMs to set a date and clarify any expectations around the handoff at the projects end.
- Be sure you have a complete README. Including:
- Any diagrams
- Introductions to noteable inclusions
- Known Issues
- Add a handoff story to Asana with the due date.
- Confirm the scope of transfer with the sales team.
- It is usual to tranfer just the
main
branch up to a certain SHA, but in some cases this may differ. - Do they only pay for the code or also a handoff of environment key/values?
- It is usual to tranfer just the
- Request the clients Github organizations name.
- If they are new to Github guide them through the creation.
A couple days before
- Ensure all (paid) PRs are merged or closed.
- Clean up all old branches.
- Ensure that all developers delete any code they have locally.
- If the client also paid for transfer of environment key/values, have them create their own. Accounts like these:
- AWS
- Analytics account
- CI/CD account
- Database credentials
- Mail Service
- Mapping service
- Pingdom/Alerts
- Product management backlog (Asana or Tracker)
- SMS/Push service
- Scheduler service
- Securely transfer the rest of the
.env
file or anything remaining in 1Password to the client.
On the day
- Create a
Transfer <REPO_NAME>
Github team and add yourself to it. - Remove all other Github teams access.
- Transfer the app from the ‘danger zone’ in the repos settings.
- The client will receive a confirmation email.
- Finish the transfer by requesting removal of the ‘Transfer Team’ from the repo.
Closing up
- Remove any extra apps or repos.
- If you only tranfered a Github repo, be sure the Heroku app is removed.
- If you only tranfered a Heroku app, be sure the Github repo is removed or archived.
- Send an email to the clients PM and our PM stating that the app and/or repo has been transferred, include the email they have been transferred to along with the related plugins that will be emailing them.
- Close any service account now no longer needed.