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...