Software Maintenance And Change Control Process
Essay by 24 • November 3, 2010 • 1,896 Words (8 Pages) • 2,009 Views
Software Maintenance and Change Control Process
Programming Concepts POS/370
Introduction to Software Maintenance and Change Control Process
Software maintenance process is a topic that probably comes up in most organizations and is an important one to address. Once software is created there are usually changes or bugs that are found causes there to be a need for maintenance. It is important to have a process in place that helps to define how these items are handled and the path they take to completion. Using different tools to log these changes, requests, or bugs will is important to keep things organized and allows for proper tracking of these items.
As part of Software maintenance there is another aspect called change control, which basically is keeping track of the different versions of code. As code changes to accommodate new requests or bugs there are different versions of code for the same part of the software. If this is not properly handled it can cause a lot of confusion and could also keep the right changes from being moved into a production environment. Software tools that can help with that are Microsoft Visual Source Safe or Collaborative SourceSafe. Both of these tools allows a user to put a document in a certain location or "safe" and than when changes occur they check out the document, which keeps another developer from getting the code and making changes at the same time. Once the changes are completed the document or file can be checked back in allowing others to view this new version. Like any project it is always the things that may seem to some as the most trivial that cause a project to be successful or to have difficulty.
Understanding Real World Software Maintenance Processes
The software maintenance process is a long-term support tier for any and all computer-based business systems. In the age of computer automation and electronic commerce, many businesses have become dependent upon scalable and error proof software platforms. The ongoing support of these systems by the software manufacturer is crucial for the business owner, and the software's longevity. Software Maintenance is a detailed process for weighing suggested program additions, making program updates, supporting user-related questions, and fixing latent errors. This process is both heavily time and resource consuming for software firms. This is why it is important for all software firms to have a strong and well-organized software maintenance plan, in which any changes to a given product are, to be followed. This insures that all changes and updates will be escalated through the appropriate resources and management to reduce unnecessary expenditures.
Software Maintenance Resource Roles
In order for a software maintenance plan to be effective it must be supported with the necessary talent and management structure to insure an expedited escalation path through the companies software support team.
The first tier of the software support maintenance plan is technical support team. The technical support team will handle all user-related questions, concerns, and problems. Their main function is to isolate user errors from system errors. In the event of a user error, or a miscommunication of the proper procedure in which to perform in a given program to yield the desired result, the technical support representative will walk the user through the necessary steps to reach the customer's goal. In the event that an issue arises and cannot be resolved by a technical support team because it is programming related, the team will escalate the problem to the development team. By utilizing the technical support team as filter the company preserves its programmer resources by only involving them when their specific talent is required.
The second tier of the software maintenance plan is the programming/development team. Their primary responsibility is to correct code dependent errors and make necessary software updates when advised. This team works in conjunction with management to prioritize issues and updates in the interest of the company and its customers. Utilizing programmers on an as needed or project basis allows the company greater flexibility of their programming resources, once again allowing them to conserve precious talent for only the most critical issues.
The third tier of the software maintenance plan is management. Management works in tandem with both of the previous layers. For instance there may be a technical support supervisor who makes the final decision about escalation to the programming team. This person serves as the liaison between the two teams to insure that the issue is communicated, fixed, and ultimately resolved for the user. On the programming team a project manager or lead programmer may be in charge. This person's job is to prioritize pending escalated issues from the technical support team as well as company requested modifications to the program. This person is often times the head of the programming team and may report directly to the systems manager or IT manager. Above the lead programmer you have the IT department manager. This person's job is to monitor the IT department's day to day operations to insure that it is effectively and efficiently supporting the company's customers.
Training
Companies spend millions of dollars a year supporting customer or user bases that are not educated in the proper way to operate their programs. By developing a training program for the customer/user the company can greatly reduce its expenditures on technical support resources. As said in the past "Give a man a fish, feed for a day. Teach a man to fish, feed him for life." This principle still holds true today in regards to program specific training. Once a user is aware and accustomed to a programs capabilities and processes, their dependency on the support team for guidance is greatly diminished.
Maintenance Records and Reports
By using key performance indicator reports and detailed date specific records of corrected problems, the company as well as the software maintenance team is able to
...
...