Essay PreviewMore ↓
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.
How to Cite this Page
"Software Maintenance And Change Control Process." 123HelpMe.com. 20 Jul 2018
Need Writing Help?
Get feedback on grammar, clarity, concision and logic instantly.Check your paper »
- Software Maintenance and Change Control In today's world there is very unusual to have a program developed that will not have further development after release. The requirements of the time that we live are very dynamic and there is a need for constant adaptation. A basic requirement for any new software product is to be adaptable, easy to maintain and modify.... [tags: Business Software Technology]
1642 words (4.7 pages)
- To understand the maintenance involved in software applications, one needs to understand the definition of software maintenance. Software maintenance is the performance of those activities required to keep a software system operational and responsive after it is accepted and placed into production. (Pigoski, 1997) Typically the software support and maintenance phase is the last phase of the System Development Life Cycle (SDLC). The software support and maintenance phase is practiced after an application has been tested and deployed into a production environment.... [tags: Software Programming Computer Technology]
1071 words (3.1 pages)
- Software Maintenance and Change Control in an Organization Abstract The research done for this paper represents an attempt to describe the type and distribution of activities within software maintenance and change control. Software maintenance activities span a system's productive life and consume a major portion of the total life cycle costs of a system. However, what is actually done to systems in maintenance is sometimes a mystery to many organizations. Thus, software maintenance remains an activity that is difficult and expensive to manage.... [tags: Technology Research Software Maintenance]
1266 words (3.6 pages)
- Software Control and Maintenance The importance of managing change in information technology (IT) environments has grown significantly in the last few years. This shift is having a major impact on mid-sized businesses, which needs to increase their focus on compliance and initiatives centered on control, security and documentation. The challenge for change management today focuses on organizational and technological maturity. Most IT shops have been busy building out their technology infrastructure while fighting fires.... [tags: Software Change Management Innovation]
932 words (2.7 pages)
- "Technology makes it possible for people to gain control over almost everything, except technology." - John Tudor Our mission as Software Developers is to develop technology-based solutions-products that provide both the means and the methods for faster working, better performance and to achieve more. The technologies we develop provide users the control and functionality needed to be more efficient. The Software development field has grown with exponential rate. New products are coming to market daily.... [tags: technology, software developer]
778 words (2.2 pages)
- 1. Introduction:- The development of good quality software is very important factor in software industry . Medical software of medical devices with embedded software and decision support system can have great affect on the supply of patient care . A good quality software with poor management practices will never give very good quality of services. Hospital industry and telecom industry are facing challenges in terms of managing software .... [tags: software industry, risk management]
1571 words (4.5 pages)
- Global Software Industry Managing IT Governance & Compliance Regulations and mandates such as Sarbanes-Oxley, Basel II, the EU Data Protection Directive, HIPAA, and International Accounting Standards have forced profound changes in business policies and processes. U.S. companies will spend $5.5 billion in 2004 to comply with Sarbanes-Oxley. European banks will spend almost $4 billion in IT over the next two years to comply with Basel II.... [tags: Business Software Compliance Standards]
1832 words (5.2 pages)
- Open Source Software vs. Microsoft Empire Introduction “I think that to try to own knowledge, to try to control whether people are allowed to use it, or to try to stop other people from sharing it, is sabotage. It is an activity that benefits the person that does it at the cost of impoverishing all of society. One person gains one dollars by destroying two dollars’ worth of wealth. I think a person with a conscience wouldn’t do that sort of thing except perhaps if he would otherwise die.” -- Richard Stallman Richard Stallman, the best-known figure of free software movement professes an absolute refusal of any notion of commercial software.... [tags: Computers Software Technology Essays]
3379 words (9.7 pages)
- Using Software Development Life Cycle at GM Wilmington Assembly Abstract The Software Development Life Cycle is seldom used at my place of work. Unfortunately, recent developments in its use are deemed confidential. Due to this fact, this paper will examine in general terms one of the projects we are undertaking right now while at the same time attempting to maintain our confidentiality. The project that will be examined is an upgrade to our main Human-Machine Interface (HMI) software: Cimplicity, to SQL Server and to the Windows OS.... [tags: Software Development]
1416 words (4 pages)
- ... The business requirements are input into the development of the user level requirements. Based on that effort, we may discover gaps in our business requirements that result in their further refinement. We can then use the information we gain from refining the business requirements for further update of the user level requirements. The business and user level requirements then feed into the definition of the product level requirements. This may lead to further refinement of the business and user level requirements.... [tags: requirements, process, validation, techniques]
2000 words (5.7 pages)
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.
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 stay abreast of its efficiency in resolving issues. These figures are helpful to management and human resources when the need arises for new talent requisition. A decline in the department's efficiency through a system of key performance indicator reports allows management to locate weaknesses in their staff and make the necessary changes. The results on these reports overtime will increase providing of course that the data they utilize adequately represents a given department's function. When utilized correctly maintenance records and reports can provide some of the best work related statistics available.
Change Control Process
The next step in the software maintenance process is the change control process. This process will most likely start out with the end user who is using the software and experiences a problem with the software. Before the problem should be reported, the user should at least be able to reproduce the problem. When the problem is reproduced, the user should obtain the type of hardware and other software being used that may have caused a conflict with the system.
The software problem is then reported through the appropriate channels. This can be done through the use of a website where the user can enter the specific problem through a software problem report or be done automatically where the software generates a crash dump and detects the computers system hardware specifications and other software installed. This can automatically be emailed directly to the software company where it can be analyzed. When a software analyst decides the reported problem is valid, then a software change from request is created.
The next step would be the financial aspect of the process. Before the tests can be started, the company should know the answers to some questions. These questions produce answers to better understand the size and type of workload involved in the process, how much effort is wasted, the cost and schedule of a release and the quality of the released software. Some of the questions are: What is the delivery cost of the software maintenance? How are the costs allocated with the available resources? What kinds of changes are made to the software? How much effort is being expended per change type? How many invalid change requests are evaluated? It pretty much all comes down to independent costing, resources, and quality analysis.
In the software change form request, the specific problems are noted and processed to be reproduced on a default system and on a system similar to where the software fault was originally created. Once the problem is reproduced and verified, the problem report is written up by the test engineer by detailing exactly how the problem occurred and what was done to create the fault on the system. The report created by the test engineer is forwarded to the software engineers who then being to create, fix and modify the code to repair the fault. Once a fix is created for the software, the user control board applies the fix to the software and assigns it a priority to be validated. The priority could be low/routine, medium, high/urgent or critical/emergency and will give an idea as to how important the fix is to the software.
The next step would be the contents within the test plan are to be proposed by the maintenance team and users delivered to the maintenance configuration control board who would recommend a priority to the software change request. While the test activities are planned and documented, the system and acceptance testing of the software are planned and performed to demonstrate the software satisfies its requirements to validate the software test project.
A request for a software version change is requested while the user's maintenance team and system engineering team negotiate the version content of the software. The maintenance control board reviews the release plan and schedules the release for a specific time frame based on the budget set for the project. Once this is done, the software engineering teams completes the design, code and test the release software. During this test phase, the software goes through functional testing, regression testing, performance testing and integration testing to make sure all parts of the software are functional and to verify no faults had risen during the final fix and test processes. The installation and quality assurance of the release are reviewed by the user and system engineering team to ensure the schedule release of the software is on track. The final step is where a final version to the software is attached and issued.
Software maintenance and change control process are critical elements of continued success of any software package. By keeping detailed records,following predefined standard operating procedures, and adhering to proper escalation protocols a company can efficiently maintain and update their product. As multiple industries move towards computer automation for control of their daily operations, stable and scalable software packages become more and more crucial to the thriving software based businesses of the global economy. With continued dilegence to provide standardized support for software aided businesses, companys are able to generate higher profits for not only themselves but their customers as well.
(2005) RCGlobal Information. Sample pages of the Template for a Software Maintenance
Plan. Retrieved, from http://www.rcglobal.com/wrcg25septrcgsamp.htm
Stark, George E. (1997). The MITRE Corporation. Measurements to Manage Software
Maintenance. Retrieved, from