Bringing Agility to your Software Maintenance Plan: 3 Fool-Proof Tactics by ExecutiveBrief reporter Chuck Myron located at http://www.executivebrief.com/article/bringing-agility-to-your-software-maintenance-plan-3-fool-proof-tactics/
Don’t risk losing your competitive edge by allowing maintenance improvement to lag behind development. Stay ahead of the curve by following this detailed action plan for success.
It can be tempting to cut corners in the race to develop software, particularly when trying to negotiate the hairpin turn of software maintenance. The value of software maintenance process improvement has been difficult to define over the years, but new initiatives and technologies are being developed to make software maintenance teams more efficient, cohesive, and productive. Recent innovations in this arena and an intensified focus on improving software products across the technology industry are increasingly putting maintenance under an unfamiliar spotlight.
Leaders in the software maintenance field are focusing on three key approaches to improving their processes:
- Examining traditionally neglected management and workflow structures, which often are simply borrowed from software development, and reworking them specifically for application with their maintenance teams.
- Developing mechanisms that can diagnose code errors and regulate and simplify languages in order to alleviate much of the maintenance burden.
- Capitalizing on the intensified focus on the need for improvement of software products that is resulting in a renewed awareness about the need for quality maintenance.
Addressing maintenance can help companies to conserve valuable resources of time, energy, and money, asserts Alain April, professor of software engineering at the University of Quebec and coauthor with Alain Abran of the recently published Software Maintenance Management: Evaluation and Continuous Improvement.[1] “If you get an edge in this area, you will get an edge in your market,” says April. “If you don’t do this right, you’re going to destabilize yourself. You will have to do a major rework or a major redesign that will cost a lot of money.”
#1: Addressing Maintenance Management Structure
The traditional role of software maintenance has been to check on the software development team, diagnosing problems and identifying areas where improvement may be needed. Yet despite holding this critical responsibility, maintenance teams are often regarded as less vital to the success of a project than their development counterparts.
“They’re really the ‘blue collar’ of the industry,” says April. The achievements of maintenance aren’t met with the fanfare of successful developments, and as a result, maintenance technicians often feel unappreciated and may develop an unwillingness to continue dedicating their time and effort to the process for others to reap the benefits and recognition of their work. “You end up with a situation where these people don’t want to stay, and this could mean a lot of valuable knowledge walking out the door,” April adds.
To remedy this situation, leaders need to research management and maintenance techniques and consider appropriate structures that they can adapt specifically for application with their maintenance teams, making processes easier for the department by facilitating better documentation and smoother workflow. Simply borrowing from software development techniques is an approach that is wrought with potential dangers. It is necessary to develop an actionable set of directives and improvements that maintenance managers can present to chief information officers and other executives in such a way that they can understand and support.
#2: Streamlining Processes with Effective Tools
Another key approach for companies is to develop or identify and implement effective tools for supplementing their identified theoretical approach to process improvement. One available industry option for such a tool that has been gaining attention recently is the Application Intelligence Platform (AIP) 6.1, the latest version of the automated code inspection system provided by CAST. The French company, which has North American headquarters in New York, markets a system that’s designed to streamline the software maintenance process by simplifying and standardizing the code used by builders.
“The more easily my system can be upgraded and changed, the more competitive I’m going to be,” says Bill Curtis, CAST chief scientist and senior vice president. The AIP diagnoses potential pitfalls early in the process and allows team members who are working on a program, from the project manager to a maintenance technician, access to detailed reports. A major upgrade in version 6.1 is a new graphic user interface that allows for greater customization of the reports, facilitating easier access across the company. “We’re trying to give people more control over their designs,” Curtis adds.
“There has been automation for 20 or so years,” Curtis notes. “What there hasn’t been is the automation that looks at the components across all of the languages.” Relative ease of use is a major factor for companies charged with maintaining complex-and often out-of-date-systems.
“One of the biggest challenges is trying to figure out what’s happening in the existing code base,” Curtis says. “That’s a huge cost; it’s a huge problem and limits the amount of business functionality.”
Using such a system not only simplifies existing maintenance projects, but it also helps to decrease the size and scope of future maintenance needs. “Clearly the objective is to slow the pace at which this becomes a legacy monstrosity,” Curtis notes. “An objective here is to maintain the utility of the application over a long period.”
Jake Messier, a spokesman for CAST, adds that the ability of AIP to offer the prospect of fewer headaches down the road has been a major selling point for executives. “A lot of these guys don’t sleep well at night,” he says. Messier admits that the immediate benefits of a product geared toward enhancing maintenance are often intangible. “When you start implementing a solution now for applications that are coming out six months from now, a year from now is when you’re going to start seeing the ROI,” he notes. “There is some automatic gratification as well, not from an ROI perspective, but from a peace of mind perspective.”
Solid maintenance can be more than a cure for insomnia, says Curtis, who believes that it’s just a good business practice that can help slash overhead. “It’s cheaper to make a fix, to make an enhancement, to a less complex product,” he says. “The simpler the code base, the faster I get this change out of the department and to the business.”
Ultimately, an important approach for leaders is to research or develop and implement effective tools for streamlining their processes, and mechanisms that are designed to diagnose code errors and regulate and simplify languages can help to alleviate much of the maintenance burden. Recent innovations such as these are helping software maintenance teams to become more efficient, cohesive, and productive.
#3: Embracing the Growing Role of Maintenance
Executives can also take comfort in knowing that software maintenance is keeping them on the cutting edge. With the introduction of products like AIP, which takes a broad-based approach to the specific task of maintenance, there is an apparent industry-wide sharpening of focus on software itself. Curtis notes that this intensified awareness on the quality software maintenance processes is a function of the progression of the tech industry from an emphasis on language improvement in the 1970s, to innovations in methods and tools in the ’80s and development process management in the ’90s, and finally to today’s software challenge.
April adds that those who have lived and worked through all of these eras are especially valuable assets to the maintenance teams of today. “Maintenance is not always a young boy’s game,” he says. “If we’re going to be able to fix a software problem today, we need somebody who has an overall knowledge of the system.”
What is needed is for companies to get it right in the maintenance department, combining the appropriate mix of youth and veterans with an aggressively innovative spirit. More companies will continue to follow suit and embrace quality maintenance practices. “We are in a time of transition,” Messier says. “I do think that it is shifting-that it is in the forefront of the minds of a lot of executives.”
Automation and better management are increasingly making software maintenance significantly less daunting than in the past. Yet even as the need for innovations and improvement in this area gains increased attention, maintenance will continue to be a challenge that must be faced and overcome by every tech company. As Curtis concludes, “I think we’re going to reduce the load, but we’ll never eliminate it.”
Reference:
[1] For more information on Software Maintenance Management: Evaluation and Continuous Improvement or to take a short assessment provided as a free resource based on the book that will provide feedback on the maintenance models already in place by your company, visit April’s Web site at http://www.s3m.ca .