The Dev Toolbox: Automation

March 4, 2015

Blog | Technology | The Dev Toolbox: Automation
The Dev Toolbox: Automation

We recently wrote about using Jira as a project tracking and management tool from the viewpoint of a programmer. One of the big things Jira provides is a centralized view of what’s going on, but there’s a lot more power under the hood than just good-looking screens.


We’re going to look at some of the automation that can be put in place to reduce software development pain. That’s pain in dollars, hours, and bleary eyes at the end of a long day.  Or even at the end of a long development cycle. Tired people can make mistakes, but computers don’t get tired. Let’s harness them to lessen the load of the software team.


The Basics

First, developers need to be using a first-class source code control system. It’s the foundation for almost all software development automation, and although it’s too big a topic to go into depth here, you should ask your tech partner about it.  They should be experts at the fundamentals.

For GeekHive, Jira is linked into our source code control system.  You can see what changes have been committed, how often, and by whom.  You can drill down into the gritty details.  That might seem unnecessary at first, but remember this: when a programmer commits changes to the system, they are also committing notes on the change.  Those notes are important information and should be visible to anyone on the team.

 

Clicking the “1 commit” link opens a screen with those details.

 

Keystrokes Matter

This gets us to the really powerful and useful part.  Most software development tracking tools come with automation tools built in to let programmers get stuff done fast.  Sure, they can commit the code to the repository, add a comment to the ticket, log their time, and update the status, but that’s a few extra minutes of work.  Why not do it all in one step?

In Jira, the automation for this is called “commit hooks.”  In Redmine they’re called keywords.  The point is, a developer can add a few words to their comments (see the previous image), and be finished in one step.

It looks like this:

Even if you’re not a programmer, you can appreciate that one step is faster than four.  And that adds up over a software development cycle.

The Magic Button

Deploying software is often complicated and full of peril.  One of our project managers calls automating the process “the magic button” because distilling the process down a single click removes a lot of the apprehension.  This is a big gain in productivity as well, for a couple reasons.  First, one click is as easy as it gets.  Second, a project manager or Dev Ops person can deploy the new version of software – it doesn’t require a programmer.

There are a number of options for this kind of automation.  Jira has a counterpart called Bamboo to automate builds, but it might be something as simple as old-fashioned batch files.  Anything that removes steps and saves time.

 

Process Matters

This has been a little bit of a deep dive into some of the stuff that goes on behind the scenes, but process matters.  I think of it as tying your shoes before you run rather than during the race.  At the end of a software project, especially when time and budget are under a lot of scrutiny, you don’t want to spend resources you don’t have to.  Getting all that sorted out and automated leads to peace of mind and met expectations.

 

Dan Clouse

Senior Developer
Tags
  • Best Practices
  • Development
  • Project Management

Recent Work

Check out what else we've been working on