Implementation methods: Difference between revisions

From Computer Science Wiki
(Created page with "right|frame|System Fundamentals<ref>http://www.flaticon.com/</ref> In computing, a legacy system is an old method, technology, computer system, or ap...")
 
No edit summary
 
(25 intermediate revisions by the same user 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>]]


In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system."Often a pejorative term, referencing a system as "legacy" often implies that the system is out of date or in need of replacement.<ref>https://en.wikipedia.org/wiki/Legacy_system</ref>
'''Implementing''' can be defined as putting (a decision, plan, agreement, etc.) into effect<ref>https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=define%3Aimplement</ref>. Systems implementation is the delivery of that system into production (that is, the day-to-day business or organization operation).<ref>http://web.simmons.edu/~benoit/lis486/SystemsImplementation</ref>. It is important you understand this topic isn't about BUILDING or PROGRAMMING a system, but rather making the system live. We use the word implementation differently here than we use it when we discuss the design process.


Legacy systems are usually '''still in use''' as opposed to retired (or archived) systems, which are no longer in use. Please remember this distinction.


=== All about legacy systems ===
== Four common methods to implement a system ==


Systems must be compatible with other systems if they are going to be useful. Legacy systems are not always compatible with newer systems. Compatibility is a state in which two things are able to exist or occur together without problems or conflict. When you are planning a new system, you should be aware of compatibility issues with older systems. Frequently, the way a legacy system stores data is the most frequent source of compatibility issues.
=== Parallel ===


A few hypothetical examples may help you understand this:
When the new system is used at the same time as the old system the two systems are said to be running in '''parallel'''.


# A new system accepts input for a date as 11 November 2017, but the legacy system only accept input as 11 November 17
'''Advantages:'''
# A new system is web-based, but an older system is not web-based
# A new system allows [https://en.wikipedia.org/wiki/UTF-8 UTF-8] (Unicode Transformation Format-8) characters but the legacy system does not.
# A new system assumes all currencies are in US dollars, while the legacy system does not.
# A new system stores time as HH:MM:SS:MS (HH: hour, MM: minute, SS: second, MS: millisecond) but the legacy system stores time as HH:MM:SS.
# A new system assumes all numbers can have 4 decimal places, while a legacy system assumes all numbers only have 2 decimal places.
# A new system stores data in XML while a legacy system stores data in plain text.


== Real-world practical advice ==
* Users can can compare the output of the old system with the output of the new system, to ensure correctness
* There is little risk of data loss because the known-good system is running
 
'''Disadvantages:'''
 
* Users must take more time to enter data into two different systems
* Data could be different in two different systems if there is intensive data entry.
 
'''Example:'''
 
# A medical system that tracks patient heart rates is being replaced. A new system is attached while the old system is still working. The two systems are used in parallel to ensure the new system produces the exact same data as the old system.
 
=== Phased ===
 
When small parts of the new system gradually replace small parts of the old system, the implementation method is said to be '''phased'''.
 
'''Advantages:'''
 
* Training can be completed in small parts
* A failure of the new system has minimal impact because it is only one small part
* Issues around scale can be addressed without major impact.
 
'''Disadvantages:'''
 
* This implementation method  takes more time to get the new system fully online than other methods.
* There is a possibility of data loss if part of the new system fails.
 
'''Example:'''
 
# A school has a new system to manage student athletics. The old system is paper and pencil. Slowly, over time, a new system is introduced to manage students, their teams, seasons, and their coaches. At first, the new system simply manages teams. Then the new system manages seasons (and school years), slowly, the new system is increased to manage coaches, players and finally events. At the end of implementation, the new system is managing everything related to student athletics and the old paper and pencil system isn't being used any longer.
 
=== Pilot ===
 
When a small group of users within an organization uses a new system prior to wider use, the system is said to be '''piloted'''.
 
'''Advantages:'''
 
* Training can be supported by pilot group
* Failure or problems can be identified and addressed without wide-spread impact to the organization
 
'''Disadvantages:'''


When you are planning a new system '''you should include compatibility planning as part of your new system'''. If you are a system administrator, programmer, network administrator, much of your work will involve getting different systems to be compatible.  It's always nice when you have a new system, new company, and a new process, but this isn't the norm.
* In a pilot, issues of scale can cause problems. For example, the system might work well for 10 users, but not for 1000.


There is a lot more to say about this, but my advice is to assume any system you are involved with needs to be compatible with other systems and legacy systems.
'''Example:'''


== Do you understand this material? ==
# A bakery is implementing a new system for customers to order online. They choose 50 customers and ask them to try the new system, and provide feedback. The bakery can can then identify issues and address them prior to implementing systems for thousands of users.


This is a simple example:
=== Direct ===


Jana has a small business that buys and sells flowers. Her business is successful. She uses different systems to manage her inventory, point-of-sale, employees, and of course her business finances. Jana also has a website for her flower store where customers can learn about her business.  
When a new system is implemented without any phased or pilot implementation, it is said to be '''direct'''. The old system is retired, and the new system goes live.  


Jana is '''so''' successful she decides to expand her business, and buys an older company that buys and sells [https://www.google.com/search?q=cute+stuffed+animals&safe=strict&espv=2&biw=1380&bih=667&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwimhYC1ouHNAhWJez4KHVzPBvQQsAQIGg cute little stuffed animals].
'''Advantages:'''


Jana wants to merge the two companies together, expecting to benefit with increased sales.
* If the system is not critical, this can be a good method for implementation


Question 1: Outline possible compatibility issues resulting from our example above.
'''Disadvantages:'''


Question 2: List at least 5 questions would you ask to understand compatibility issues between the two businesses.
* If you are not sure the system will work, this method of implementation may not be a good idea


== Standards ==
'''Example:'''


* Evaluate alternative installation processes [[Level 3]]
# A store is implementing a new electronic system for employees to leave suggestions for improvement. There is no existing system. The store uses direct method because they are very sure the new system will work, there is a low cost if the system fails, and the store wants to make a "big splash" with the new system.


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


<references />
When a system implementation is poorly planned, there is an increased chance the system will fail. Don't just think "hey, I'll just make sure the system works". You must be responsible for ensuring there is a good plan for implementation. I have seen perfectly good systems fail because implementation was done poorly. It comes down to '''good planning'''.


[[Category:System fundamentals]]
There is another real-world issue you should be aware of. There is a wide range of emotional reactions to change. Some users will welcome change, others will be uncertain, some will be openly hostile whilst others will attempt to sabotage it. Training issues may require organizations to restructure their workforce. New systems often accompany a wide range of emotional reactions. Communication about the change, and sensitivity about users change should be well-managed.






== Standards ==


* Evaluate alternative installation processes


== References ==


<references />


Students should be aware of the methods of implementation/ conversion.
[[Category:System fundamentals]]
Parallel running, pilot running, direct changeover and phased conversion.
S/E Training issues may require organizations to restructure their workforce.

Latest revision as of 16:03, 11 January 2023

System Fundamentals[1]

Implementing can be defined as putting (a decision, plan, agreement, etc.) into effect[2]. Systems implementation is the delivery of that system into production (that is, the day-to-day business or organization operation).[3]. It is important you understand this topic isn't about BUILDING or PROGRAMMING a system, but rather making the system live. We use the word implementation differently here than we use it when we discuss the design process.


Four common methods to implement a system[edit]

Parallel[edit]

When the new system is used at the same time as the old system the two systems are said to be running in parallel.

Advantages:

  • Users can can compare the output of the old system with the output of the new system, to ensure correctness
  • There is little risk of data loss because the known-good system is running

Disadvantages:

  • Users must take more time to enter data into two different systems
  • Data could be different in two different systems if there is intensive data entry.

Example:

  1. A medical system that tracks patient heart rates is being replaced. A new system is attached while the old system is still working. The two systems are used in parallel to ensure the new system produces the exact same data as the old system.

Phased[edit]

When small parts of the new system gradually replace small parts of the old system, the implementation method is said to be phased.

Advantages:

  • Training can be completed in small parts
  • A failure of the new system has minimal impact because it is only one small part
  • Issues around scale can be addressed without major impact.

Disadvantages:

  • This implementation method takes more time to get the new system fully online than other methods.
  • There is a possibility of data loss if part of the new system fails.

Example:

  1. A school has a new system to manage student athletics. The old system is paper and pencil. Slowly, over time, a new system is introduced to manage students, their teams, seasons, and their coaches. At first, the new system simply manages teams. Then the new system manages seasons (and school years), slowly, the new system is increased to manage coaches, players and finally events. At the end of implementation, the new system is managing everything related to student athletics and the old paper and pencil system isn't being used any longer.

Pilot[edit]

When a small group of users within an organization uses a new system prior to wider use, the system is said to be piloted.

Advantages:

  • Training can be supported by pilot group
  • Failure or problems can be identified and addressed without wide-spread impact to the organization

Disadvantages:

  • In a pilot, issues of scale can cause problems. For example, the system might work well for 10 users, but not for 1000.

Example:

  1. A bakery is implementing a new system for customers to order online. They choose 50 customers and ask them to try the new system, and provide feedback. The bakery can can then identify issues and address them prior to implementing systems for thousands of users.

Direct[edit]

When a new system is implemented without any phased or pilot implementation, it is said to be direct. The old system is retired, and the new system goes live.

Advantages:

  • If the system is not critical, this can be a good method for implementation

Disadvantages:

  • If you are not sure the system will work, this method of implementation may not be a good idea

Example:

  1. A store is implementing a new electronic system for employees to leave suggestions for improvement. There is no existing system. The store uses direct method because they are very sure the new system will work, there is a low cost if the system fails, and the store wants to make a "big splash" with the new system.

Real-world practical advice[edit]

When a system implementation is poorly planned, there is an increased chance the system will fail. Don't just think "hey, I'll just make sure the system works". You must be responsible for ensuring there is a good plan for implementation. I have seen perfectly good systems fail because implementation was done poorly. It comes down to good planning.

There is another real-world issue you should be aware of. There is a wide range of emotional reactions to change. Some users will welcome change, others will be uncertain, some will be openly hostile whilst others will attempt to sabotage it. Training issues may require organizations to restructure their workforce. New systems often accompany a wide range of emotional reactions. Communication about the change, and sensitivity about users change should be well-managed.


Standards[edit]

  • Evaluate alternative installation processes

References[edit]