INTERTEC BLOG

The Top 5 Challenges CIOs Face in Software Development

July 28, 2020 / by Jair Carrillo

The role of CIO has seen tectonic shifts in focus since its inception nearly 40 years ago. Even in just the last couple of years, the widespread adoption of CI/CD (continuous integration/continuous delivery) across the development landscape has completely transformed expectations. Where time-to-market was once measured in days or weeks, continuous delivery means that it's measured in minutes or hourswhich means that CIOs are under never-before-seen pressure for maintaining stability in impossibly fast-paced environments. 

CIO roles have changed quite a bit in recent years, including taking a more hands-on approach with the development team.

This shift in focus and technology has already changed the basic tools, methods, and competencies that CIOs need to do their jobs well. Whether you're being looked to for revenue-generating ideas or simply overseeing the ongoing maintenance of IT infrastructure as before, automation, cloud technology, and more are becoming non-negotiable.

The result (and we'll talk more about this below) is that QA and operations are being radically transformed to keep up with radical transformations in other business areas. As CIO, you're tasked with managing that transformation on an ongoing basis and ultimately choosing the right tools and methods for the job. This can be a daunting task, but if you're able to break it down into discrete challenges you can begin to address new challenges in a smart, systematic way.  

 

1) Keeping Pace with Time-to-Market Expectations

Like we alluded to above, CI/CD has been a game-changer. Teams are able to use code to deploy servers rather than doing so manually, which means they get new code to production more rapidly than ever before. As this tactic becomes more widespread across industries, speed becomes more and more paramount for companies trying to stay competitive. For CIO's this means that almost all modern challenges wind up under the larger umbrella of time-to-market. 

For many, or even most, enterprise businesses, this requires a complete transformation in how IT operates. We'll get into the ins and outs in the next challenge, but IT and QA staff increasingly need to have development capabilities, and they need the tools that developers are already using to create pipelines and automate processes that used to be performed by hand. This transformation requires a clear, end-to-end vision of what modern operations and testing departments look like, as well as the complex infrastructure to support that vision.  

 

2) Turning Operations into DevOps and QA into QA Automation

From the CIO's perspective, this state of affairs requires a complete transformation in operations. Infrastructure that used to be managed manually now needs to run on code and other development tools that are specific to IT. Most development teams outside the IT department's purview try to remain blissfully unaware of what's happening on the operations side, which means that you're probably going to be left to your own devices—so to speak—when it comes time to set up code repos, install Docker, automate your build pipeline, etc. 

When it comes to QA, CIOs need to oversee a similar shift. Testing processes that used to be performed manually now need to be automated. Why? Because hand testing for quality assurance can be a slow and laborious process, meaning that QA can easily become a bottleneck that slows time-to-market considerably. As such, you need test automation that empowers you to run through test suites in a matter minutes or hours rather than days—which means that all of a sudden your QA team (much like your operations folks) need to be proficient in writing code in a way that wasn't true even a couple of years ago. Again, you're responsible for creating a test environment that's equipped with the right tools and technologies—a task that can be particularly daunting if you haven't been a boots-on-the-ground QA tester for years and years. 

Of course, we don't mean for things to sound too dire. Establishing these teams can also make life a lot easier. The annual State of DevOps Report indicates that on average, implementing DevOps cuts unplanned work by over 20% and increases new project work by over 40%. Redefining these teams creates a ripple effect with benefits being felt across the organization. A small sample of these results:

  • Fewer calls to customer service > bigger projects can be tackled
  • Lower incident rates for tech support > more hands-on help can be provided
  • Better retention rates > less pressure on HR

As CIO, the benefits of creating a DevOps team cross departments: IT automation speeds up time-to-release and accelerates bug fix timelines for development, while increased flexibility makes for happier dev teams who collaborate more willingly. And that last piece leads to more cross-skilling and self-improvement which means even happier, more fulfilled team members and lower turnover.

contact us

3) Avoiding Cloud Disasters

This challenge could really be split into two: transitioning to the cloud successfully, and keeping your cloud deployments stable. The former is often much more difficult than cloud providers would like you to believe: To move standard software to the cloud, you need a whole host of specialized tools, and often dedicated cloud architect or specialist. You want to manage the transition with a minimum of disruption to the daily lives of your IT users, but unforeseen disruptions are almost certain to crop up along the way. You'll need to figure out what to do about replacing or integrating the functionality of legacy applications that some users might rely on, and—because of the very nature of the cloud—you'll likely have to find a way to manage more data than ever before. 

Even once you've accomplished all of this, you're still not out of the woods. Why? Because the reactivity and connectivity of the cloud can actually increase your risk. In the past, if you had a few in-house servers running and something went wrong with one of them, it wasn't necessarily going to crash your entire system. With the cloud, an error in one department can impact your entire organization. In fact, this is the kind of thing we see all the time: a user on the company's cloud servers makes an innocuous mistake, and all of a sudden their entire website is down, potentially resulting in a wave of bad PR that erodes public trust. As CIO, it's your job to make sure this doesn't happen.  

 

4) Finding The Right Mix Between Technical Know-how and Emotional Intelligence

Okay, let's change course for a second and talk about people, rather than just technology. The gawky, basement-bound software developer is an age-old stereotype—and it exists for a reason. Sure, it's a job that's becoming increasingly professionalized, but when you consider that your QA and operations teams now all have to be developers as well, there's a good chance you'll be tasked with getting the best work out of people who aren't always at ease in a traditional work environment. 

With a diversity of teams and people reporting up to you as CIO, you’ll find yourself walking a fine line between the technical and the “soft skills” side. Actually, let’s use the current and more accurate term, “core skills.” These are things like empathy, reason, understanding, patience, etc. In other words, skills not previously associated with the technology world. This allows you to pivot when necessary, to know how your presentation is affecting key stakeholders, and, most importantly, when to stop talking and start listening. You never know what you might learn from the other people in that meeting unless you let them speak up, right? It’s up to you, the modern CIO, to prove the old stereotype of the socially awkward technical wizard wrong.

CIOs are also increasingly being called on to take more public-facing roles, further elevating these core skills up the ladder of importance. The ability to present a social media presence that aligns with the company brand image, while imbuing it with your own personality can set you apart and give your customers a deeper look into the company. Add that to the need to translate highly technical material into language any member of your customer base can understand and you can see your way to becoming the complete CIO package.

 

5) Finding the Right Balance of Technologies

Just because you’re leading the IT teams doesn’t mean you have to immediately adopt the latest and greatest...everything. The tech world moves at the speed of tech, while your company might be cruising along at the speed of your industry instead. It’s up to you to stay up on those new, emerging technologies and determine if they’re a good fit for your specific situation, rather than letting your actions be dictated by the latest tech trends. Trying to shoehorn in every new widget will only lead to burnout or worse, cause your existing systems to come to a crashing halt.

New buzzwords like containerization, automation, and edge computing are catching on like a technological wildfire. And we’ll be the first to admit that these innovations are poised to change the business world. However, we’ll also be the first to admit that they’re not for everyone. Take serverless computing as an example. It's an increasingly sexy buzzword, and it can have its benefits, but how do you tell if it's a good fit for your workflows and IT environment? You need to do a deep research dive, gain a lot of specialized knowledge, and potentially even consult with experts outside your company in order to figure out whether going serverless will make your IT more or less stable, and what the other tradeoffs might be. 

This is just another example of how CIOs need to be jacks-of-all-trades. One day you might be leading a brainstorming session with the developers down in Costa Rica and the next you might find yourself in front of a roomful of investors impressing them with your ability to break down the latest release’s technical specs into plain language. The secret to being a stand-out CIO is knowing how and when to call on the various skills you carry in your quiver. 

 

Learn More About Intertec’s Software Engineering and Support Services 

Intertec specializes in building and supporting custom software for its diverse clients. Our experienced team of interdisciplinary professionals have experience at all stages of the software development lifecycle. Click here to learn more. Prefer a personal consultation? Go ahead and schedule a meeting with us here

Jair Carrillo

Written by Jair Carrillo

All about engaging, informing, and impacting audiences. I love to support and develop the people around me—it's the secret recipe for achieving goals and growing companies. There's nothing better than a job where your work is valued and your voice gets heard regardless of your position.

Leave A Comment