Installing and Upgrading Software – Assignment 1

Prompts to Upgrade [P1]

There are a number of reasons IT administrators of an enterprise or educational establishment network may decide to upgrade the software running on the network's computers and servers. The events that lead to the upgrading of a particular software package across a network are referred to as prompts, and can generally be categorised as either internal or external.

Internal

Problems found in the operation of the software could prompt and upgrade. If a bug was found to be troubling staff or students using a program, the IT administrators would likely check for a new version periodically until the issue was fixed. If the software was developed on an open-source model and was made available on one of many source-code hosting websites, the staff could also report the bug to the developers to ensure they were aware of the flaw.

A warning generated by a program may push the administrative staff to upgrade its software package. This could be shown in the log files that the program was responsible for writing, or as a graphical warning in the actual program. As an example, many will remember pop-ups from the taskbar asking to update Adobe Flash Player of Java browser plugin. These programs have become notoriously persistent, and they have reason to be. Both of these pieces of software add web-based content players to browsers running on the system, meaning that websites are able to execute software directly on the computer. A security vulnerability being discovered in either of these software packages, which are installed on a huge number of computers around the world, could have a drastic effect. A flaw in the software could put any user at risk of identity theft, computer infection or reduced performance, among others.

Changes to the policy or aim of an organisation could also cause software updates to be carried out. If a company is found to be taking insufficient security measures and makes a public promise to improve their practices, existing security software may be updated and additional packages installed.

A member of staff or a member of faculty could also alert the administrative IT support in the organisation to a newer version of particular piece of software. This could be a staff member in the art department of an educational institution asking for newer versions of design software to be installed on the computers used for the subject. They may also ask the IT staff to upgrade the hardware drivers on the systems if students were having issues with such. In the case of a company, a team of workers may desire to start offering a new service to customers, and require additional software to do this. Already-installed software may well be upgraded in the same process.

Newer hardware being brought into an organisation is a common prompt for large-scale software updates. Many organisations will take the opportunity to upgrade the entire operating system if a newer release has been made available, and applications updates often follow. New drivers will often be required with new hardware installations, and these must be installed for full-functionality.

Those responsible for the logistics of upgrading the software may be the prompt themselves. They may periodically check for newer versions of installed software out of habit, and continually update the systems used in the organisation.

External

An article online read by one of the administrative staff in charge of software upgrading may prompt them to download the latest version of a package. Similarly, a discussion thread on an IT-related Facebook page or reddit community could make a technician aware of new features, security patches and bug fixes brought by a new version. Particularly in the case of security patching, new versions of software packages are generally archived and made available online within hours of source-code being released. Running a single command on all the organisation's computers could cause them to refresh their cached list of packages and to install the latest available updates. As an example, a huge number of computers and servers had to be updated immediately when the Heartbleed bug was discovered in the popular encryption library OpenSSL. This software is responsible for a great amount of encryption and cryptography which secures email services; connections between browsers and web servers; and information published by whistle blowers. The Heartbleed bug in OpenSSL, similarly to the Shellshock bug discovered in the bash shell, was quickly patched. As almost any system open to the web and running these software packages was at risk, system administrators around the world updated as soon as possible.

An email distributed by the software package's developer could also prompt the IT staff in an organisation to update. Advertising the new features and improvements made to the software since the last version could persuade the staff to upgrade. Developers of software often operate newsletter and mailing list services, which would enable them to quickly make their customer base aware of new versions.

Importance of User Acceptance [P6]

When a computer system, particularly an element of software, is upgraded to a newer version it's important for the technician(s) responsible for the upgrade to ensure user satisfaction. Particularly when working as a third party and temporarily serving different businesses, one should seek written confirmation that the work carried out meets the employers specification. For example, the updated software needs to successfully carry out the tasks it would normally, and the end users of the software must be un-hindered when working. When the company whose software is in question is paying for the upgrade service, they must also feel that they have been given their money's worth. If a signed document confirming these things is not acquired by the person responsible for the upgrade, they may find themselves faced with demands for further unpaid work or even responsibility for damages.

Compatibility

This is explained in more detail in the P2 and D2 section.

When upgrading, it's important to ensure that existing work and infrastructure continues to work as before with the new version of a software package. This is generally checked by testing the new software in its working environment.

User Interface and Experience

UI and UX are notorious for changing between different version of a software package, and there are several ways that the transition to a newer interface can be eased. By giving the users of the application within an organisation a presentation about the new features available to them, the uses of those features, and the changes to existing elements of a program, the process of upgrading can be made a lot smoother. Employees often find that the programs and program functionality they are used to using change with updates, and their productivity is impacted.

Handover

After the users of the application have been informed of the changes to the software they use in their work, a sign-off or handover process is typically undertaken. This involves a legal document being signed that confirms the upgrade has been successfully and satisfactorily completed, and that the customer is content with the service. This document means that after the upgrade has been completed, the customers and users are not able to legally challenge the agency or employee responsible for carrying it out. If the users experience difficulty using the new software, lose data or cause other damages and loss, the customers are to blame. In effect, this is insurance for the agency or employee, protecting them against unfair business.

Licensing and Contracts

Upgrading certain software packages is not as simple as just downloading and installing the new version. In certain cases, one must seek official licensing to use the software when there is a newer version released. Some software, such as the popular text editor Sublime Text, only requires one license, which can be used with all version 2 and 3 builds of the program. In contrast, Adobe Photoshop upgrades come with a fee. The price of an upgraded version would once be around £150 if a previous version was owned, whereas a completely new license would cost closer to £800. This upgrade model changed with the introduction of Adobe's subscription-based service, Creative Cloud.

Precaution When Upgrading [P2] [D2]

When software upgrades are performed within a large organisation, there are a number of risks that need to be considered by those responsible for the upgrade. Many of these risks can be avoided with planning; affected members of staff could be asked how badly their workflow would be impacted by certain risks becoming reality, and the upgrade schedule modelled on this.

Risks of Software Upgrades

Loss of Service

The potential – likely, even – loss of services while an upgrade is in progress is a common reason to be apprehensive in the face of a system update. As many businesses use servers to centralise operations such as user authentication and file storage, updates to the software packages allowing this to happen can cause downtime, which can have a negative affect on those trying to work. Very often the operating systems running on the client computers will need to be restarted after an upgrade to important software, despite the fact that it has been shown to be possible for software to update seamlessly without a system reboot when built correctly. An operating system upgrade in particular can put the employees' machines out of order for a significant amount of time. If updates are performed on the server, this may need restarting to fully enable new features, and will bring further downtime as a result.

The effects of the server being offline may well be felt outside of the organisation as well as inside. If the server hosts not just internal services such as authentication and network sharing but external services such as a web site or public API, these may be forced offline too. Although it is generally not advised to have internal and external services executing on the same physical machine, a small scale business may not be able to afford more hardware. The software operating the external services may also be the software that requires and update, in which case load may be temporarily shifted to another system or the downtime scheduled, announced, and kept to minimum.

Loss of service is likely when upgrading and using particular operating systems and software on server systems. This loss of service is almost always momentary and does not often need to be taken into consideration. With good timing and quick working, the length and effect of the down-time on the business and its customers can be minimised. That said, mission-critical services and websites may need to be more careful. Software running in the global financial system must be online constantly if possible, and any down-time planned and prepared for. The need to take special measures when upgrading could be negated by using more stable and suitable software. An example of this would be the use of Linux over Windows on the server-side.

Down-time could have a bad effect on a business in a number of ways. Customers could become discontented with the lack of service, and customer loyalty could be lost as a result. In addition, other systems and businesses relying on the service could be forced into down-time themselves. If the upgrade process were to fail, more down-time could be brought upon the services in question. Such an event would likely require system administrators and engineers to manually investigate and fix the issue, costing the business money as well as time.

Incompatibility Issues

When upgrading software packages, it is important in many cases that the new version still supports the applications built by an organisation using an earlier release. For example, a Python script written for Python version 3.2 should work exactly as intended when executed with a Python 3.3 runtime. If the script was written for Python 2.7, however, it will likely not. This is because of very significant changes to the programming language's syntax between the two versions. In order not to drop all support for developers still using programs written in Python 2.7 syntax, the old version is still maintained and provides some of the new features, particularly security fixes, added to Python 3.3 by way of backports.

In the case of a typical office business, this may relate more to file formats and desktop applications. By default, Microsoft Word 2007 and onwards save word documents in the .docx format, rather than the .doc format used in Word 2003 and before. In order to retain backwards compatibility, Microsoft made it possible to save work in either format. The newer versions of the program are also able to open legacy-formatted files, and plugins have been created for 2003 and earlier to enable .docx editing. The .docx format was designed to allow future versions of Word to save more information more efficiently and enable more features in the program. A similar process was undertaken with the introduction of Excel's .xlsx format and PowerPoint's .pptx format.

Incompatibility issues would likely not have a great impact on a business. The issue would ideally have already been recognised before the upgrade by those responsible for system administration. The necessary steps would have been taken to convert or migrate exiting files, information and infrastructure to the new system. These issues could easily cause a business to be non-functional or at least impaired if not recognised and dealt with at the right time, however.

Loss of Data

The time taken to migrate masses of data to new platforms, and especially the risk for loss of data, are often found to be incentives not to upgrade a piece of software. There are many different ways in which data can be lost, and making frequent backups will protect an organisation against almost any risk in this respect. As a software package is upgraded, the new version may not be compatible with older file formats, as mentioned before. There is a chance, however, that the new software would not detect a file's age and version, and would corrupt the file if the user attempted to edit it. This could have a particularly drastic effect if the file in question was an important database or spreadsheet used by a high-street shop.

As previously mentioned, loss of data can be almost entirely avoided if effective backups are made. Even if the data backed up is in the format recognised by an older software version, but with a working backup at hand, a controlled conversion process can be undertaken. As long as the backup is copied to the workspace and not moved to it, one can always return to a working stage by rolling back to the saved point again. Using software that is known to work with the file formats used by other, currently-used software is also a potential tactic, as the conversion process will likely be better documented and tools will exists to ease it. In a worst case scenario, the older software package could be kept in use alongside the newer version, and older data accessed separately if a migration was not possible.

Loss of data could have a very significant impact a business if it were to occur. Losing information about almost any subject would likely cause a business to become non-operational for a long period of time, and could cause the business to collapse. IT is based upon information and technology – hence its name – and if the former of these two components is lost the system cannot continue. Thankfully, the likelihood of the loss of data in most organisations is virtually non-existent. Frequent backups of IT systems and the development of security practices means that redundancy is used to prevent destruction of data and measures are taken to prevent its unauthorised copying.

Instability

When upgrading, one must be aware of the possibility of the newer version being unstable and almost undoubtedly untested. As software is developed, bugs can easily go unnoticed, as the conditions that cause them to occur are abnormal and rarely seen. By using the latest versions of software packages, one exposes oneself to undiscovered bugs which could compromise the security and functionality of a computer system. On the flipside, by using older versions of software one may be exposed to now-known and newly-fixed flaws.

Many people feel that the most reliable and effective practice is to use the recommended versions of software packages, which are typically up-to-date in features while also having undergone extensive testing. An example of this is the php package on the Debian Linux repositories. The package available on the main, stable repository is only version 5.4.36, despite PHP 5.6.6 having been released. The package is intentionally kept back in belief that the older version has been proven to be stable, and the newer version's use could be risky.

Instability is rarely an issue in enterprise IT systems. If issues are not detected before they become reality, likely as the result of haphazard upgrading, the services a business provides can suffer. This could cost the business similarly to the loss of service described before. In contrast to this, however, the loss of service may be only partial or intermittent. This could potentially be even more aggravating for customers.

Reduction of Risks

The threat of risks has pushed administrators and developers to develop methods of avoiding issues when upgrading. The most common and successful practices are detailed below.

Backups

Perhaps the most effective method of preventing data loss as a result of a software upgrade – or any IT disaster for that matter – is the frequent and controlled creation of backups or restore points. When made effectively, the administrator(s) of a system should be able to restore any element of an organisation's computing infrastructure to a previous state at short notice. By automating the process of backing up, typically involving an entire copy of a network being created every day, the likelihood of a disaster having truly catastrophic effects is greatly reduced. In certain IT networks, backups are of a greater importance and must be made more frequently. For example, in database systems used within global banking infrastructure backups are made only a matter of minute apart. This means that in an unlikely event of a crash or cyber-attack, no more than a few minute's-worth of transactions will be lost. The missing data can likely be recovered from other trusted banking systems as well. The automatic backing-up of critical information and the sharing of data across multiple networks are both hugely effective in preventing a loss of data or service.

The use of SCM, or source control management, software is also not unheard of. By committing each change made to a large number of files within in a directory as a diary entry of sorts, one can greatly reduce the damaging effects of hardware and software failure. Using SCM, also known as revision control, one can distribute a project and all of its history easily across multiple systems. Logging every change made to certain files means that if a past development is considered to be mistaken, an old copy of a file can be restored. The use of version control gives system administrators very granular control over the files within a system, and this is effective in preparing for a system failure.

Timing of Upgrades

The timing of upgrades should always be taken into consideration as well. In order to minimise the downtime experienced by a system, administrators can perform upgrade tasks at times when the system is least required. A common example of this is the upgrading of operating systems across an educational institutions network. Upgrades of this magnitude are often performed during holiday time when students are not using the network and do not depend upon provided computers for their work. Similarly, in the world of web applications, servers are usually updated when under the least load. Analytics can be used to determine when an application generates the least amount of traffic, and the time for upgrading decided based upon this. Largely the same reasons are found behind the timing of upgrades as behind the timing of system backups.

As well as to avoid the disruption of employees and students working, upgrades are timed relative to events in the software development community. Different organisations will employ different practices, but many will choose to only use software packages that are slightly old, but have been more extensively tested. In the same way that an aircraft model proven to be safe over a large number of air-miles is often preferred by airlines to newer models that offer better economy and more features, software that has proven to be efficient and secure may be preferred by administrators. That said, news of vulnerabilities being found within a piece of software that compromise the security of systems using it would likely push system administrators to upgrade immediately. Making the decision to upgrade or not at any particular time, given the circumstances, is a responsibility of system administration staff. The potential risk of using the latest version of a software package is explained in grater detail in the earlier Instability section.

Keeping Users Informed

Making the end users aware of changes to the IT services they rely on is important. Staff must be able to continue their work as usual, but co-operation when upgrades are must be performed as soon as possible is also valuable. Making staff or students aware of the changes that will affect them, and the effects on the IT infrastructure that the upgrade process will have, people will be able to plan ahead and work around the issue as best as possible. This is particularly important in a business environment, in which employees are being paid whether they are able to work or not.

Keeping people informed is also important for the period of time after the upgrade. As people adjust to the changes, the support of the IT administrators is usually necessary. By answering questions from the end-users, providing informative resources which explain new and updated software features, and asking for feedback from staff or students, those responsible for the upgrade can not only ease the transition to the new software, but gain a better understanding of how to make it even smoother in the future.

Advantages and Disadvantages of Upgrading [M1] [D1]

When deciding whether or not to upgrade a particular component of a computing system, there are a number of advantages and disadvantages one must consider. Some of the most significant factors that would need to be taken into account by an IT department in a business looking to upgrade to Microsoft Office 2013 are detailed below.

Reasons to Continue Usage

Inconvenience

The inconvenience caused by the upgrading process is occasionally a reason to delay an upgrade for some time. In the case of Microsoft Windows, a server will likely need to be restarted after updates have been installed to the core operating system components. Linux servers, alternatively, would be able to continue running and only drop services for a short period of time after almost any software upgrade short of a kernel update. Depending on the operating system being used by the organisation, the importance of the upgrade and the importance of constant uptime, administrators will decide whether or not to upgrade. In the case of upgrading Office 2003 to 2013, the end users of the software, which will likely be almost all of the business' staff, will be most inconvenienced. The delays caused by the upgrade could cause customers of the business to also be disrupted in their work.

Incompatibility

Incompatibility is described in more detail in the Precaution When Upgrading section.

In the case of Office 2003, the suite uses older versions of the Microsoft Office file formats to newer releases. This means that files saved in newer versions of the software cannot be opened by default in Word 2003, for example. A compatibility pack has been created by Microsoft to allow the 2003 suite to open newer-formatted files, but this does not bring all of the newer functionality offered by the newer format to the older suite.

Ease of Use

When upgrading software packages, users can easily become confused navigating new user interfaces and using new features that have obsoleted the features they were used to using. For this reason, upgrades may not be undertaken, although it is generally not advisable to do so for this reason. With the case of upgrading Office from 2003 to 2013, there are some very significant changes to the interface to consider. Office 2007 introduced the ribbon design feature, replacing the numerous toolbars and drop-down menus found in Office 2003. This was refined and built upon in Office 2010, and has become recognised and familiar to most users now that Office 2013 has been released. The ribbon changes ones workflow considerably in Office applications, and generally for the better.

Although some users may not approve of the new changes to the interface of the Office applications they're sued to using, I believe that the changes made between Office 2003 and 2013 have been good ones. I would recommend that any employees showing objection to the upgrade should take the little time and effort required to become acquainted with the new Office layout. Personally, I would not consider the changes reasoning to neglect an upgrade, but rather reasoning to encourage one.

Training and Integration

Office 2013 may be drastically different to enough employees that the business may wish to encourage training for users of the software. This would make the employees more comfortable with the new software and less likely to show disagreement wit future updates. The training would also ensure that mistakes would not be made to nearly the same level of frequency or severity if users were told how to the use the applications.

As the most appropriate way to acquire Office 2013 would likely be Microsoft's Office 365 business programme, other services would be included in the upgrade. Mail and file sharing are both part of Office now, and these services would need to be integrated into the business. This will undoubtedly take time for the system administrators configuring the new software, and take the end user time to adjust to. In a similar sense to the integration of a new employee or new building into a business workspace, new IT infrastructure takes time to become normal and to not heed productivity.

Licensing

When upgrading software, as when installing it, there is very often a cost involved. In some cases, a single license will allow a user, number of users or organisation to use a particular release of a software package, and get free updates for some time. Often when the software reaches a major new release, which may happen about every two years, the licence holder will need to pay an upgrade fee. Although this is commonly not as expensive as an entirely new license, it is something to consider.

In the case of Office, the suite has changed in it's licensing format since the 2003 release. In order to use Office 2013, people are encouraged to register as an Office 365 user. This is a paid subscription which is made payable in yearly instalments. For a business, Office 365 could cost between £3.10 and £7.80 per user per month; with an annual commitment and 100 employees, the business may have to pay as much as £9360 for a year. The cheaper plans offer fewer features, the cheapest not even offering desktop use of the Office 2013 programs.

Cost of Management

As Office 365 is more than just a suite of desktop applications, more time will be required from system administrators and IT staff to keep the system functional. The mail, cloud storage, social networking and real-time collaboration services now part of Office will likely need to be configured and administered, and this will cost the business in employees' time.

Reasons to Upgrade

Features

The most obvious and common reason to update a piece of software, or hardware for that matter, is the availability of new features and improvements to current software. The changes may make the work of the administrators easier, or they may affect the end users. If the former, the work required to upgrade will likely be lower, as the number of people that must become accustomed to the changes is lower, and the those who do are likely more technically minded. For these reasons, upgrades to administration software on a computer network may be fairly regular. When end users will be affected, more factors must be taken into consideration.

Office 2013 has a number of new features and even new desktop programs that Office 2003 did not offer. These will undoubtedly be useful tot eh employees of the business once the users have become acquainted with their use. Some of the features, such as the ability to collaborate in real-time on a single document using the internet, have become standard in office software suites, and partner businesses and clients may expect the business to be able to work with this. In order to be up-to-date and relevant today, it's important that the business has the latest version of Office.

Improvements and Fixes

Performance and security fixes are also often reasons to proceed with an upgrade rather sooner than later, as these can have a significant effect on both administrators and end users. Improvements to performance allow computers to be less stressed when carrying out the same tasks as usual, as well as carry out tasks in shorter amounts of time. Bug fixes and security patches provide an overall improvement in stability of the IT infrastructure, and would mean that the data of students at a college and connections to the internet were secure. Discoveries of security vulnerabilities in software packages prompt administrators to upgrade important systems as quickly as possible.

Drivers for various hardware components of a system offer a good example of software which often brings better support, performance improvements and new features with updates. Office has also evolved a lot in the ten years between Office 2003 and 2013, and old issues have been fixed alongside the addition of new features.

Support and Integration

Another reason to upgrade any software package is the expiring support given by the developer of the program, other pieces of software that interact with it, and other businesses which may be concerned. For instance, the Microsoft Windows XP operating system was fully supported with new feature updates for eight years after its initial release. For another five years extended support was granted providing the operating system with important security patches. As of April 8th, 2014, however, no support will be given to the desktop or server version of the operating system. For this reason, many businesses were been forced to immediately update their systems to Windows 7 or 8.1, and in many cases purchase new hardware. This is a result of a lack of support from the software vendor.

In the case of Office 2003, support is also no longer offered by Microsoft. This means that there will be no new official updates to the suite ever, potentially leaving the programs open to security vulnerabilities and undoubtedly leaving users without access to new Office features. The older version of Office was also the last to use legacy formats – described earlier – and now does not enjoy as widespread support as a result. Other software packages and partner businesses may not accept document in the older .doc format, and this could be an issue. By upgrading to a newer version of Office, files will automatically be saved in a more reliable and capable format.

My Suggestion

With all of the above taken into consideration, I propose that the business upgrades as many computers as it can to Office 2013 via the Office 365 programme, and provides the remaining machines with supplemental software to allow the migration to the newer formats. The computers still running Office 2003 should have the Microsoft Office Compatibility Pack installed, which would allow Word, Excel and PowerPoint 2003 to open the files created by their respective Office 2013 counterparts. This would mean that the business would be able to create and edit files as usual while using the newer formats and hence pave the way to upgrading the remaining computers.