Cecere recently surveyed 277 IT decision makers (at a mix of large and small organizations) about their application maintenance habits. Application maintenance groups are tasked with the care and feeding of software, which includes fixing bugs and upgrading and developing apps.
He found that larger companies take a starkly different approach to improving application maintenance. Forty-eight percent of large companies empower a project team to improve maintenance efforts that will look at process and best practices. Only 28% of smaller companies turn to a specific project team. Still, as many as 45% of large companies outsource their maintenance, while in comparison only 17% of smaller companies do.
Smaller companies often lack the resources to establish project teams, Cecere said. They also often lack the resources to effectively outsource their application maintenance.
Instead, the most popular method of improving application maintenance at smaller companies is hiring more staff (35%).
But hiring more staff seems to overlook a deeper problem in smaller companies. Smaller companies cited a lack of rigor in the maintenance process as a reason for maintenance inefficiency at a much higher rate than larger companies.
Moti Vyas, CIO of Viejas Enterprises, a casino and shopping center in Alpine, California, said instead of hiring more people to address the problem, he improved his midsized company's application maintenance efforts by creating rigorous documentation and processes.
"There should be a very defined process for supporting applications," said Vyas, who added that documentation is important to sharing knowledge about how to support applications. "I don't like superheroes who don't share information with others or don't like documentation of support. I like people who believe in documentation and are willing to share information."
Cecere agreed that a process rigor and formal procedures are important to smaller companies.
"A lot of times a small number of problems will keep coming up over and over again, and you get scope creep. You go back and forth without having a methodology or structure for closing off with clients," Cecere said. "Sometimes the [maintenance] project never ends."
Vyas said another key to improving application maintenance is building a sound infrastructure and buying solid applications.
"We look at application maintenance well before the RFP for a new application," Vyas said. "Big companies can pick any kind of crappy application and do outsourcing for maintenance and support. Savvy companies will select good systems. One of the measurements for selecting good systems is looking at how you're going to maintain and support it. That's one chapter of the RFP."
Cecere said smaller companies have one advantage -- their application environments are often simpler. There are usually fewer platforms for the maintenance teams to deal with, whereas larger companies often have legacy systems from different divisions or old mergers and acquisitions that create complexity and require more staff.
The Forrester report also found that smaller companies are slightly more likely than larger companies to have staff members on their application teams do both development and maintenance. Sixty-five percent of smaller companies have their application people wear two hats, versus just 54% at larger companies.
"Usually what that translates to is that it's difficult for them to get the job done," Cecere said. "It's hard to find people with both skill sets, and the pay scale for both skill sets doesn't match up with the bigger companies. And also, often maintenance activities take precedence. They find it very difficult to get out of firefighting mode to do something different and proactive like new development."
Vyas disagreed with the idea that making application staff responsible for development and maintenance was problematic.
"I'm trying to create an environment where developers can also support people. That person has to manage the whole application lifecycle. I try to divide their time, 70% application development and 30% involved in change management and performance issues of systems. If you leave maintenance to operational guys, they will throw more hardware at it. If you give it to developers they will find another way to do it. It's very important to keep developers involved [in maintenance]."
"My whole department was nothing but a support desk," he said. "We had 35 staff and we were doing nothing but supporting applications. We were not even deploying new systems. We were hiring consultants to do deployment and we were hiring consultants to tell us what to buy. Most of our time was spent on operational issues."
Vyas solved this problem not by hiring more staff but by replacing some of the staff members he had with people who could handle a new way of doing things.
"I hired the right people so we didn't always have to think about firefighting, but how to avoid firefighting."