When planning for a new system, the context in which it will be used is important. Define this context and/or what are some elements this context addresses?
Context is the environment in which the new system will be implemented. Context = background, environment, framework, setting, or situation surrounding a new system.
You need to address the extent of a new system and the limitations of the new system.
Why can changing a system be so difficult?
Users will not like change
New systems might omit old features
Old systems might be faster in certain circumstances
People may find change complex
Change could lead to incompatible technology
There could be data loss during migration
It could be expensive (time or money)
What are the four overall steps that should be taken to manage change?
Plan
Needs to have a clear and valid reason or mission for the change.
Communicate
The most important factor in change is to communicate what the change is and its factors to key stakeholders in the organization.
Integrate
If it is possible for the planned change to be adjusted then consult your plan with the stakeholders.
Evaluate
It is necessary that the wider organization’s reaction to change are evaluated at every opportunity. It will help make the change more effective.
True/False: Mergers and acquisitions is the preferred way of growing a company. Why/why not?
False - mergers are very complicated. There can be several issues with mergers.
Software may not be compatible
There can be language differences
Time zone differences
Workforce cultural differences
What are some particular challenges that international mergers face?
Language differences
Time zone differences
Workforce cultural differences
What’s the difference between local and remote software?
Local software
Buy a program and install it on a particular computer or set of computers.
Remote software
Buy/rent/use software that is installed on a computer somewhere on the internet then use it through a browser or local application.
Differences
Local software will be bought then installed on the computer while remote software is hosted somewhere else then accessed locally through browsers or apps.
Define SaaS and provide at least one real world example
Software as a service
A distribution model where a third-party provides host applications and makes them available for customers on the internet.
Gets rid of software installation, maintenance, and management approaches instead delivering cloud-based applications via the internet.
SaaS service providers have the burdens of security, availability, and performance.
Examples:
Google Apps
Microsoft Office 365
Amazon Web Services
Dropbox
What are the four benefits of being cloud-based?
Minimizes IT’s responsibilities and costs
Good for small businesses because they don't need to buy in-house server capacity and software licenses. THey can just adjust the SaaS subscription.
Reduction in staff workload. In-house IT workers do not have to do tasks associated with on-premise hardware and software.
The organization can get back up and running immediately in the event of a service outage or dramatic disruption because the IT infrastructure is in the service provider’s data center.
What are the three drawbacks of being cloud-based?
Companies that have multiple SaaS applications may have software integration troubles.
Security is an issue because sensitive company data and business processes are entrusted to third-party service providers.
Businesses must take into account government compliance regulations that come with storing customer data in a remote data center.
The laws could be different in different countries.
What are the four alternatives of implementing/installing a new system or software?
Direct changeover
Old system stopped, new one started
Parallel running
New system is started but the old system is kept running alongside it. Data is entered into both systems.
Pilot running
New system is piloted with a small subset of organizations. Once it is working it is implemented all across the organization.
Phased conversion
New system is gradually introduced and phases in as parts of the old system are gradually replaced.
List at least one advantage and one disadvantage of each alternative
Direct changeover
Advantages:
Minimal time and effort
The new system is available immediately
Disadvantages:
If the new system fails there is no fall back.
Parallel running
Advantages:
If the new system fails the old system works as a backup
Outputs from the two systems can be compared to see if the new one is working right.
Disadvantages:
It is costly in terms of time and money.
Pilot running
Advantages:
All features are fully tested
If the new system fails only a small part of the organization is disadvantaged
Staff who did the pilot can help in training.
Disadvantages:
For the pilot users there is no backup if the new system fails.
Phased conversion
Advantages:
Allows people to slowly get used to the new system
Training of the staff can be done in phases.
Disadvantages:
If the new system fails there is no fall back for that part of the system.
What are some possible problems when migrating data?
Incompatible file formats
Data structure differences
Validation rules
Incomplete data transfers
International conventions on dates, currencies, and character sets
Why is testing important?
It helps to ensure the system works as it is expected to.
A system that does not work as expected greatly reduces productivity and user satisfaction. Testing can help minimize or avoid this.
What are the types of testing?
Static testing - review walkthroughs, or inspections. It is implicit, like proofreading. This involves verification.
Dynamic testing - executing the programmed code with a given set of test cases. Takes place when the program is run. Can begin before the program is fully finished to test parts. This involves validation.
Alpha testing - performed by testers who are employees of the organization and tested at the developer's site.
Beta testing - performed by clients or end users who are not employees of the organization. It is performed at the client location.
Black box testing - treats software under test as a black-box without knowing its internals. Tests are using software interfaces and trying to ensure that they work as expected.
White-box testing - looks inside the software that is being tested and uses that knowledge as a part of the testing process.
User acceptance testing - testing with the ultimate end users to see if it meets their expectations.
Automated testing - makes use of special software tools to control the execution of tests then compare test results with predicted results.
Why is high quality user documentation important?
User documentation is any document that explains how to use the features and functions of a system to its end users.
Without detailed, simple, clear instructions, users might be unaware of a feature or unable to use features that are not immediately obvious.
Users are not developers - the documentation needs to be simple. If it is, users require less training. They only need to know how to use the system, not explanations on how it works. This will increase productivity.
Good quality is important. It can affect the rate of implementation of the new system.
List at least two types of user documentation and list at least two advantages and disadvantages of each
Help files - supplied with the system. Can be called with a button.
Advantages:
Accessible at any time.
Give general instructions on how to use the system or solve some major errors.
Disadvantages:
Only can be used after installation. They don't help with installing the solution.
They only deal with general errors.
They often lack a search capability. You need to search to find help.
Online support - web service hosted by the system developer to provide user documentation.
Advantages:
Extensive compared to help files
They are continuously revised to deal with the most frequent problems.
Have live support
THey have search capabilities.
Disadvantages:
They are useless without internet connection
Live support does not work well with users unfamiliar with computers when asked to explain their problems.
Printed manuals - manuals printed on paper and supplied with the system.
Advantages:
They can be read by users before starting to work on the new system
Always available
Give help installing the system
Disadvantages:
Can be lost/misplaced/or limited in number
Often limited to a small booklet with little information other than installation.
Not updated every time the system is.
Why is training important?
Productivity depends on how familiar a user is with the system.
Effective user training is essential in introducing a new system.
List at least two types of training options and list at least two advantages and disadvantages of each option.
Self instruction - users learn how to use a new system on their own if they have the right materials. It can be reading a manual or watching a tutorial.
Advantages:
Lowest cost - only materials needed, no teachers or buildings
Flexible timeline
Tailored to what the users want to learn.
Disadvantages:
Lack of guidance can make the user feel lost / overwhelmed.
Unstructured learning means certain features could be misunderstood or ignored.
Formal classes - users in a classroom listening to an instructor. Used to train large amounts of staff because it is cheap.
Advantages:
Structured learning environment
Expert on hand to answer questions
Curriculum designed to teach all aspects
Disadvantages:
Expensive - teachers, buildings, and facilities needed.
Rigid schedule and curriculum.
Not much personalization is possible.
Remote / Online training - instructor trains one user or a small group by a remote connection. Suited to a user’s needs and abilities by a professional.
Advantages:
Structured learning environment
Expert on hand
Curriculum designed to teach all aspects
Flexible location
Disadvantages:
Expensive - teachers and internet connection needed
Can feel remote with no easy hands on
Has to be computer-based.
What are some of the common causes of data loss? Specifically, what two are the most common?
Hardware and software malfunctions - most common
Human error - second most common
Software corruption
Computer viruses
Natural disasters
The threat from within - malicious activity by the results of employees within organizations
When asked about the consequences of data loss, what are some key questions you should keep in mind and why?
Can the data be replaced?
If so not a big problem
How easy is the data to replace?
If it is easy then the consequences are not large. However if it is hard then the consequences can be dire.
Who will be affected by the data loss?
If it just affects marketing it sucks, but is not so bad. However if the entire company goes down it is a much larger problem.
Are there financial implications to the loss?
If so, this can create very bad consequences, especially for private companies.
Are there ‘life and death’ consequences to the loss?
If so then it is much more severe than it would otherwise be.
Who is responsible for data recovery?
If it is someone hard to find or hard to get working then the consequences will be greater than if it was someone who could fix it easily and instantly.
What are four data loss prevention methods?
Failover system - ability to automatically and seamlessly switch to a reliable backup system.
Redundancy - when the same data is stored in two separate places.
Removable media - a type of storage device that can be removed from a computer while the system is running - cds dvds, usb drives, etc.
Offsite storage - facility that stores backup data or applications external to the organization or core IT environment.
Online storage - a type of service through which cloud computing resources and infrastructure are used to create, edit, manage, and restore data, services, or application backup. Done remotely over the internet.
What are some common/basic release/update strategies?
Patches - a software update composed of code inserted into the code of an executable program. Usually installed into an existing software. They are temporary fixes that can:
Fix a software bug
Install new drives
Address new security vulnerabilities
Address software stability issues
Upgrade the software
Product release - launching a new product
Update - fixes problems found by the users or teh software developers
Fixes the code and prevents the problems from happening on your computer.
Almost always free and available through the program or the company’s website.
What are the pros and cons of manual vs automatic updating?
Manually - download and install yourself
Advantage: Full control
Disadvantage: Time consuming
Automatically - software automatically contacts the developer, downloads, and installs any updates.
Advantage: Don’t have to worry or think about updates. It is always up to date
Disadvantage: No control - a bad update might crash the system.
What are the three common types of release mgmt?
Continuous delivery - a software engineering approach in which teams make software in short cycles, ensuring that the software can be reliably released at any time.
Agile software development - describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organization and cross-functional teams and their customers.
It creates adaptive planning, evolutionary development, early delivery, continual improvement, and it encourages rapid and flexible response to change.
DevOps (Development Operations) - is a software engineering culture and practice that aims at unifying software development and software operation.
The main characteristics of the DevOps movement is to advocate automation and monitoring at all steps of software construction from integration, testing, releasing to deployment, and infrastructure management.
DevOps aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.
Define DevOps
DevOps (Development Operations) - is a software engineering that aims at unifying software development and operation.
Advocate for automation and monitoring at all steps of software construction from integration, testing, releasing to deployment, and infrastructure management.
Aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.