Pros: Swift changeover, immediate availability of the new system.
Cons: Lack of backup in case of failure, risk of system downtime.
Pros: Backup available if the new system fails, output from both systems can be compared for verification.
Cons: Running both systems concurrently is expensive.
Pros: All features tested before full adoption, pilot staff can train others, failure impacts only a small part of the organization.
Cons: No backup for the pilot group in case of failure.
Pros: Allows gradual adaptation to the new system, training can be conducted in stages.
Cons: Lack of backup for phased-out parts of the system if failure occurs.
Moving data from one system to another, typically necessary when transitioning to a new system.
Incompatible file formats
Differences in data structure
Validation rule disparities
Incomplete data transfers
Variances in data, currency, or character conventions
Different systems might use different versions of the same software, resulting in different file formats.
Data stored in arrays in one system and linked lists in the other, or data stored in tables in one system and spreadsheets in the other.
Some data may be lost, leading to potential inaccuracies or missing information in the new system.
Different rules for what constitutes valid data between systems can result in data being rejected or altered during the migration process.
Old technology, computer systems, or applications that are no longer supported or available for purchase.
Modernization can be expensive or/or time-consuming.
Floppy disks or Windows XP.
It is outdated technology that is no longer actively supported or developed.
They may encounter difficulties in integrating with modern technologies, maintaining security, and supporting evolving business needs.
Runs on your computer
Requires a one-time fee
Installation required
Updates may not be automatic
Users may have different versions depending on update status
Accessed through a web browser
Subscription fee
Can be used on any number of computers via web browser
Automatic updates ensure users always have the same version
Employees can operate software from anywhere
Cheaper
Requires fewer support staff
Pay-as-you-go or subscription model
Easy scalability to serve more users
Users have no control over system availability
Users have no control over security
Lack of control if the SAAS provider is acquired
Potential for large-scale data corruption
SAAS is easier to maintain as individual computer problems are not a concern.
Verifying documentation and planned specifications to ensure they lead to the correct system being built.
Executing code to ensure it produces the required results, checking for bugs, and validating that the software meets business requirements.
To confirm that the software works as intended, identify bugs, and address UI issues before release outside of the company. Alpha testing is done internally
Beta testing involves potential end-users outside of the company, lasts for weeks, and aims to model real-world usage to gather feedback.
It tests software by using it without accessing the codebase or internal workings, and no programming knowledge is required.
White box testing involves examining a software program's code, while black box testing focuses on testing the software's functionality without accessing its internal structure.
To validate that the software meets business requirements and functions as intended, typically by testing with end-users.
Testing conducted using automated testing software, where preconstructed scenarios are executed, and the program output is automatically compared to expected results.
It can rapidly complete complex and tedious tasks, leading to increased efficiency in the testing process.
Automated testing may require significant setup and maintenance, and it may not be suitable for all types of testing scenarios.
Pros: Doesn't require installation, computer, or internet connection.
Cons: Can be damaged or lost, cannot be updated.
Pros: Can be much longer than manual, can be updated, search capabilities.
Cons: Requires internet connection, can be difficult for inexperienced users to access.
Pros: Easily accessible in software program, contain general instructions for use.
Cons: Requires installation first, lacks search capability.
Cons: Less personalized, students may become bored, lost, or lose pace.
Pros: Can be more personalized, focuses on the needs of students via online instructor.
Pros: Low-cost (no teacher needed), flexible timeline, users can choose what to focus on.
Cons: No guidance, users may feel lost, lack of structure means that users may not learn everything they need to.
Online documentation.
Online training - instructor training one student or a small group of students.
Lacks search capability.
Hardware/System Malfunction
Human Error
Software Corruption
Malicious Software (Viruses, etc.)
National Disasters (Power cuts = equipment damage)
Failover Systems
Redundancy
Removable Media
Offsite/online storage
Physical Security
To provide a secondary system that can be switched to if the primary system fails, ensuring continuity of operations.
Creating duplicates of a system's components and data so that a backup is always present in case of failure.
It allows for data backup to be stored on removable storage devices, providing a secondary copy of important data.
To back up data at a different location or in the "cloud," ensuring that data remains accessible even if the primary location experiences issues.
By securing data from natural disasters or physical tampering, minimizing the risk of loss or compromise.
A person with an interest or concern in something, especially a business.
Company owner, users, managers, shareholders, employees.
The tasks a program should be able to achieve.
Direct Observation.
Costly in terms of time and resources.
Interviews.
Users may not take it seriously.
Opportunity to see users using a product in real-world scenarios.
Surveys.
A plan or abstract representation of the end-product, often displaying the functionality of one or two key aspects, used to get feedback from stakeholders.
A cyclical process that involves prototyping, testing, analyzing test results, and refining the product until requirements are met, allowing constant improvement based on user or client feedback.
The process of releasing a new product or updates, including patches and fixes, to the end-users.
A software error or flaw that causes the program to produce incorrect or unexpected results.
Usability refers to how effectively and efficiently a product can be used by its intended users.
Examples include short battery life in laptops, small screen size in phones, and buttons being too small or software being buggy in digital cameras.
Accessibility refers to how easily people, including those with disabilities, can use software.
Improvements can include features like Braille keyboards, touch screens, voice recognition, and text dictation to cater to users with different needs.