Regardless of the development method, the scope and objectives of the new system should be investigated to determine feasibility. New applications normally originate from end-user requests and are weighed against the other requests for information systems resources before approval to develop the system is granted. At this preliminary stage an analyst or small project team is authorized to investigate the real potential of the new idea. During this brief study the analyst must investigate the problem and the existing system sufficiently to be able to identify the true extent and purpose of the new application.
In order to ensure that the new system would be of greater benefit to the organization than other competing requests for proposals, a feasibility study must be performed covering the following three major areas:
|Economic feasibility:||to measure the costs and benefits of the new system.|
|Technical feasibility:||to ensure that the organization has sufficient hardware, software and personnel resources to develop and support the proposed system.|
|Operational feasibility:||the willingness and ability of management, users and information systems staff in the organization to build and use the proposed system.|
Issues such as the size and complexity of the new system and the skills and availability of user and IS staff, will determine the level of potential risk to the organization in developing the system. The output from this preliminary investigation is a statement of scope and objectives (often termed the project charter) together with a feasibility report. This document is submitted to management where a decision is made as to whether or not the development project should continue.
The Quality Triangle
When developing software or any sort of product or service, a tension exists between the developers and the different stakeholder groups such as management, users, and investors. This tension relates to how quickly the software can be developed (time), how much money will be spent (cost), and how well it will be built (quality). The quality triangle is a simple concept. It states that for any product or service being developed, you can only address two of the following: time, cost, and quality.
So why can only two of the three factors in the triangle be considered? Because each of these three components are in competition with each other! If you are willing and able to spend a lot of money, then a project can be completed quickly with high quality results because you can provide more resources towards its development. If a project’s completion date is not a priority, then it can be completed at a lower cost with higher quality results using a smaller team with fewer resources. Of course, these are just generalizations, and different projects may not fit this model perfectly. But overall, this model is designed to help you understand the trade-offs that must be made when you are developing new products and services.
There are other, fundamental reasons why low-cost, high-quality projects done quickly are so difficult to achieve.
- The human mind is analog and the machines the software runs on are digital. These are completely different natures that depend upon context and nuance versus being a 1 or a 0. Things that seem obvious to the human mind are not so obvious when forced into a 1 or 0 binary choice.
- Human beings leave their imprints on the applications or systems they design. This is best summed up by Conway’s Law (1968) – “Organizations that design information systems are constrained to do so in a way that mirrors their internal communication processes.” Organizations with poor communication processes will find it very difficult to communicate requirements and priorities, especially for projects at the enterprise level (i.e., that affect the whole organization).
- Conway, M.(1968). How do committees invent. Datamation: 28–31. ↵