SlideShare a Scribd company logo
Save Time and Money
  with Automation
Who am I?
Chris Jean
@chrisjean
chrisjean.com

Developer for iThemes.com

Code WordPress themes
Develop needed internal solutions
Wear funny shirts and hats
What is this about?
This presentation is about how we at iThemes
improved our workflow by using automation.

We did this by putting together some existing
tools, adding some customization, and
implementing a standardized workflow.

This has saved us hundreds of man hours and
creates a more consistent product for our
customers.
Why should you care?
I believe that every business can reduce
needless waste of man hours by simply
spending a little bit of time putting in smart
solutions.

This not only saves money but can reduce
worker stress and make your customers
happier.
Old iThemes development workflow
● Need to make a change
● Check with everyone working on the project
  to ensure that they are not making changes
● Download the latest release
● Make modifications
● Create zip file
● Upload zip file to server
Problem 1: Checking with everyone
is slow and wastes time
Sometimes I would have to check in with four
other people. If one was away for a meeting or
a personal appointment, I might have to wait
hours before I can start my work.

Sometimes a miscommunication would happen
and I would overwrite someone else's changes
that I didn't know existed. If they didn't keep a
copy, the work they did had to be recreated and
retested.
Solution 1: Use Git to remove the
social requirements
Git is a kind of version control software. It
keeps a full history of every change made to
the project and doesn't allow people to
accidentally overwrite the work of others.

We no longer had to contact everyone in the
company and wait to get permission to work.

We no longer had accidental loss of work due
to miscommunication.
Solution 1: Use Git to remove the
social requirements
We got additional benefits from switching to a
standardized workflow using Git:

● Full account of when each change is made
  and who made it. We can see who made the
  last change to a specific line of code.
● Ability to control who has access to the
  projects and who can modify them.
● A Git feature created the ability to automate
  processes when projects were updated.
Problem 2: Consistency of zip files
I was the only non-Mac user in the office.

Macs have a bad habit of adding junk to zip
files. This junk created problems for our users.

Since my machine didn't add junk to zip files,
zipping projects became my responsiblity.
Every time any project needed to be updated, I
would get an email with a zip file that needed to
be cleaned up and rezipped.
Solution 2: Make the machines do
the work via automation
Git has a feature that allows for automation. It
can be set up to do specific things when any
project is updated.

I added code that would automatically generate
a nice clean zip file each time a project was
updated.

I lost my title of "best zip creator." I didn't mind.
Problem 3: Uploading the zip file
takes time and can be forgotten
Rather than hosting our own zip files, we used
a service that did this for us.

Their interface was horrible and took too much
time to navigate. So each time we had an
update, we would have to load up their site, log
in, navigate their slow back-end, and then
manually upload the file.

It was a time sink.
Solution 3: Automate zip file uploads
We already had an automated process to
create the zip files. It just made sense to once
again let the machines do the work for us.

We moved the zip file hosting to one of our
servers and added an automation process that
would automatically upload new zip files to the
server.
Taking full advantage of automation
After we started automating things, we just kept
going.

We added an automation step that
automatically added translation support for all
of our projects. This could have been done
before, but required a very specific process and
was time consuming. Now its automated.
Taking full advantage of automation
We added a feature where our projects could
easily share sections of code. When these
code sections are updated, all of the projects
automatically get updated with the changes.

For each project, the code is updated, the
translation support is regenerated, the zip file is
recreated, and it is uploaded to the server...
automatically.
Taking full advantage of automation
With our system, when sending an update, if
the version number isn't new (and higher), the
system will refuse to do the other automation
steps and will tell the developer about it.

This prevents us from releasing confusing
updates with duplicate or old versions.

This is a form of automated process control.
Benefits of automation
Our automation system is around three years
old now.

In total, all of our projects have received 7,137
version updates. If automation saved just 1
minute for each version release, that is a
savings of nearly 15 8-hour business days of
labor. This is far less time than was put into
creating and maintaining the system.
Benefits of automation
When this automation system was first created,
we had only two developers and one support
person.

We currently have 5 developers and 5 support
staff spread across two brands. We
communicate frequently, but not because we
are afraid of stepping on the other developers'
toes.
What you can do
1. Inspect your workflow and processes to
   identify the tedious manual steps.
2. Talk to your coworkers/staff to see if any of
   these tedious processes could be automated
   or improved by using better tools.
3. Be willing to invest in creating these better
   processes.
4. Rinse and repeat as opportunities for
   improvement can occur at any time.
Resources
Git
git-scm.com

This Presentation
ithem.es/automate

More Related Content

PDF
Using a Private Git Server for Packaging Software
PPTX
An introduction to Atlassian Bitbucket Pipelines
PDF
Teaching a Designer to Use GitHub
ODP
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
PPTX
Bitbucket git-bamboo-jira
PPTX
PDF
Git and GitHub for Documentation
PDF
Bsadd training-git
Using a Private Git Server for Packaging Software
An introduction to Atlassian Bitbucket Pipelines
Teaching a Designer to Use GitHub
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Bitbucket git-bamboo-jira
Git and GitHub for Documentation
Bsadd training-git

What's hot (20)

PPTX
BSADD-Git-TRAINING
PDF
.Git for WordPress Developers
KEY
Matt Gauger - Git & Github web414 December 2010
PDF
Evolution of deploy.sh
PDF
CI/CD with Github Actions
PPTX
Using Git to Organize Your Project
PDF
Git 101: Git and GitHub for Beginners
PDF
Docker Best Practices Workshop
PPTX
Version control
PDF
An Introduction to Git
KEY
Make It Cooler: Using Decentralized Version Control
PPTX
Continuous Delivery with Jenkins and Wildfly (2014)
PPTX
Basic Git commands
PPT
Git 101 - Crash Course in Version Control using Git
PDF
Git Started With Git
PDF
Intro to Gitflow
PPTX
Git 101
PDF
Using the GitHub App to Connect to Bitbucket
PDF
Juc boston2014.pptx
PPTX
GitHub Actions - Melbourne UG
BSADD-Git-TRAINING
.Git for WordPress Developers
Matt Gauger - Git & Github web414 December 2010
Evolution of deploy.sh
CI/CD with Github Actions
Using Git to Organize Your Project
Git 101: Git and GitHub for Beginners
Docker Best Practices Workshop
Version control
An Introduction to Git
Make It Cooler: Using Decentralized Version Control
Continuous Delivery with Jenkins and Wildfly (2014)
Basic Git commands
Git 101 - Crash Course in Version Control using Git
Git Started With Git
Intro to Gitflow
Git 101
Using the GitHub App to Connect to Bitbucket
Juc boston2014.pptx
GitHub Actions - Melbourne UG
Ad

Viewers also liked (7)

DOC
Tolga saglam –Isıtma havalandirma otomasyonun novaproopen scada i̇le gerçekle...
PDF
2012.sandiego.wordcamp
ODP
Don't sh** in the Pool
ODP
How I Learned to Stop Worrying and Backup WordPress
PDF
Plugins at WordCamp Phoenix
PDF
How To Rank In Google News
PPT
WordPress Standardized Loop API
Tolga saglam –Isıtma havalandirma otomasyonun novaproopen scada i̇le gerçekle...
2012.sandiego.wordcamp
Don't sh** in the Pool
How I Learned to Stop Worrying and Backup WordPress
Plugins at WordCamp Phoenix
How To Rank In Google News
WordPress Standardized Loop API
Ad

Similar to Save Time and Money with Automation (20)

PDF
Git Makes Me Angry Inside
PDF
Continuous Delivery - the missing parts - Paul Stack
PDF
online news portal system
PDF
Presentation
DOC
Dreamwares Recent Projects
PDF
Empowered productivity
PPTX
Ship code like a keptn
PPTX
WinSmart Technologies
PPTX
Automate Everything! (No stress development/Tallinn)
PDF
Beyond Agile Software
PDF
Detecting secrets in code committed to gitlab (in real time)
PPTX
Lesson 0.5 Introduction to Git (1).pptx
PPTX
Lesson 0.5 Introduction to Git (1).pptx
PPTX
Lesson 0.5 Introduction to Git.pptx
PPTX
CICD Pipeline Using Github Actions
PDF
Continuous Delivery for Python Developers – PyCon Otto
PDF
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
PPT
Continuous Deployment
PDF
GMO'less Software Development Practices
PPTX
Introducing Continuous Integration Using Vsts
Git Makes Me Angry Inside
Continuous Delivery - the missing parts - Paul Stack
online news portal system
Presentation
Dreamwares Recent Projects
Empowered productivity
Ship code like a keptn
WinSmart Technologies
Automate Everything! (No stress development/Tallinn)
Beyond Agile Software
Detecting secrets in code committed to gitlab (in real time)
Lesson 0.5 Introduction to Git (1).pptx
Lesson 0.5 Introduction to Git (1).pptx
Lesson 0.5 Introduction to Git.pptx
CICD Pipeline Using Github Actions
Continuous Delivery for Python Developers – PyCon Otto
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Continuous Deployment
GMO'less Software Development Practices
Introducing Continuous Integration Using Vsts

Recently uploaded (20)

PDF
WRN_Investor_Presentation_August 2025.pdf
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PPTX
New Microsoft PowerPoint Presentation - Copy.pptx
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
PDF
Types of control:Qualitative vs Quantitative
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PPTX
Probability Distribution, binomial distribution, poisson distribution
PDF
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
PPT
Chapter four Project-Preparation material
DOCX
Business Management - unit 1 and 2
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
WRN_Investor_Presentation_August 2025.pdf
COST SHEET- Tender and Quotation unit 2.pdf
New Microsoft PowerPoint Presentation - Copy.pptx
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
Types of control:Qualitative vs Quantitative
Power and position in leadershipDOC-20250808-WA0011..pdf
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
unit 1 COST ACCOUNTING AND COST SHEET
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
Roadmap Map-digital Banking feature MB,IB,AB
Probability Distribution, binomial distribution, poisson distribution
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
Chapter four Project-Preparation material
Business Management - unit 1 and 2
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
Laughter Yoga Basic Learning Workshop Manual
Dragon_Fruit_Cultivation_in Nepal ppt.pptx

Save Time and Money with Automation

  • 1. Save Time and Money with Automation
  • 2. Who am I? Chris Jean @chrisjean chrisjean.com Developer for iThemes.com Code WordPress themes Develop needed internal solutions Wear funny shirts and hats
  • 3. What is this about? This presentation is about how we at iThemes improved our workflow by using automation. We did this by putting together some existing tools, adding some customization, and implementing a standardized workflow. This has saved us hundreds of man hours and creates a more consistent product for our customers.
  • 4. Why should you care? I believe that every business can reduce needless waste of man hours by simply spending a little bit of time putting in smart solutions. This not only saves money but can reduce worker stress and make your customers happier.
  • 5. Old iThemes development workflow ● Need to make a change ● Check with everyone working on the project to ensure that they are not making changes ● Download the latest release ● Make modifications ● Create zip file ● Upload zip file to server
  • 6. Problem 1: Checking with everyone is slow and wastes time Sometimes I would have to check in with four other people. If one was away for a meeting or a personal appointment, I might have to wait hours before I can start my work. Sometimes a miscommunication would happen and I would overwrite someone else's changes that I didn't know existed. If they didn't keep a copy, the work they did had to be recreated and retested.
  • 7. Solution 1: Use Git to remove the social requirements Git is a kind of version control software. It keeps a full history of every change made to the project and doesn't allow people to accidentally overwrite the work of others. We no longer had to contact everyone in the company and wait to get permission to work. We no longer had accidental loss of work due to miscommunication.
  • 8. Solution 1: Use Git to remove the social requirements We got additional benefits from switching to a standardized workflow using Git: ● Full account of when each change is made and who made it. We can see who made the last change to a specific line of code. ● Ability to control who has access to the projects and who can modify them. ● A Git feature created the ability to automate processes when projects were updated.
  • 9. Problem 2: Consistency of zip files I was the only non-Mac user in the office. Macs have a bad habit of adding junk to zip files. This junk created problems for our users. Since my machine didn't add junk to zip files, zipping projects became my responsiblity. Every time any project needed to be updated, I would get an email with a zip file that needed to be cleaned up and rezipped.
  • 10. Solution 2: Make the machines do the work via automation Git has a feature that allows for automation. It can be set up to do specific things when any project is updated. I added code that would automatically generate a nice clean zip file each time a project was updated. I lost my title of "best zip creator." I didn't mind.
  • 11. Problem 3: Uploading the zip file takes time and can be forgotten Rather than hosting our own zip files, we used a service that did this for us. Their interface was horrible and took too much time to navigate. So each time we had an update, we would have to load up their site, log in, navigate their slow back-end, and then manually upload the file. It was a time sink.
  • 12. Solution 3: Automate zip file uploads We already had an automated process to create the zip files. It just made sense to once again let the machines do the work for us. We moved the zip file hosting to one of our servers and added an automation process that would automatically upload new zip files to the server.
  • 13. Taking full advantage of automation After we started automating things, we just kept going. We added an automation step that automatically added translation support for all of our projects. This could have been done before, but required a very specific process and was time consuming. Now its automated.
  • 14. Taking full advantage of automation We added a feature where our projects could easily share sections of code. When these code sections are updated, all of the projects automatically get updated with the changes. For each project, the code is updated, the translation support is regenerated, the zip file is recreated, and it is uploaded to the server... automatically.
  • 15. Taking full advantage of automation With our system, when sending an update, if the version number isn't new (and higher), the system will refuse to do the other automation steps and will tell the developer about it. This prevents us from releasing confusing updates with duplicate or old versions. This is a form of automated process control.
  • 16. Benefits of automation Our automation system is around three years old now. In total, all of our projects have received 7,137 version updates. If automation saved just 1 minute for each version release, that is a savings of nearly 15 8-hour business days of labor. This is far less time than was put into creating and maintaining the system.
  • 17. Benefits of automation When this automation system was first created, we had only two developers and one support person. We currently have 5 developers and 5 support staff spread across two brands. We communicate frequently, but not because we are afraid of stepping on the other developers' toes.
  • 18. What you can do 1. Inspect your workflow and processes to identify the tedious manual steps. 2. Talk to your coworkers/staff to see if any of these tedious processes could be automated or improved by using better tools. 3. Be willing to invest in creating these better processes. 4. Rinse and repeat as opportunities for improvement can occur at any time.