Warning Signs Your Organization Needs CI/CD

Sometimes, taking a look at a problem from a different angle makes it look different. As a recent meme showed, a six and a nine are the same marks, just viewed from different angles. I don’t know who originally created this image; if you do, drop me a line and I’ll give them all the credit.

There are a lot of reasons for your organization to consider continuous integration and continuous delivery (CI/CD). A quick Google search can show lists of reasons, mostly technical or business-related, that attempt to give enterprise IT impetus to move toward the various forms of DevOps. But a solid set of reasons, discussed occasionally, is worth considering because it has a separate appeal.

IT staff are people. They have the needs of people. They have (or lack) the skills of people. And they respond as people. Answer the following questions, and consider what your answers might mean for your organization:

Twitching. Can your caffeine consumption and amount of sleep be tracked by the release cycle?

The Pain. Do you have stress headaches based on work?

Must. Not. Look. Are you still—or even more—stressed when you are away from work, even avoiding email when not on call?

Those Guys. Do many in your organization see IT as an anchor that drags behind the ship, slowing it?

Slippage! We Have Slippage! Does the phrase, “Yeah … the deadline slipped” not even cause you to raise an eyebrow anymore?

Total Manhours: 1,440, assuming no full moons. Do development timelines mostly get expressed in terms of months or even years, and even then everyone expects the number is too small?

And Then, We Put it on a Floppy… Are there areas of the development/deployment cycle that you avoid looking too closely at, or everyone rolls their eyes when the topic comes up?

Ask Bob. No One Else Has a Clue. Are there critical software systems with just one or two people who can keep them running in your org?

We’ll Test in Production! Is “due to deadline slippage, we have less time for testing” normal and expected, not even causing you to think of the implications anymore?

Now That We Can Use it, that Chicken Dance Requirement for Order Entry Is … Not good. Are business-owner changes to requirements happening at the last minute, after the business sees how the functionality/flows of the system work, and can actually start using it?

This Would All Be Better if Your People Learned to Use Left-Handed Smoke Shifters. When someone in the business starts talking glowingly about strange new development technology X, you start mentally calculating when you’ll find time outside of work to research it.

Release Recovery. Is there always a period after rollout that critical development staff are kept on the project to fix problems that occur in production?

Operations Claims That … Are the names of other IT departments used as swear words by App Dev?

Sure, I’m being a bit tongue-in-cheek, but am I wrong? A ton of people and organizations actually feel many of these items. It would be unsurprising to hear your organization is one of them.

And these are good reasons to consider CI/CD. Sure, we could dress them up with business or technical reasons based upon them, but the reality is that human overload, stress, burnout, and avoidance are reason in and of themselves – if for no other reason than they are symptoms of organizational inefficiency.

If you are suffering from any of these symptoms, read the articles here on DevOps.com, and others easily found on the web. Consider one of the excellent CI/CD books on the market, talk to trusted dev tool vendors about their CI/CD tools. See if the stories told by those who have implemented CI/CD is where you would like to end up.

It might just cut down on those headaches. But it won’t free you from developing in JavaScript. There is no silver bullet, after all.

Software developers use open source components to be more competitive and speed time to market. Resulting in massive usage that’s growing. Sounds great, right? Until you find 1 in 16 components have known security vulnerabilities. Read this ebook to learn more about how you can use precise component intelligence and ... Read More

Continuous delivery is a software engineering discipline that allows organizations to consistently develop and release quality software at a rapid pace. It is achieved by automating the software development lifecycle, enabling tasks such as development, testing and release to occur concurrently and continuously.