Dogfooding at Baut
There is a well known expression in software called dog-fooding, or eating-your-own-dogfood. If you are a company making dog food but you would not feed it to your pets, how can the customers trust you?
The concept is similar in IT. If you sell project management software, but don't use it internally to manage your projects, why not?
At Bermuda Automation, we also automate our internal processes. But just like we tell our clients, we strike a balance between full automation and cost-effectiveness.
On the 1st of the month, I get 2 emails automated with Google Apps Scripts
.
1. Pay Contractors:
Importantly, the email is actionable:
- It contains a template email to forward to the contractor.
- It has a link to their time tracking profile
- It has a link to my internal accounting to update it straight away.
For the coders out there, here is what the code does:
function pay_contractor_reminder(sheet_name){
var todayis = new Date()
var six_days_ago = new Date(todayis.getTime() - 6*(24*3600*1000)); // a day 5 days ago
var last_month = Utilities.formatDate(six_days_ago, Session.getScriptTimeZone(), "MMMM");
var mes_pasado = LanguageApp.translate(last_month, 'en', 'es');
var toggle_link = "https://track.toggl.com/reports/detailed/XXXX/period/prevMonth/users/XXXX"
var time_accounting = "https://docs.google.com/spreadsheets/d/XXXXXXX-YYYYYYY/edit#gid=ZZZZ"
var accounting = "https://docs.google.com/spreadsheets/d/XXXXXX-YYYY/edit#gid=0"
// get email information from sheet
var em_address = "alvaro@baut.bm";
var em_title = "Getting Paid: " + last_month;
var em_message = "Please review the hours worked last month: <br>" +
"<a href='" + toggle_link + "' target='_blank'> Toggle for Joe Bloggs</a> <br><br>" +
"And update the Time Tracking Spreadsheet<br>" +
"<a href='" + time_accounting + "' target='_blank'> Time Tracking </a> <br><br>" +
"And update the Accounting Spreadsheet<br>" +
"<a href='" + accounting + "' target='_blank'> Baut Accounting </a> <br><br>" +
"<hr> Hola Joe, <br> <p> ¿Me puedes confirmar que has trabajado __h en " + mes_pasado +
", equivalente a __ EUR? </p><br> ¿Alguna preferencia para el pago? <br> Gracias,<br>" +
"Alvaro"
MailApp.sendEmail({
to: em_address,
subject: em_title,
htmlBody: em_message
});
}
2. Getting Paid
Following a similar template as the code above, I get an email with:
- Hours billed to each client this month
- The invoice template
- The internal accounting that needs to be updated
- A pre-filled email template for the clients
Could it be automated further? Absolutely. I could get a button on my phone saying: Confirm you want to bill $XX to ClientX this month.
But with 3 or 4 clients per month, the scale still tilts towards half-manual / half-automated.