Implementation methods

From Computer Science Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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]