Implementation methods

From Computer Science Wiki
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.

Do you understand this material?[edit]

A small business has a computer kiosk inside the store which allows customers to sign up for a email newsletter. If a customer signs up for a newsletter inside the store, they will get a 10% discount on their first purchase at the store. The owner hopes this 10% discount will be an incentive for customers to sign up for the email newsletter. The business will then regularly email the customers special offers and savings. The business owner expects to benefit from this system by having increased sales. The customers expect to benefit from this system by having access to special offers, to save money, and to see what is new and trendy at their store.

Question 1: Evaluate alternative implementation processes.

Question 2: Write a plan for implementing this system. Explain your rationale.

Do you have an advanced understanding of this material?[edit]

A school of 900 students wants to have a secure web-based application which manages attendance data. The school currently uses a paper and pencil method, where attendance sheets are delivered to the school secretary every morning. The school administrators carefully track attendance for the students so it can identify when students have been absent for a customizable threshold. For example, the school might set a threshold of 5 absences within 30 days, which then automatically notifies the student, parent, and teacher there is a problem with attendance. The threshold might be 3 times within 10 days, or something like that. The system keeps track of attendance and tardies. The system has customizable attendance codes. For example, "absence for school trip", "excused absence", "medical absence" are all allowed absence codes.

School administrators expect to benefit by having data about attendance so they can support students and parents to be in school. School administrators also expect to benefit by giving parents and students information about attendance (so parents can support their children to be in school). Finally, school administrators expect to benefit by using attendance data to apply for government funding (as they can prove how many students were in class on a specific day).

Parents expect to benefit by knowing when their children are in school or miss school. This way parents can support their children to be in school. Being in school is a shared value between the school and the parent.

Students expect to benefit by understanding how many days of school of they have missed. The school expects students to have a strong "ownership of learning" and manage their attendance.

Question 1: State which implentation processes the school should use.

Question 2: Explain your rationale.

Standards[edit]

  • Evaluate alternative installation processes

References[edit]