Startup workflow toolkit
In my imagined startup, everything is running so smooth. You don’t need to check anything, you just develop, create, work and do. Anything you should know, comes to you automatically – automated input; and any task that can be automated, is – automated output. You’re not the computer – the computer is.
Automated input
1. I need to know when a team member needs input or offers opinions and input to me.
- Someone commented on an issue
- Someone created a new issue
- Someone made a pull-request
- Someone commented on my pull-request.
2. I need to know when something is wrong with the systems
- A server returns a 500 Error to a user
- A server has a dangerously high load (unless it autoscales)
3. I need to know when someone reaches out to me or the team
- A user sends an email or replies to support
Automated output
4. I need my code to deployed automatically
- One git branch should deploy to test environment
- One git branch should deploy to prod environment
- If something goes wrong during deploy, I want to know about it asap
5. I need my bills to be autogenerated and sent montly
- I should be able to log hours in Slack for a given project
- Customer bills should be automatically generated and sent.
- I should be notified when customer bills are paid
- I should be notified when customer bills are not paid in time.
Current solution
First of all, use Slack, on your phone, on your PC. Then, in order to address the wishes above:
-
In order to keep track of issues and pull-requests, I use Github for issues and Github-Slack integration to get notified of issues and pull-requests.
-
For you to be notified of system errors, the choice should depend on the system size. AWS Cloudwatch -> Slack for large systems, or Logstash if advanced logs needed. For smaller systems, deploy to Heroku and use Logentries addon with Logentries-Slack integration.
-
In order to keep track of support, use Freshdesk. I made a post on how to integrate it with slack so you’ll be notified when action is required.
-
Heroku allows you to integrate with Github, so does AWS Code Deploy.
-
I have no clue, honestly. I did however write a node-freshdesk library in 2014, and a post on how to add hubot to slack. So it should be doable to create something. Alternatively, Hourstack and Mesasix are time tracking tools that have slack integrations. **These solutions are sweet, and their payment model is suitable for early startups: **
- Github costs 25$ /month for first 5 users. However, it can be replaced with Gitlab for free.
- Slack is free. You could also upgrade for 6.67$ / month pr. user, which gives customers access to talk to you through slack, unlimited integrations and will save history.
- Freshdesk is free for the first 3 users, then $15 / month pr. user.
- AWS, Heroku and Logentries can be used (as testing) for free*. Once you go live you should either put som money on the table or start billing your customer.
Unsolved issues
- Should setup testing, so nothing gets deployed to Heroku/AWS without passing tests. This should also notify slack once accepted / declined.
- Everything on point number 5. How to timetrack, get reports and create bills automatically?