Effect of Human Behavior In Sdlc

Exploring the Impact of Human Behavior on Software Development Life Cycle

by Mrs. Ashmeet Kaur*, Dr. Ritu Soni,

- Published in Journal of Advances in Science and Technology, E-ISSN: 2230-9659

Volume 4, Issue No. 8, Feb 2013, Pages 0 - 0 (0)

Published by: Ignited Minds Journals


ABSTRACT

Successfuloperation of any computer system depends largely on the hardware component,software component and human interface. As human factor plays a major roleinthe development and usage of software, system reliability can never beconsidered in isolation from human factors. Analysis of the softwarereliability is also dependent on the human errors. Errors occurring during thedevelopment of the software have impact of human personality factors. It willhighlight on the errors being caused by the developer and user which may resultin comprising the quality of the software being developed. Thus, humanreliability focuses on the human factors that may affect the quality of theultimate product under development and the ways of improving these errors. Itoutlines key requirements for the human behavior study during SDLC. Suchresearch is helpful for the Human Resource departments of software industry inthe selection of competent candidates, reducing the software cost &development time and improving quality of product as well as process. It willalso help managers of IT industry to select more appropriate team for aparticular project.

KEYWORD

human behavior, SDL, system reliability, software development, human factors, human errors, software quality, human reliability, Human Resource departments, software industry, software cost, development time, product quality, IT industry, project team

1. INTRODUCTION

Successful operation of any computer system depends largely on its hardware component, software component and human interface. Quality software erforms its intended functions correctly and reliably and can be quantitatively expressed in terms of software reliability. A lot of work is being done regarding software reengineering and quality process management. Software Reliability Models (SRM) are used to evaluate the software quantitatively which involve error recognition and detection. Quantitative analysis begins with the identification of various errors at various software development stages of Software Development Life Cycle (SDLC). Since human factor plays a major role in the development and usage of software, thus system reliability can never be considered in isolation from human factors keeping this in mind the system reliability has to be redefined as System Reliability = Hardware Reliability + Software reliability + Human Reliability Various errors occurring during the development and use of software are considered in conjunction with the human factors affecting the quality and usage of the software. Analysis of the software reliability should consider the human errors greatly since errors occurring during the development of the software have human personality factors as major contribution. Various Software Reliability studies had considered the failure occurrence due to lack of knowledge, lack of specifications as the only reasons for the error occurrences during SDLC, but nobody has considered the human behavior affecting the software development and usage. The human factor can be taken into account at two levels: Normal operations and Emergency operations. In both cases, human reliability is concerned with the understanding of ‘human error’ mechanisms in order to model it. Basically, the human behavior comprises of individual’s biological characteristics [1],[2],[3], ability, perception, beliefs, attitudes[6], values[4], and various personality factors. Most human behavior is “unintentional”, carried out automatically. All these aspects have a profound impact on the working, behavior, thinking of an individual. Unaware behavior can be costly unless it is shaped according to requirements. Performance Shaping Factors (PSF)[17],[18] results in deadly damage if not taken care of properly. The PSFs are: Stress, Culture, The Meaning of Behavior, Self Confidence and The Past

2

Through learning, the behavior can be molded accordingly but the basic traits cannot be altered. All the factors force an individual to perform in some predefined pattern. So, the person undergoing the software development process will have the effect of his personality on the final product he will be delivering; which will be ultimately affecting the quality of the product (software). There are various psychological factors affecting human behavior. These are: Biological characteristics (Age, Gender, Marital Status, tenure) Ability (Intellectual – Number aptitude, verbal comprehension, perpetual speed, inductive reasoning, deductive reasoning, memory)

ATTITUDES

 with different types (Satisfaction, Involvement, Commitment)  with different components (Cognition, Affect, Behavior) Emotions (Happiness, Surprise, Fear, Sadness, Anger, Disgust). Emotions can be positive or negative. It can be measured in terms of Emotional Intelligence (EI). Personality factors (Locus of Control, Machiavellians [11], Self-esteem, Self monitoring, Risk taking, extrovert, Agreeable, Conscientiousness, Emotionally stable, Openness to experience)

PERCEPTION

 In situation (Time, Work setting, Social setting)  In perceiver (Attitudes, Motives, Interest, Experience, Expectations)

VALUES

 Terminal[5] values( Comfort ability, Peace, Equality, Security, Freedom, Happiness, Self-respect, Wisdom, Social recognition, Spirituality)  Instrumental[5]values (Ambitious, Broad-minded, Capable, Courageous, Forgiving, Helpful, Honest, Imaginative, Independent, Intellectual, Logical, Loving, Obedient, Polite, Responsible, Self-control) Thus, human reliability is an integral part of the computer system reliability besides hardware and software reliability. It will highlight on the errors being caused by the developer on the errors and user which may result in comprising the quality of the software being developed. Thus, human reliability focuses on the human factors that may affect the quality of the ultimate product under development and the ways of improving these errors. In this paper, we have concentrated on the various personality factors and values, biological characteristics. The questionnaire used in the experiment contains questions covering 16 personality factors and values. This paper is organized into 8 sections. Section 2 describes the background work or research in related work. Section 3 highlights the factors affecting human behavior during SDLC. Section 4 presents a case study. Section 5 gives the analysis of the study undertaken. Section 6 gives the conclusion. Section 7 is related to the future work to be undertaken. Section 8 gives the references.

2. BACKGROUND AND RELATED WORK

A need to improve the quality of the software being developed from the viewpoint of improving the human errors resulting due to varied human behaviors has motivated me to undertake the study of human reliability in software development and use. These efforts will result in the enhancement of the first generation and second-generation HRA methods but still it is immature to say things with finality. Research is being done in the field of HRA like nuclear power plant [7],[8],[9], railroad, positive train control system (PTC)systems, OECD-NEA[10]. No study had been undertaken towards considering the human behavior in the development of software. This paper outlines key requirements for the human behavior study during SDLC.

Mrs. Ashmeet Kaur1 Dr. Ritu Soni2

Human factors that result in various types of errors during SDLC comprises of problem definition, design, coding, implementation, testing and maintenance. Each of the mentioned stages results in various errors caused by human behavior, if ignored, quality has to be compromised, and so, various errors and causing factors are being tabulated in TABLE 1.

Table 1: Errors occurring during SDLC and the respective human behavior factors responsible (under normal conditions)

4. CASE STUDY

In an experiment on a sample of undergraduate students who are new to computer programming, instructor gave five programs to develop and observed the occurrence of errors. The conditions for the case study are: 1. Case study was done under normal conditions. 2. Sample data consists of the following characteristics: ii) Mixed gender iii) Having age less than 25 years 3. Sample data is homogeneous at mental level. The case study is being done in the following steps: 1. Psychological Test: To study the individual behavior of the students, a psychological questionnaire consisting of 187 questions is given. The questions are based on 16 personality factors (standard 16PF questionnaire). The questionnaire contains multiple- choice questions having 3 alternatives- two at the extreme end and one at middle level. The students were instructed not to spend time pondering, not to fall back on the middle, “uncertain” answers except when the answer at either end is really impossible, not to skip any question, somehow, and answer as honestly as possible. They were assured that answer sheets will not be scored without a special stencil key. 2. A list of 5 simple programs (Looping, modular programming, mathematical and logical operations) is given to the students and the general behavior is studied in the first attempt. Errors that occur are analyzed and categorize. Multiple errors have come corresponding to each category, thus the single ranking is done corresponding to that category. 3. Data is being taken up for performance evaluation of student’s practical. The type of errors that occurred during SDLC is being recorded for each student and is being correlated with the student’s behavior.

5. ANALYSIS

a) According to case study’s Psychological test, the results arebeing presented graphically as

4

Personality factors are plotted along x-axis and the percentage of students exhibiting these behaviors are plotted on y-axis. The various personality factors are a ( Sizothymia [13], [14], [15], [16] Vs Cyclothymia ) , b (Scholastic Mental Capacity ) , c ( Ego strength ) , e ( Submissiveness Vs Dominance ) , f ( Desurgency Vs Surgency ) , g ( Superego strength ), h ( Threctio [13], [14], [15], [16] Vs Pannia [13], [14], [15], [16]), i (Horria [13], [14], [15], [16] Vs Premsia[13], [14], [15], [16] ), l ( Alaxia[13], [14], [15], [16] Vs Protension ), m(Proxemia Vs Autia[13], [14]), n(Artiessness[13], [14], [15], [16] Vs Shrewdness), o(Untroubled adequacy Vs Guilt proneness), q1(Conservatism Vs Radicalism), q2(Group adherence Vs self-sufficiency), q3(Self-concept control ), q4(Ergic tension). In the graph, blue bar represents low %age, red bar average %age and yellow bar high %age of students showing the given behaviors. E.g. 17.6% age of students have sizothymiatic behavior, 53% are having average sizothymiatic/cyclothymiatic behavior and 29.4%age of students have cyclothymiatic behavior. Thus, various types of factors are correlated to the student’s behavior. b) The results of the error detection of programming test (5 simple programs) have been correlated with the student’s behavior as shown graphically in Fig 2. Human behaviors are plotted along x-axis and the effective categories of error occurrence have been plotted along y- axis. The various human behavior are A ( careless ) , B (ambitious), C(responsibility which also includes obedience), D(domain Knowledge), E (experience), F ( timid ness ), G(efficiency), H(capable which is a combination of capability and competitive), I(logical which includes logical and rational), J(adjustable), K(agreeable), L(having interest), M (controlled ) , N(accomplishment), O(imaginative), P (intellectual as well as wisdom), Q (trust-worthy), R (open-minded), S ( practical ), T (reserved), U (mature), V (helpful), W(tough-minded). According to the graph, students which are less imaginative will commit 4 different types of errors (as specifications not met, open-ended (expandability), no reusability and not modular) as given in table 1.Similarly, students which are careless commit 3 different types of errors (Requirement not properly followed, inappropriate language selected and insufficient documentation, that can be verified from the table also.) c) It has been found that students with characteristics emotional stability, tough - mindedness, self-control, responsibility, obedience, logical, capable, open-mindedness have high score and make less number of errors while developing a software.

6. CONCLUSION

The present paper has undertaken the study of human behavior and it has been concluded that the students having emotional stability, tough-mindedness, self-control, responsibility, obedience, logical, capable, broad-mindedness have high performance and commit fewer errors. Such research is helpful for the Human Resource departments of software industry in the selection of competent candidates for software development. The advantage of such type of research is that it will help in reducing the software cost, development time and improving quality of product as well as process and will help in making good team.

7. FUTURE WORK

During the study, student data has been taken for the study of human behavior in software development. For developing a human reliability metric, diverse data from different environments like software development industry and automated industry should be taken.

Mrs. Ashmeet Kaur1 Dr. Ritu Soni2

[1] S.R. Rhodes, “Age-Related Differences in Work Attitudes and Behavior: A Review and Conceptual Analysis”, Psychological Bulletin, March 1983. [2] J.S.Hyde, “How Large Are Cognitive Gender Differences?”, American Psychologist, October 1981. [3] K.D. Scott and E. L. McClellan, “Gender Differences in Absenteeism,” Public Personnel Management, 1990. [4] M. Rokeach, “The Nature Of Human Values”, The Free Press, 1973. [5] W.C. Frederick and J. Weber, “The Values Of Corporate Managers And Their Critics: An Empirical Description And Normative Implications”, Business Ethics: Research Issues and Empirical Studies, 1990. [6] A.W. Wicker, “Attitudes And Actions: The Relationship Of Verbal And Overt Behavioral Responses To Attitude Objects”, Journal of Social Issues, 1969. [7] A. Mosleh, Y.H. Chang, “Model-Based Human Reliability Analysis: Prospects and Requirements”, Reliability Engineering & System Safety, 2004 [8] Bruce Hallbert, David Gertman, Erasmia Lois, Julie Marble, Harold Blackman, James Byers, “The Use Of Empirical Data Sources in HRA”, Reliability Engineering & System Safety, 2004. [9] Bernhard Reer,” Sample Size bounding and Context Ranking As Approaches to The HRA Data Problem”, Reliability Engineering & System Safety, 2004. [10] OECD-NEA,” Errors Of Commission in Probalistic Safety Assessment”, Workshop of the OECD/NEA”, Washington 2001. [11] R.G.Vleeming, “Machia-vellianism: A Preliminary Review”, Psychological Reports, February 1979. [12] R. Christie and F.L. Geis, “Studies in Machiavellianism”, Academic Press, 1970. [13] Mary T. Russell, M.S. & Darice Karol, “16 PF Fifth Edition Administrator’s Manual”, Champaign,IL, IPAT. [14] IPAT Staff, “Data for Psychologists Selecting Students For Creativity and [15] Steven R, Conn, Mark L. Rieke,” The 16PF® Fifth Edition, Technical Manual”, Champaign, IL IPAT [16] J.M.Digman,” Personality Structure: Emergence of The Five-Factor Model”, Annual Review Of Psychology vol. 41, 1990. [17] James Reason, “Human Error”, Cambridge University Press, 2003 [18] Harold R. Booher,” Handbook of Human Systems Integration”, Wiley-IEEE, 2003