Although a new solution may well meet the current identified needs there are other areas that should be considered prior to investing time and money in the development of a new software product.
Students Learn About:
| Students Learn To:
|
A. SHOULD THE PROJECT PROCEED?
Will a new solution provide enough advantages to the organisation to be worth the time, effort and money involved in its development and implementation?
Points to consider from the client’s perspective include:
- Will the existing system be able to perform the required tasks in the foreseeable future? If so, then maybe the new system should be cancelled until a later date.
- Will the proposed new system meet future needs? If not, then maybe the requirements need to be changed to reflect longer term needs.
- Have existing similar solutions been examined? Perhaps a suitable solution already exists or an existing software package can be customised.
- How crucial is the new system to the total organisation? Perhaps resources would be better utilised in other areas.
Some points to be considered by the software developer include:
- What expertise is required to complete this project? Do we already have this expertise and if not then can we get it?
- What resources are required to develop this project? Do we have these resources and if not can we get them?
- Will we be able to support this product in the future?
- Can we retrain/redistribute existing staff and resources to this project? How would this affect other projects?
Different methods and approaches to the solution of a problem should be considered prior to commencing design and implementation.
- It is important that each method or approach to the solution be targeted at achieving the same set of requirements. This allows a fair judgement to be made as to which method or approach is preferable.
- It is wise to research existing software products as often an existing product will be a more cost effective solution.
- Today many software products can be customised to tailor their functionality to suit different user needs.
- For instance open source products can be altered to include new functionality or existing functions can be customised.
- Specialised functionality, such as artificial intelligence, can be outsourced or existing code modules can be obtained.
Often a method of solution is developed without consideration of other possible solutions to the problem.
- For example, adding another lane to a motorway may seem the obvious way to reduce traffic congestion.
- However, a better solution may be to encourage businesses to relocate from the city centre, or perhaps an upgrade of the public transport system should be considered.
- If a software solution is required there are usually a number of possible solutions to the same problem.
- Many consultancy services are set up for precisely this purpose.
- Their job is to examine different methods of approach and solutions to particular problems.
B. CUSTOM SOFTWARE DEVELOPMENT VS. PACKAGED SOLUTIONS
- Social and ethical considerations
- Legal issues including licensing considerations
- Customisation of existing software products
- Cost effectiveness
B.1. Social and ethical considerations
- Changing nature of work for users
- The introduction of most new software products has an effect on the nature of work for users of the system.
- We must consider the effect the new system will have on the users.
- Input from potential users is critical at this stage.
- Ultimately, these are the people who will spend the most time with the completed product so their input is of untold value.
- If the product is to be implemented across large numbers of sites, perhaps industry associations and/or unions need to be involved in the consultation process.
- Often, employees will be on contracts that list the tasks expected of them, and often these contracts will require re-negotiation due to changes in the nature of employees’ work.
- Employees may need to be retrained to acquire skills for their new or changed position.
- Effects on level of employment
- In the 1970s, a major concern was that computers were going to substantially replace the work done by many people.
- In many ways this has occurred, though in general computers have created many more positions that have replaced many labour intensive and repetitious jobs.
- One of the main reasons for creating a new software system is to reduce a business’ costs. One of the largest costs for most businesses is salaries and wages, hence many new software products are designed to reduce the overall level of employment in a particular area.
- Developers and their clients must take this into account, both in terms of cost savings but also in terms of the effect on employees made redundant.
- Effects on the public
- Large software systems can have a substantial effect on the general public.
- The introduction of automatic teller machines (ATMs), involved retraining the entire population.
- Many older people were reluctant to make use of this new banking system.
- The internet has changed the way many of us communicate and obtain new knowledge.
- Computerised billing systems have allowed us to pay bills without ever having to enter the premises of the billing company.
- Effects on the public can be both negative and positive. It is vital that consideration be given to how a system will affect the public during this initial stage.
B.2. Legal issues including licensing considerations
- All parties must consider issues related to copyright (see chapter 1), both in terms of protecting the rights of the developer and the legal rights of the customers who will purchase and use the product.
- Software that is used to store and access private and personal information will need to include safeguards against unauthorised access.
- When considering the use of an existing software solution it is worth taking the time to contact other users of the product, either directly or via online user groups.
- Consider also the level of support provided by the developer and whether it is possible to request new functions.
- The terms and conditions of the licence agreement should be read and understood.
- Open source licences, although free of direct costs usually do not provide direct support.
- Some open source products are also distributed commercially in which case professional support and training is routinely available.
- For businesses open source licences are not always the most cost effective solution.
- The extra effort required to support and troubleshoot any issues can tip the balance in favour of commercial products.
B.3. Customisation of existing software products
- Customisation of an existing software product is often a cost effective strategy for obtaining new functionality.
- Many software developers spend much of their time modifying their own existing products to suit the specific needs of individual clients.
- For example, Parramatta Education Centre writes custom database applications often using Microsoft Access to build the data entry forms and printed reports.
- Much of the routine work performed by the company involves upgrading existing products to include additional features.
- In this case Microsoft Access is being used to create and update different COTS (Customised Off-the-shelf) products.
- Open source software is also routinely customised to add new features.
- For example, phpBB is a popular open source product used to build online forums.
- Many of the forums based on phpBB have been customised to suit the unique requirements of particular forums.
- In many cases the modifications are built as add-ons which are then made available to other users of the base software product.
- For example, an add-on for phpBB awards points to users based on the number and quality of posts they make.
- Other add-ons allow paid advertisements relevant to the subforum being viewed to be embedded within screens.
- The ability to customise software helps the original developer of the product widen their market.
- It is now common for tools to be included in many commercial products which allow the end user to create customised screens and other functionality through the use of wizards and various drag and drop design screens.
- Other companies who specialise in software for particular industries offer their own software customisation service.
- For example, GeoCivil is a software product designed for use by civil engineers.
- The developers (Geocomp Consulting) offer a customisation service where GeoCivil can be altered to suit particular requirements.
Which is best - Bespoke software or off the shelf software
Packaged Software VS Customised Software
The following summarizes the advantages and disadvantages of implementing a package based application solution versus a custom solution. (Buy vs. Build)
http://it.toolbox.com/blogs/enterprise-solutions/a-comparison-of-package-vs-custom-development-41566
Category | Software Package | Custom Development |
Risk | Already tried and tested. | New product carries greater risk. |
Team Qualifications | Less expertise is required in analysis, design, and development. | Requires considerable expertise in analysis, design, and development. |
Time | Less time is required to implement. | More time is required to complete analysis, design, and development. |
Cost | Initial cost is lower. | Initial cost is higher. |
Operating Cost | Could be unnecessarily high if not all package features are used. | Corresponds to the nature of the system. |
Requirements | Will not fit requirements exactly. | Designed to fit requirements. |
Support | Must depend on vendor support and training. | Support and training is provided by the project team. |
Documentation | High quality documentation is expected. | Quality of documentation will depend on the skill of the project team writers. |
Flexibility | Other related applications are generally easily available. | Other applications must be custom developed. |
Obsolescence | Enhancements are provided by the vendor. | Enhancements must be custom developed. |
Enterprise Wide Architecture Strategy | May not follow long range objectives and corporate standards exactly; i.e., compromises might be necessary. | Designed in accordance with long range objectives and corporate standards. |
B.4. Cost Effectiveness
- Usually one of the constraints of a new software system will be that it falls within a certain budget.
- If it is not a requirement then it will most likely be an absolute constraint.
- This area aims to accurately assess and predict the costs involved in the development of a new software project compared with using or modifying an existing product.
