Change management: Difference between revisions

From Computer Science Wiki
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[file:system_fund.png|right|frame|System Fundamentals<ref>http://www.flaticon.com/</ref>]]
[[file:system_fund.png|right|frame|System Fundamentals<ref>http://www.flaticon.com/</ref>]]


Students should understand there are a number of factors that need to be managed to ensure change is successful. The way that change is managed can have significant effects on employers and employees.
Change management is the process of identifying, documenting, and approving or rejecting changes to a system in production. It is an important aspect of the development and maintenance of a system because it helps ensure that changes to the system are implemented in a controlled and coordinated manner.


Change management tries to manage:  
There are several reasons why change management is important:


# Workforce issues, such as redundancy/retraining
# Change management helps prevent unexpected or unintended consequences of changes to a system. By carefully reviewing and approving changes, the risk of introducing errors or other problems into the system can be reduced.
# The time frame involved in merging the two systems
# Change management helps maintain the integrity and stability of a system. By controlling the introduction of changes, the system can be kept in a known and stable state, which is important for maintaining the reliability and performance of the system.
# Testing of the combined systems/new data
# Change management helps ensure that changes to a system are properly documented and communicated to all relevant parties. This can help ensure that everyone is aware of the changes and how they may affect the system.
# Data entry if migration not possible
# Change management helps facilitate the orderly and efficient implementation of changes to a system. By following a structured process for reviewing and approving changes, the development and deployment of changes can be streamlined and made more efficient.
# Costs involved in the aligning of the two systems
# Changeover decisions such as parallel running etc
 
 
=== SL version ===
 
When you have a system that is working, it is common to get requests to change the system. '''There is a difference between a feature request, and a bug report'''. If something if isn't working, a user should file a bug report and report it needs to be fixed. If everything is working and the user wants to change it, we begin the change management process.  
 
The important thing to understand about change management is '''you MUST carefully consider all the possible ramifications of the change'''. Changes must be carefully planned, implemented, tested and then refined. We don't just make a change without thinking because this could create unintended problem later on. We could also create [https://en.wikipedia.org/wiki/Technical_debt technical debt] that we will need to pay later. Changes should follow the same process as building software (that is, the design cycle).
 
Change requests usually originate from:
 
* system enhancement requests from users
* events in the development of other systems
* changes in underlying structure and or standards (e.g. in software development this could be a new operating system)
* demands from senior management (Dennis, Wixom & Tegarden, 2002).<ref>https://en.wikipedia.org/wiki/Change_request</ref>
 
=== HL version ===
 
Change management should be supported by a change management system. This is a system which tracks requests for change, assigns unique ID to a change request, and allows developers to collaboratively work on the change. Every part of a change needs to be recorded and tracked.
 
The more complex a system is, the more important it is to manage change effectively.
 
Finally, just because a user requests a change doesn't mean you should make it. Requests for change are related to the stability of a system. If a change would radically change the system, or make it less stable (or secure) the change may have to be denied. Please be careful, because systems must support users. If you do not change, your users will start using better systems.


== Real-world practical advice ==
== Real-world practical advice ==

Latest revision as of 10:46, 18 November 2024

System Fundamentals[1]

Change management is the process of identifying, documenting, and approving or rejecting changes to a system in production. It is an important aspect of the development and maintenance of a system because it helps ensure that changes to the system are implemented in a controlled and coordinated manner.

There are several reasons why change management is important:

  1. Change management helps prevent unexpected or unintended consequences of changes to a system. By carefully reviewing and approving changes, the risk of introducing errors or other problems into the system can be reduced.
  2. Change management helps maintain the integrity and stability of a system. By controlling the introduction of changes, the system can be kept in a known and stable state, which is important for maintaining the reliability and performance of the system.
  3. Change management helps ensure that changes to a system are properly documented and communicated to all relevant parties. This can help ensure that everyone is aware of the changes and how they may affect the system.
  4. Change management helps facilitate the orderly and efficient implementation of changes to a system. By following a structured process for reviewing and approving changes, the development and deployment of changes can be streamlined and made more efficient.

Real-world practical advice[edit]

"Hey can you change this one little thing for me?". This is a very common request. Here's the thing: users think a request is minimal, "no big deal" or "just a little thing". But because end-users don't have a full picture of a system, they do not have information to evaluate if a change is minimal or if it is more involved.

When a user asks you to change something, you should smile and take a deep breath. You should then spend time carefully understanding exactly what functionality the user wants and how you can best plan and implement the functionality.

In larger organizations, there is a well-established Request For Change process which uses a change request form[2]. Always think before you make a change.


Standards[edit]

  • Describe the need for change management.

References[edit]