Striking a balance between being proactive and being overly cautious when it comes to the software development process isn’t always easy. Finding that middle ground is what constitutes the majority of I.T. governance conversations where there are often differing views with regard to how much governance is necessary and where to best enforce it along the software development lifecycle.
In an effort to stay competitive, continuously improve the user experience and meet tighter deadlines for product releases, there tend to be compromises in the enforcement of governance policies and best practices. In many instances, these tradeoffs aren’t obvious to the customer. In other situations, they become quite visible after the software has been deployed and can result in software glitches that affect the customer experience and compromise the reputation of the businesses directly and indirectly responsible.
Of course, a big part of QA and beta testing takes care of a lot of these potential glitches, yet the big question still remains. Is it faster and cheaper to deal with the software glitches after the product has been released? That really depends on the extent of damage that a glitch can cause.
Just take a look at some of the more prominent glitches that have made the rounds in headlines across the world. Toyota’s software glitch caused enormous problems both for the company and its customers. Yet other minor glitches don’t make the front page but continue to interrupt business and eat away at a company’s reputation.
You can almost predict the glitch news stories according to the season or current events. It’s not uncommon to hear about software glitches and online tax filing in April, as we did recently with TurboTax mistakenly double counting a taxpayer’s medical insurance premiums as deductions, resulting in a claim for a refund that was $600 too large. And the Illinois Department of Revenue had to issue a deadline extension for filers this year due to a software glitch. Around the holidays, we’ll read about consumer shopping glitches like Toys R Us double charging credit card customers as they did in November of 2009. You get the picture, and there’s certainly no lack of news stories about software glitches.
So why can’t we get better about preventing software errors? While we’ll never completely obliterate them, there is something to be said about the role of IT governance to at least flag potential errors as the software code is being written so that developers can fix them before they get baked into the final product.
While this sounds good in theory, in many environments the old IT maxim prevails – everybody wants governance but nobody wants to be governed. The benefits of IT governance are not the issue. Rather, it’s the approach to ensuring adherence to policies and best practices. However, inconsistencies in establishing best practices and creating policies will deliver mixed results in the final software products. Along with inconsistent approaches, IT governance can also unnecessarily create an uncomfortable atmosphere where employees feel as if their every keystroke is being watched. Not to mention that more traditional approaches to IT governance are considered time consuming and counterproductive.
However, when we’re talking about building trust with customers, increasing the bottom line and avoiding being the punch line in another news cycle about software glitches, there has to be a more effective way of addressing these glitches and accommodating the work environment that developers want.
Recent advances in governance technologies have introduced automated and distributed approaches. Automating many of the more mundane tasks associated with development helps to alleviate the previous time-consuming processes. And by distributing policies and best practices throughout the infrastructure, there will be a more consistent approach to software development.
However, there may still be resistance to governance from an employee perspective. Some companies introduce and enforce IT governance by attaching it to performance reviews. Others find that explaining the impact of not following IT governance from an end user’s point of view is most effective in dispelling fears of being watched. For example, articulating the effects of a software glitch like in the case of Toyota helps to illuminate the importance of IT governance. While each company has a distinct culture, the most important way of alleviating the fear that governance is a watchdog approach to management is to emphasize its importance in aiding the software development process and ensuring better quality products that are released to the public.
The role of IT governance is certainly not a new wrinkle, yet there are three converging forces that will make software errors more ubiquitous and cause a far wider and deeper ripple effect, and therefore make IT governance even more critical. These factors are likely to bring up the role of governance and stir the old controversies in new ways.
- There is an IT skills drought, where there are a growing number of skilled experts, like those with a mastery of COBOL, who are retiring. With the multi-year drop in computer science majors after the dotcom collapse, there will be more developer positions left unfilled. For those graduates that do pursue a career in IT, their interest will continue to be in the so-called cooler front-end technologies and not on the mainframes that are running upwards of 70 percent of the world’s largest banks and government agencies.
- Mergers and acquisitions continue to present IT challenges to the teams that are under tight deadlines to integrate the various back-end systems. Understanding the IT inventory of the newly formed company is one challenge and determining how to successfully integrate it without disrupting service is quite another. It often takes longer than expected, even with the best teams in place.
- The sheer ubiquity of technology creates its own problems. Look at all our devices, our constant connectedness, and pursuit of the latest gadget or application. We clamor for the latest tools, and the manufacturers are more than eager to make new products available in ever increasing development cycles. This faster pace has an affect on the quality controls that are in place.
When you step back and look at these factors, you realize that the more technology we possess and the more connected we are, the higher the chances of having these glitches proliferate.
What’s very likely is that we’ll see more issues with auto manufacturers, medical devices and banks. In fact, if you put the term “software glitch” in front of the words “auto manufacturers,” “medical devices” or “banks” into a search engine, you may be surprised at the volume of new stories that you’ll come across.
Faulty software embedded into our cars and x-ray machines is putting our physical health at risk. In terms of our financial health, the massive mergers going on in the banking industry are resulting in mistakes in our checking accounts or even the temporary inability to access our own money.
The irony here is that technology is creating these issues, and it will be up to technology to get us out of the corner we’ve painted ourselves into.
These real-world software glitches emphasize just how critical the developer’s role is to their neighbors, families and themselves., not to mention the influence of their software design on the economy as a whole.
Bringing this full circle, one of the most effective ways to prevent these types of glitches is through IT governance. Introducing governance through real-world scenarios helps remove the mindset that developers are being watched. Rather, it reinforces the value they contribute to the organization and the importance of doing software development properly right from the start.