Mukesh Parthasarathy's Blog

August 31, 2011

Flora’s Flowers Ltd

Filed under: Professional — Mukesh Parthasarathy @ 7:38 am
Tags: ,

IMPORTANT NOTICE:

THIS ARTICLE IS AN EXTRACT OF LINES FROM A REPORT SUBMITTED BY MUKESH PARTHASARATHY TO UNITEC NEW ZEALAND. PLAGIARISM IS A SEVERE OFFENCE. KINDLY USE CITATIONS IF YOU ARE REFERRING TO THIS ARTICLE IN YOUR PAPERS OR WEBSITES.

This report is based on the study made by IS consulting Ltd on the information systems of Flora’s Flowers limited. The report deals with the the different approaches to information systems methodology in the SDLC cycle. Focus in this documentation is over the sequential approach, the incremental approach, and spiral approach. Later the criteria for measuring feasibility are documented and the phases where they are carried out are pointed out. Based on the data provided with this assignment, three candidate systems solutions namely Candidate1, Candidate2, and Candidate3 have been identified and a Candidate System Matrix and a Feasibility Analysis Matrix has been generated. All the three candidate systems have been subjected to cost-benefit analysis using the Return On Investment approach. Out of the calculations made for ROI and taking into consideration the Feasibility Analysis Matrix, Candidate3 has been selected as the most feasible solution. Hence the choice of Candidate3 is recommended to the client. Strong citation support have been provided for all the discussions and references have been respectfully acknowledged.

Description of sequential method:

This model is made of several stages, each one of them lead to the other in a linear fashion upon completion. This method is also known as waterfall method.

“The idea of a waterfall is a metaphor for a cascading of activities from one phase to the next. This approach stresses a sequential and logical flow of development activities. For example, the design activities begin only after the analysis and requirement activities are complete. Subsequently, the actual development, or programming activities, will not start until the design phase is complete. Although one can go back to a previous stage, it is not always easy or desirable.” (Marchewka, 2003, p.16)

The different stages of this method are:

1. Requirements
2. Analysis
3. Design
4. Coding
5. Testing
6. Maintenance

This can be diagrammatically represented as shown below:

Figure1: sequential method

Let us consider these stages one by one.

In the requirements stage, the needs of the information systems are identified thoroughly. This is an imperative as the different subsystems must relate with each other correctly. These requirements tell us what the basic inputs are for the different elements of the information systems and its subsets.

The analysis stage begins only when the requirements stage is completely over. Here the system of the client is completely analysed and the necessity for building a system is completely understood.

“This is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, and target dates. The requirements gathering process is intensified and focussed specially on software. To understand the nature of the program(s) to be built, the system engineer (“analyst”) must understand the information domain for the software, as well as required function, behaviour, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved.” (stylusinc.com, 2006)

In the design stage, a model of the system is built. The design addresses the issues of data tables, databases, data warehouses etc. In fact, an entire architecture of the system is defined in this stage.

“When the file contents have been completed and the reports are almost final, the designers turn the documentation to date into specifications that are detailed enough for programmers. To develop the processing logic, the users must indicate what transformations are necessary from the input and file contents to produce the desired output.” (Lucas, 1992, p.110)

Next is the coding stage, where all the designs done in the previous stage needs to be converted into proper software programs. Appropriate programming language is chosen to do the coding.

“The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like Compilers, Interpreters, Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.” (stylusinc.com, 2006)

In the testing phase, the bugs that occurred in the programming stage are taken care of. The bugs sometimes may also be due to the errors committed in the earlier stages. Some testing techniques used in this stage are unit testing, integration testing, and system testing.

The final stage of maintenance takes care of the changes that may occur in the system in the future. These changes may be due to new entries into the system, modifications etc. These changes are primarily the changing requirements of the client as per his business needs. Hence this stage is very important.

“Even after a system has been thoroughly analysed, designed, tested, and installed, the users may sometimes find problems with the new system or discover even better and more refined ways of accomplishing a particular task. Thus, the maintenance phase activities focus on detailed modifications to the new system to either correct a problem not discovered during final testing or to effect modifications to reflect changes in the organization’s environment. In many cases, maintenance can be thought of as a repetition of the previous phases of the life cycle. Even the best system requires resources devoted to its maintenance, but as time goes on, it becomes apparent that the maintenance of the system is becoming cost prohibitive, because of either degradation of the technology or significant changes to the business conditions. Regardless of the reasons, this is a clear indication that it is time to begin the process over again and to begin analysing and designing a replacement for the current system.” (Marakas, 2001, p.24)

Description of Incremental method:

This method is also known as iterative method. Here the system undergoes several releases. Each release is associated with some development that is made to the system. Hence it follows the philosophy of continuous improvement.

“The incremental build life cycle model provides for progressive development of operational software, with each release providing added capabilities.” (Schwalbe, 2004, p.46)

Here in this method, the steps are repeated again and again. Each step is known as iteration or an increment.

“The incremental model combines elements of the linear sequential model with the iterative philosophy of the prototyping. This model has been explicitly designed to accommodate a product that evolves over time.

When an incremental model is used, the first increment is often a core product. The core product is used by the customer or undergoes a detailed review. As a result of use and/or evaluation a plan is developed for the next increment. The plan addresses the modification to the core product to better meet the needs of the customer and delivery of additional features and functionality. Software is constructed in a step-by-step manner. While a software product is being developed, each step adds to what has already been completed.” (fdsc.net, 2006)

Generally subsystems are delivered in the next iterations after the core product is delivered.

This method can be diagrammatically represented as follows:

Figure2: The iterative or incremental strategy (Whitten, Bentley, Dittman, 2004, p.41)

In short, the above diagram can be best summed up as follows:

“This model can be used to produce the core product followed by sub-systems of the product. Software Development happens in Increment Mode. The incremental model combines elements of the linear sequential model applied repetitively with the iterative philosophy of prototyping.” (manvish.com, 2006)

Description of spiral method:

This method was first proposed by Barry Boehm. It takes risk factors into consideration and is very unstructured in its approach. Hence it is also considered as a Rapid Applications Development (RAD) method.

The spiral method can be understood as follows:

“The spiral model provides a risk-oriented approach where a software project is broken up into a number of mini projects where each addresses one or more risks until all major risks have been addressed (McConnell 1996). A risk can be defined as a poorly understood requirement or architecture or as a potential problem with the technology or system performance. The basic idea is to begin development of the system on a small scale where risks can be identified. Once identified, the development team then develops a plan for addressing these risks and evaluates various alternatives. Next, deliverables for the iteration are identified, developed, and verified before planning and committing to the next iteration. Subsequently, completing each iteration brings the project closer to a fully functional system.” (Marchewka, 2003, p.17)

Activities in this model are divided into four quadrants and a cost benefit analysis and a risk analysis is done prior to starting the activities.

In the –XY quadrant the objectives of the project are identified and availability of time and resources are considered. Alternative solutions are also considered.

In the XY quadrant the alternatives are evaluated taking into consideration the risk factors and the alternatives that reduce risks are selected.

In the –YX quadrant a prototype is developed which is mostly based on the waterfall model.

In the –X-Y quadrant planning for the next phase is carried out.

“Each trip around the quadrants is called a “round” and a commitment to proceed or a
decision to abandon is made at the end of each round. Rounds zero and one are generally
concerned with project feasibility and risk assessment. If there is a “go” decision at the
end of round one, a more detailed analysis and concept of operations is begun. At this
point, the spiral model borrows many of the concepts of the waterfall model, and rounds
two and three result in functional requirements specifications and preliminary design
decisions. However, each round from here produces a working prototype and a new
feasibility study and risk tradeoff analysis.” (Colorado.edu, 2006)

Comparison of sequential, incremental, and spiral methods:

1. The sequential and incremental methods do not take into consideration the risk factors, whereas the spiral method provides a risk-oriented approach.
2. The sequential and incremental methods are structured methods whereas the spiral method is highly unstructured.
3. A risk analysis and cost-benefit analysis is done before any work is started in the spiral method whereas this is not the case with the other two.
4. Sequential method is used in large projects that are predictable whereas incremental method is used on projects that have unchanged deadlines. Spiral method is more suitable for projects that are essentially research oriented that are influenced by changing variables.
5. In sequential approach a system is delivered only upon successful 100% completion of all stages whereas in the incremental method the system is delivered in increments/iterations. In the spiral method the system is delivered in an expanding spiral that is based on the visits to the quadrants.
6. The sequential method is linear whereas the incremental method is evolutionary. The spiral method is expansive.
7. The sequential method cannot be reversed whereas the incremental method allows for parallel development and delivery of increments. The spiral method allows for feedback loops.
8. The idea of prototype is not used in sequential method as against the other two methods which are based on prototypes.
9. Sequential method is ideal for low risk projects whereas incremental method is ideal for medium risk projects. Spiral method is ideal for high risk projects.
10. Client interactivity is more in the incremental method as against sequential and spiral methods.

List of criteria for assessing information systems feasibility:

Before we list the criteria for assessing the feasibility of information systems, it is important to define what a feasibility study is:

“A feasibility study is a systematic analysis performed in advance of a project in order to provide information about whether or not the project should be undertaken. Conducted correctly, it should address issues that could influence the success of a potential project and assess the merits of different options for comparison.” (pkf.co.uk, 2006)

The criteria considered for assessing the feasibility of information systems are:

1) Technical feasibility
2) Operational feasibility
3) Schedule feasibility
4) Economic feasibility
5) Human factors feasibility
6) Legal and political feasibility

Explanation of steps and tools:

1) Technical feasibility:

Here the following questions are typically considered:


• Is the technology necessary for the proposed solution practical to obtain?
• Do we currently possess the technology necessary to implement the proposed solution?
• Is the technology necessary to implement the proposed solution available now and has it been tested and proved?” (Marakas, 2001, p.220)

Generally the technology required is available in the market. In terms of hardware and software, mostly the latest versions are preferred. Cutting-edge tools are generally used.

Technical feasibility can be defined as:

“Assessment of whether the hardware, software, and other system components can be acquired or developed to solve the problem.” (Stair, Reynolds, 2001, p.482)

Sometimes if the technology cannot be acquired, it is developed by the organization or the development activity is outsourced.

2) Operational feasibility:

It is concerned with the efficiency of the system. It considers whether the solution will run properly without encountering any problems. It also checks for any unnecessary overheads.

“The dimension of operational feasibility assessment is focused on issues related to how well the proposed solution works within the organization and how the end users feel about the new system. In addition, issues of scheduling, testing, deployment, and implementation cutover are assessed in this dimension. We began the assessment of operational feasibility during the preliminary feasibility activities during the first phase of the SDLC.” (Marakas, 2001, p.220)

Sometimes in this approach usability testing is carried out which are actually mock sessions to determine where the user encounters problems while using the system. The results of these tests can be used to make the system run more efficiently.

Questions considered in operational feasibility are called as PIECES.

“P Performance-Does the system provide adequate throughput and response time?
I Information-Does the system provide end users and managers with timely, pertinent, accurate, and usefully formatted information?
E Economy-Does the system offer adequate service level and capacity to reduce the costs of the business or increase the profits of the business?
C Control-Does the system offer adequate controls to protect against fraud and embezzlement and to guarantee the accuracy and security of data and information?
E Efficiency-Does the system make maximum use of available resources including people, time, flow of forms, minimum processing delays, and the like?
S Services-Does the system provide desirable and reliable service to those who need it? Is the system flexible and expandable?” (Whitten, Bentley, Dittman, 2004, p.405)

3) Schedule feasibility:

It takes into consideration the project deadlines and checks if these deadlines are tangible. Thus postponement or preponement of deadlines are influenced by this feasibility study. This may cost or save a huge amount of money for the company.

4) Economic feasibility:

This is one of the most important aspects of a feasibility study. Here a cost-benefit analysis is done to find out if the benefits overweigh the costs. Benefits are classified as tangible benefits and intangible benefits. Costs are also classified as tangible costs and intangible costs.

Usually the benefits are also quantified although it is difficult in some cases.

“The most difficult problem in performing a thorough economic feasibility assessment lies with the intangibles. They are, admittedly, difficult to identify and even more difficult to quantify. Because of this, there is a tendency to ignore them in the preparation of the assessment. Yielding to this tendency, however, can be the most serious mistake possible in the conduct of a feasibility assessment.”(Marakas, 2001, p.225)

To account for the intangibles (i.e., intangible costs and intangible benefits) we rely on estimations and past experiences. Sometimes probability and related statistical data may also be used for these purposes.

Costs are broadly classified into systems development costs and systems operation costs. These figures are generally projected annually. Costs may include hiring personnel charge, training, purchase and installation of hardware and software, maintenance etc.

Cost-Benefit analysis (CBA) can be described as follows:

“A CBA is proposed as a companion document with the feasibility study. The CBA is the document that provides managers with adequate cost and benefit information to analyze and evaluate alternative approaches. It provides information for management to make decisions to initiate a proposed program- to continue or discontinue the development, acquisition, or modification of information systems or resources.” (usdoj.gov, 2006)

Some of the popular methods to find out the economic feasibility are:
• Return On Investment
• Payback Analysis
• Net Present Value

In this report we will be considering only Return On Investment for cost-benefit analysis.

5) Human factors feasibility:

This factor tells how much the user can adapt to the system that has come into play. This is important because if the users can’t adapt to the system, the system resources

becomes wastage. This factor is also important from the point of Human Resources Department (HRD) as the right people with matching skill sets should be employed to operate the system.

“The implementation of a new system might bring with it the need to define new roles within the organization or to redefine old ones. The determination of the need and availability of these specific human resources is a critical element in favourably assessing the human-factors dimension. What kind of skill set do we need? Do these skills currently exist within our organization? Can we hire those skills or do we need to train existing personnel?” (Marakas, 2001, p.222)

6) Legal and political feasibility:

Last but not the least, this factor comes into play in order to take care of copyright infringements and patent protections. Any violation can cost the company millions of dollars through law suits. The introduction of the new system can also change the way organization politics happen.

“The legal and political ramifications of a new system must be given careful consideration prior to deployment so that any potentially negative outcomes can be addressed in a timely and successful manner.”(Marakas, 2001, p.223)

Identification of phases for measuring feasibility:

As mentioned earlier in the report feasibility is done in the analysis phase of the sequential model.

For the incremental model, analysis is done in different stages of the different iterations. Generally the feasibility is done after the core product is delivered to the customer. The core product usually is created during the first iteration as mentioned earlier in this report. This forms the basis for studying feasibility.

Hence we can conclude that usually feasibility is done at the end of the first iteration.

In the spiral model, the main feasibility study is done before the start of any work.

“Using this model, before any work is started, a risk analysis and cost/benefit analysis are completed and evaluated.” (Colorado.edu, 2006)

However as mentioned earlier in this report, rounds zero and one measure feasibility and all rounds from the fourth round onwards are concerned with a new feasibility study.

Discussion:

The sequential model proceeds from one stage to another in a linear fashion. We can move to the next stage only upon 100% completion of the earlier phase. Hence this eliminates the possibility of carrying out feasibility study in any other phase excepting the analysis phase.

In the iterative model although the system is delivered in increments the first subsystem is often a core product. The feasibility study is done before the start of the second iteration and since the incremental model is also sequential in nature as mentioned earlier in this report, it eliminates the possibility of carrying out feasibility study in remaining iterations although requirements and specifications may be developed for subsystems delivered.
In the spiral model there is feasibility study at the start of every round excepting rounds two and three. This is because during rounds two and three we generate the requirements specifications and design as mentioned earlier in this report.

Techniques and issues to be addressed:

• Selection of candidate systems
• Doing cost-benefit analysis for all the candidate systems
• Generating a candidate systems matrix
• Generating a feasibility analysis matrix
• Ranking the candidates
• Choosing a candidate system
• Proposing the selected candidate system as the new system

The candidate systems matrix is complemented by the feasibility analysis matrix which in turn takes the input from the cost-benefit analysis done to calculate economic feasibility. Economic feasibility is measured in this report by calculating the Return On Investment (ROI) for each candidate. Candidates are distinguished by their attributes which go on to make their respective systems. Ranking is done based on all the feasibility factors and the best candidate is proposed to the management for implementation.

9. Candidate Systems Matrix:
10. Feasibility Analysis Matrix:
11. Cost-Benefit analysis for Candidate1:
12. Cost-Benefit analysis for Candidate2:
13. Cost-Benefit analysis for Candidate3:

Referring to the candidate systems matrix and the feasibility analysis matrix and the cost-benefit analysis that has been carried out for the three candidate systems which have been provided as three alternate solutions, the choice of Candidate3 is selected as the solution that is recommended to the client. Candidate3 has a better annual Return on Investment (ROI) in comparison with Candidate1 and Candidate2. The second best solution would be Candidate1 and the least favoured would be Candidate2. Although there is not much of a difference between the economic feasibility of Candidate1 and Candidate3, there is a significant overall feasibility difference with Candidate3 scoring over candidate1

Thus this report has been concerned with the feasibility study with respect to the case of Flora’s Flowers whose information systems needs a radical change. Three candidate systems were considered in this report as three alternative solutions and out of the three, Candidate3 has been proposed to the management. Return On Investment technique has been used to do the cost-benefit analysis and the annual ROI has been calculated for the system which has a life expectancy of six years. EZE has been used by all the candidates and all the attributes of the candidates have been subjected to candidate systems matrix and feasibility analysis matrix. Candidate 3 has emerged as the system that has been proposed to the management.

Advertisement
TrackBack URI

Theme: Rubric. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.