determining if an existing solution can be used
social and ethical considerations
consideration of existing software products
customisation of existing software solutions
cost effectiveness
licensing considerations
selecting an appropriate development approach if there is no appropriate existing solution
The speaker notes from the presentation above.
Each heading has considerations that should be addressed:
Determining if an existing solution can be used. When evaluating the suitability of existing solutions, consider:
The functional requirements can also be very technically oriented.
Significant system-wide functional requirements may include auditing, licensing, localisation, mail, online help, printing, reporting, security, system management, or workflow.
Usability: Usability includes looking at, capturing, and stating requirements based around user interface issues, things such as accessibility, interface aesthetics, and consistency within the user interface.
Reliability: Reliability includes aspects such as availability, accuracy, and recoverability, of the system from shut-down failure.
Performance: Performance involves things such as throughput of information through the system, system response time (which also relates to usability), recovery time, and startup time.
Supportability: Requirements such as testability, adaptability, maintainability, compatibility, configurability, installability, scalability, localisability, and so on when maintining a solution after implementation.
social and ethical considerations
High value data stored on system that holds major security issues if any existing flaws in the security aren't properly taken care of are a major concern.
Mass amounts of data is stored on the system, system failure could potentially lead to mass data loss.
consideration of existing software products
The existing software relevant to the server must be appropriately compatible in order to suit the needs of
customisation of existing software solutions
Existing software if under the correct licensing agreement, can be modified to better suit the requirements provided by the project outline. Small and simple sysems, such as a small business database could be developed customising
cost effectiveness
The project must account for a budget, making sure to follow appropriate instructions in order to safely and satisfactory meet the budget.
licensing considerations
You must take in consideration that you might be using someone else’s products to create your own equipment. Therefore in order to safely and properly create a suitable product that
selecting an appropriate development approach if there is no appropriate existing solution
Choosing how to implement a new system is important. For example, phasing in the new system parallel to the old. This will reduce the chance of data loss and system failure. If anything goes wrong, the old system can be turned to as a backup. This process may be slow but it is the safest option. Other options could include piloting the new system, where components are tested before being implemented, or direct cutover, where a new system is implemented without backup. The best example of this is a new tax system being implemented each year.
Determining if an existing solution can be used
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. Will a new solution provide enough advantages to the organisation to be worth the time, effort and money involves in its development and implementation?
Points to consider from the client’s perspective:
will the existing system be able to perform the required tasks in the foreseeable future?
will the proposed new system meet future needs?
have existing similar solutions been examined?
how crucial is the new system to the total organisation?
Points to be considered by the software developer include:
what expertise is required to complete the project?
what resources are required to develop this project?
will we be able to support this product in the future?
can we redistribute existing staff and resources to this project?
Social and ethical considerations
Some social and ethical areas that require consideration include:
Changing nature of work for users: the introduction of new software products has an effect on the nature of work for users of the system. We must consider that effect the new system will have on the users, this could include changing of employment contracts and retraining
Effects on level of employment: in many ways, computers have replacing the work done by people. One of the mains reasons for creating new software is to reduce business costs, including wages. Hence software products are designed to reduce the overall level of employment in an area
Effects on the public: large software systems can have a substantial effect on the general public. The introduction of ATMs involves retraining the entire population. Many seniors were reluctant to make use of this new banking system. Effects on the public are both positive and negative. It is vital that consideration be given to its effect on the public
Consideration of existing software products
All parties must consider issues related to copyright, both in terms of protecting the rights of the developer and the legal rights of the customers who will purchase and use the product.
Parties should consider costs involved in licensing existing products, compared to development and maintenance costs. This can also be balanced with potential profits from selling the solution package to others, assuming an effective development cycle.
Customisation of existing software solutions
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. Open-source software is also routinely customised to add new features. The ability to customise software helps the original developer of the product widen their market.
Cost effectiveness
Usually, one of the constraints of a new software system will be that it falls within budget. Once estimates and quotations have been obtained, an overall development costing can be compiled. This total development cost is then compared to the allocated budget for the project and the total cost is assessed.
Licensing considerations
All parties must consider issues related to copyright, both in terms of protecting the rights of the developer and the legal rights of the customers who will purchase and use the product.
Selecting an appropriate developmetn approach if no appropriate solution exists
If an appropriate existing solution can’t be found then new software will need to be developed. This may involve developing the entire solution or it may involve writing code to customise an existing solution. When new software is developed, one of the first tasks is to identify a suitable software development approach. One should consider each approach’s strengths and weaknesses and should consider a combination of approaches if appropriate.