• No results found

A COMPARISON OF THREE INFOMATION SYSTEMS DEVELOPMENT METHODOLOGIES RELATED TO EFFECTIVENESS/EFFICIENCY CRITERIA

N/A
N/A
Protected

Academic year: 2021

Share "A COMPARISON OF THREE INFOMATION SYSTEMS DEVELOPMENT METHODOLOGIES RELATED TO EFFECTIVENESS/EFFICIENCY CRITERIA"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

A COMPARISON OF THREE INFOMATION SYSTEMS DEVELOPMENT METHODOLOGIES RELATED TO EFFECTIVENESS/EFFICIENCY CRITERIA

T Rojas

Simón Bolívar University Processes and Systems Dpt.

P.O.Box:89000- Caracas - Venezuela phone: 58-02-9063324 fax: 58-2-9063303 e-mail: [email protected] M. Pérez

Simón Bolívar University Processes and Systems Dpt.

P.O.Box:89000- Caracas - Venezuela phone: 58-02-9063324 fax: 58-2-9063303 e-mail: [email protected] ABSTRACT

Faced with the software crisis, the methods to develop information systems have become strengthened and have shown increasing capabilities in providing quality products with certain levels of efficiency. However, there are aspects that have an undeniable influence on the crisis and that have not been taken into account, one of which is the balance between efficiency and effectivenesa. The objective of this paper ¡S to evaluate three methodologies based on different concepts to determine how each one supports effectiveness and efficiency in the development of the software process as well as the software system itself. Firstly, the background leading to the ponderation of the complexity in the process of developing complex and large-scale information systems is presented, followed by the comparison variables – efficiency and effectiveness - in the process of developing information systems and the software system itself. The methodologies studied are based on three different concepts: the MSA (Modern Structure Analysis) [Yourdon, 19891, IEM/ST-P (Incremental Evolutionary Methodology/Structured Techniques and Prototype) [Callaos et al, 19921 and USE CASE (Use Case Driven Approach) [Jacobson et al, 1993]. As a result of this comparison, a matrix is presentes that relates said methodologíes to the comparison variables. This research attempts to send out an alert on the need for efforts to be directed towards the effectiveness of the information systems development process, a very weak area in the methodologies studied, regardless of the concepts on which they are based.

KEY WORDS

Crisis in the development of software, methodology, efficiency, effectiveness, development process, information systems, product.

1. INTRODUCTION

Faced with the software crisis, the methods for developíng information systems have been strengthened and have shown increasing capabilities in providing quality products with certain levels of efficiency. However, there are aspects that have an undeniable influence on the crisis and that have not been taken into account. One of them is the balance between

(2)

efficiency and effectiveness. Surprisingly, efficiency ¡S the best indication of is Departmentls performance. In short, the is manager's focus needs to be effectiveness, not efficiency: that is, how well the IS Department is serving the organization [Wysocki et al, 901. The objective of this paper is to evaluate three methodologies based on different concepts to determine how each one supports effectiveness and efficiency in the process of developing software as well as the software system itself. It is very important to define effectiveness and efficiency in the product as well as in the process, inasmuch as only by having these differences clear can efforts be directed to neutraliza the crisis and take the correct approach.

2. BACKGROUND

Which is the most important aspect in a design and modeling methodology ? Is ¡t its formal consistency, its reusability, its efficiency, its preciseness in the objectorientation principles ? No. None of these makes any sense if YOUR problem is not solved. There is no check to verify if the model or program is correct. The development creators must ask the users or experts in the field what they wish for. They must understand their needs somehow and later on verify whether these were their true requirements [Rumbaugh, 19941. Nevertheless, ¡t seems that this endeavor ¡S not as simple as Rurnbaugh stated, since studies have shown that for each six new largescale information systems put into operation, two are canceled [Gibbs, 1994]. This data was given in the September 1994 issue of Scientific American, stating as one of the possible causes the fact that the majority of computer codes is still commonly carried out using the unrefíned language of craftsmen, with techniques that do not measure and are not capable of consistent repetition [Gibbs, 1994].

It is well-documented that the process for developing information systems is a complex one. An information system is a solution to a problem. If the círcumstances vary and the solution remains the same, then there is still a problem and there ¡S no reason for the information system to exist or else, the solution to the problem is imperfect. Thís happens very often. Said complexity therefore does not allow the process of developing systems to be describes by one single model.

Significant efforts have been put forward to improve the efficiency of the process of developing information systems, one of which was reviewed by Aoyama [Aoyama, 1993]. In the mid-80's, Fujitsu created a model for the development of multiple concurrent functionalities for the entire process, from the specifications to the tests, with interesting results regarding improved development time even though ¡t was recognized that project management costs increased.

Monarchi, in turn, [Monarchi and Puhr, 1992] pointed out that, in their experience, the effectiveness of the process is highly dependent on the knowledge and expertise of the development creator and on the spatial characteristics of the problem. In this regard, the methodologies that back the effectiveness of the process shall somehow take into account the creatorls features or profile and the type of system being developed.

Lea [Lea, 1994] stated that any development process is a social proceas. All levels of the organization must participase ínasmuch as the decisions shall affect the users and this shall have an effect on their future growth and evolution.

Another real fact is the cost of the software which is quite considerable and growing at an annual rate of 12% [Pressman, 1993]. Any improvement in software productivity shall give rise to an absolute decrease in costs.

(3)

Now therefore, an information system not only implies an applicationassociated computer program but also its use, its relationship with the user, its insertion within the organization, its development and lastly, its maintenance. if unlimited resources were available, probably many of the problems would be neutralízed. The challenge however is to produce quality information systems with a finite number of resources available. Quality can be seen from two points of view: first, from the standpoint of the user, ¡.e. the product should work based on his requirements, and second, from the development creatorls point of view, following a process increasingly closer to the objectives of the company dedicated to developing the information systems.

Faced with this software crisis, from the 60's onwards ¡t was proposed that this process be sustained by a set of techniques, concepts and methods [Kokol, 1989] in order to improve its efficiency and effectiveness. For this reason, the study of the methods has currently gained widespread importance.

3. THE COMPLEXITY OF THE PROCESS FOR DEVELOPING INFORMATION SYSTEMS This section requires special attention. The software índustry is only 30 years old and has suffered three completely different generations of hardware. This leads us to think of currently developing solutions with computers that only a decade ago were considered to be impossible. The more evolved hardware becomes, the greater the possibility to support large volumes of data, the response time is improved and less resources are used up. This broadens the scope of solutions available to meet the requirements of the users and is related to the effectivenesa and efficiency of the product. The problem however lies in the fact that an information system is not only based on hardware but also programs (software) and human beings interacting with all these parts. Up to the present, human activities involved with the information system have been treated separately from the functions thereof. Lin [Lin, 19941 has declared that this phenomenon should be observed not only from the standpoint of the system to be developed but also through the multiple perspectivas of all the human beings involved in the process. If to thís we add all the foregoing - that three elements participase in this process (people, product and technology) - and that besides, a series of phases or stages (serialized or in parallel) are taken, subject to limited time constraints, the reason for the complexity in the' process of developing information systems can be easily understood (Figure l). Thus, ¡t can be said that the solution information system shall be found in a range determined by the userls needs, customer-imposed restrictions, the objectives of the development creators and the technology.

Figura 1.

As has been stated in the Background section, the information systems process development model is not one single model. Nevertheless, although it is backed by a methodology with sequentially-executed activities, this sequence occurs only at the begínning; afterwards the activities are carried out concúrrently. Based on this, Davis [Davis, 19941 affirmed that the development of information systems is a concurrent process, in which none of the models published to date have provided a clear vision of the state-of-the-art of the project [Davis, 1994] This

is due to the fact that complex processes are backed by methodologies using very simple managerial techniques or tools.

In light of the foregoing, ¡t can be concluded that with the appearance of new application areas and the increasing complexity of the problems that are attempted to be solved by

(4)

computer, no opportunity is given to the development creators to guide their efforts towards effective processes.

4. DEFINITION OF THE COMPARISON VARIABLES

For the purposes of this paper, The Product refers to the information system purchased by the customer or whose development has been requested by him due to a business need. This ¡S developed, not manufactures [Pressman ' 1993]. On the other hand, The Process refers to the set of activities inherent to the development of logical though not necessarily sequential information systems (the product), typically involving people, the product and technology [Ying Lin, 1994]. (Figure l). There are severla opinions as to the improvement of the quality and productivity of information systems. In this research the following variables shall be analyzed:

Efficiency: the optimal ratio between the resources used (time, hardware, software, development creators, etc.) and the result achieved. This variable may be seen from two perspectivas:

a. Product efficiency: Information systems are efficient when they make good use of the resources, i.e., user-friendly screens, reuse, a good response time, a compact code, optímization in the use of memory, etc. [Pressman, 1993].

b. Process efficiency: Processes are efficient when information systems are developed making good use of the resources available to the organization developing the product. Also when productivity is promoted, deadlines are met and costs

decrease.[Pressman, 19931. A formalization of this concept ¡a included in the Maturity Model proposed by Humphrey [Humphrey,,' 1989), wherein an organization in level 1 lacks process metrics; in levels 2 and 3, the metrics are defined with the latest product developed (number of persons, time" code lines, etc.), and this is necessary to control the project; in level 4 the process is measured based on the time spent in each stage and inspections are applied; lastly, in level 5, the basis in the organization ¡S in place, to continue the improvement and optimization of the process.

Effectiveness: the ratio between the result and the company objectives, the ratio between the what and the what for [Callaos, 19921 . This concept likewise can be divided into two aspects:

a. Product effectiveness: This is directly related to the customerls level of satisfaction@ with the service offered by the information system and its ease of use [Chunie et al, 19941. In the process of developing the information system there ¡S a struggle of forces, as shown in Figure 2, which presents the productos effectiveness level relates to the forces taking part in the development thereof. These levels increase by increasing the support forces (prototype techniques) and/or reducing the restrictiva forces (identification of requirements and project feasibility). The number of information system inspéctions should be a support force for achieving a better-quality product.

The reduction in the restrictiva forces exerted on the effectiveness of the information system ¡S proportional to an increased identification of the user's requirements.

b. Process effectiveness: Propels the company towards achieving or getting close to its objectives. An effective process is one which is consider to be a set of parts and combinatory laws enable to generate many things. It's a set of parts with standards that regulate the way in which these parts can be combined. Almost every system as a whole is generated by a generator system. If we want to make things that can function as 'wholes'.

(5)

We must invent generators systems that can create them [Alexander, 1971] and not only these systems must generate good information systems but they also have to be like holistic in a human and social sense.

Figura 2.

Based on this terminology, the methodologies supporting the development process for information systems shall be evaluated based on the following four concepts: product effectiveness, process effectiveness, product efficiency and process efficiency. The final objective of this analysis is to determine in what measure said methodologies contribute to the achievement of efficient and effective products and processes.

5. METRODOLOGIES: MSA - IEMIST-P USE-CASE

A brief description follows on three information systems development methodologies, which were selected based on the following criteria: each one corresponda to three different concepts: structured focus and prototype, a combination of structured techniques, prototype and systems focus; object-oriented, all are also user-oriented, are well documented and they had been applied on real situations. Structured conceptsls DeMarco [De Marco, 19781, had been used since 78. Use cases's Jacobson [Jacobson, 1987] had been proposed about 10 years ago and MEI/TE-P methodology had been applied to 25 information systems project and 120 information systems academic works.[Callaos Notes, 19951

1. MSA (Modern Structure Analysis) [Yourdon, 19891

Does not describe phases but rather sequence-less activities. This means that every activity N must conclude before activity N+1 begins.

It includes activity feedback and control. These are: Surveys to determine the project feasibility.

An analysis, to transform user politics and the project scheme into a structured specification (ENVIRONMENTAL MODEL, BEHAVIOR).

A design, to assign portions of the specification (ESSENTIAL MODEL) to the adequate processors. Specifications of the limits and the human-machine interface are defined in the user implementation model.

Implementation, program codification. Quality control, the final product test.

A description of the manual and automated procedures. Data conversion, if any.

Installation.

These structured techniques (DFD, DER, State Transition Diagram, Structured Letter, Project Management) are combined with the prototype.

2. IEM/ST-P (Incremental Evolutionary Methodology/Structured Techniques - Prototype) [Callaos et al, 1992].

The development process of Information Systems in a parallel, non serialized manner.

(6)

Feedforward, to adjust the objectives to the existing means or the feasibility of achievíng these objectives.

The precedence of a stage related to another one is logical, not necessarily chronological.

During the development, the quality of the process and the product are measured as to their efficiency and effectiveness.

A high cost associated to the degree of uncertainty at the beginning of the process. The levels of uncertaint@ decrease as the process continuas to develop.

The high level of entropy ¡S arranged, combining structured techníques (DER, incrementar planning, walk-through techníques, etc.) and prototypes (screen prototypes, systems prototypes) in order to attain process and product efficiency.

Two macro-activitíes are contemplated: efficiency trade-offs and effectiveness trade-offs.

3. USE CASE (Use Case Driven Approach) [Jacobson, 19931

Takes into account the development of an information system as a gradual transformation of a sequence of models.

The models are descriptions with different levels of abstraction.

The software development process is divided into subprocesses: Analysis, Construction, Components and Tests, all cooperating with one another. These subprocesses must be independent; however, the output of one is the input of the other. Thereby the process is sequential.

Based on an objectoriented concepts. The following techniques are proposed: Use Case, Object Model, Design Model, Transition Diagrams and Block Interaction Diagrams.

Starts with the problem posed.

Proposes the subsystems technique to manage the complexity of the software system.

The Use Case technique emphasizes product effectiveness and a user-focused analysis.

Gives a clear and precise description of all the activities to be carried out and proposes an order, which strengthens the systematization of the methodology, thereby increasing process efficiency.

Sets the basis for the generation of components, thus evolving towards an industrial development of software.

6. COMPARISONS MSA

1. Product Efficiency: No instrument was detected for the development creator to generate effícient products. It would seem that It all depends on the creator's aptitudes and attitude.

2. Process Efficiency: This is

evidenced through structured techniques and the activities specified in this methodology. Although the execution of these activities is not rigid, ¡t gives a complete idea on what has to be carried out in each step, which in turn is an important basis for the application of any project execution and control technique.

3. Product Effectiveness: it seems well-backed through the use of the prototype. It gives specific guidelines on the treatment of the limits and the human-machine interface.

(7)

4. Process Effectiveness: Attempts are made in this direction inasmuch as ¡t combines pure top~ down approaches with prototypes, thereby enabling the development creators to execute real designs beforehand.

IEM/ST-P

1. Product Efficiency: A complete phase (efficiency trade-offs) ¡S dedicated to achieving an optimal product behavior. During this phase, the development creator implements non-behavioral specifications. 2. Process Efficiency: Strongly affected by the intensiva use of prototypes, aimed at product effectiveness, as well as the

variable previously explained. However, the author proposes

incrementar planning as a project

control technique, making use of feedback and feedforward and attempting to reconcile these towards process efficiency.

3. Product Effectiveness: Strongly supported, inasmuch as the first phase in the methodology (effectiveness trade-offs) makes intensiva use of prototype techniques.

4. Process Effectiveness: Provides the basic philosophical guidelines to carry out efforts towards achieving effective processes. it incorporases managerial techniques wherein uncertainty is managed for this purpose. However, an adequate maturity level was not encountered to support this aspect.

USE CASE

1. Product Efficiency: Makes a

very significant contribution to the

object model with its proposed interface model, although many aspects are left to the responsibilíty of the development creator.

2. Process Efficiency: Provides a logical sequence of activities from the exposition of the problem to the generation of a very consistent code. The objective at all times is to propose a direct development method for information systems.

3. Product 'Effectiveness: Provides USE~CASE, a @ very interesting tool for user-focused analyses. Makes intensiva use

thereof and the entire system design

depends on its correct application. 4. Process Effectiveness: Does not even provide guidelines. The relations between its tools and techniques are predefined in such a manner as to not allow any flexibilíty in the project's uncertain conditions.

7. COMPARATIVE MATRIX

Based on our experience and three rears developing information systems

with pre- and post-graduate students, thesis and academic research projects, using the three methodologies, which are analyzing in this research and combined this with an exhaustiva documented research (notation, complexity, ability to handle, etc.) we decided to quantify the variables according to this scale:

(8)

· LOW: makes attempts

· MEDIUM: provides for ¡t but lacks tangible elements · HIGH: well support ¡t.

The Figure 3 shows a matrix with the results of the evaluation of the selected methodologies related to the comparison variables that have been defined.

Figura 3

8. CONCLUSIONS

The methodologies studied, based on three different concepts, show weak spots in supporting process effectiveness.

It is therefore obvious that research should focus on tangible instruments for the effective rnanagement of the software development process.

REFERENCES

[Aoyama, 1993] Aoyama, M. Concurrent - Development Process Model, IEE Software, Julio 1993.

[Alexander, 1971] A-Iexander C. La Estructura del Medio Ambiente, Editorial Tusquest, 1971.

[Callaos y otros, 1992] Callaos, N., Callaos, B. A Systemic Methodology for Information Systems Analysis and Synthesis, In the proceedings of the 6th International Conference on Systems Research. Informatics and Cybernetics, Baden Baden, Germany, Agosto, 1992. [Callaos, 1992] Callaos, N. A Systemic Systems Methodology. 6th International Conference on Systems Research Informatics and Cybernetics, Germany, 1992.

[Callaos, 1992] Callaos, N. Sistemas de Soporte a Decisiones. Callaos y Asociados, Noviembre 1992.

[Callaos Notes, 1995] Callaos, N. Decisions Support Systems, Callaos y Aso, March 1995. [Clunie y otros, 1994] Clunie,C; Da Rocha, A; Werner, C. . Evaluaciones de la calidad de un modelo orientado a Objeto. Proceeding del Panel'94. Méjico. 1994, p 457.

[Davis, 1990] Davis, A. Software Reguirements Analysis & Specification Prentice Hall International Editions 1990.

[Davis, 1994] Davis, A. A Concurrent Process Model of Software Development. ACM Software Engineering Notes. Vol 19, N2, April 1994.p 38.

(9)

[De Marco, 1978] De Marco, T. Structure Analysis an System Specification, Yourdon Inc. New York, 1978

[Gibbs, 1994] Gibbs, W. Softwarels Chronic Crisis, Scientific American, September 1994. [Humprey, 1989] Humprey, W. Managing the Software Process, Reading A. M. Addison Wesley, 1989.

[jacobson et al, 93] Jacobson I., Christerson M., Jonsson P., Overgaard G. Object-Oriented Software Engineering. A Use Case Driven Approach, Addison-Wesley, 1992.

References

Related documents