Human Aspects of Software Engineering

Software Engineering is forecast to be among the fastest-growing employment fields in ensuing decades. This investigation correlates the personality types of software engineers to the main tasks of a software life cycle. This research tries to match the MBTI dimensions (extraversion-introversion, sensing-intuition, thinking-feeling, judging-perceiving) with some skills believed to be relevant in each phase of a software life cycle model, skills such as concern for user requirements, ability to innovate, attention to details, compliance with deadlines, and so on.
Presently, I am conducting an international comparative study on the (un)popularity of the software tester role with subjects from Canada, India, China, Cuba, Malaysia, and the UAE. The result of this work may help software professionals find a niche in sub-areas of software engineering, increase their job satisfaction, and improve performance.

Software Estimation and Predictive Models

Accurate software estimation is important for effective project management activities such as budgeting, project planning, and control. A novel neuro-fuzzy framework that combines soft computing with an algorithmic model has been developed for software estimation, which has greatly improved estimation accuracy in comparison with other well-known conventional models.  Our framework has been expanded and generalized, and two patents (US-7328202-B2 and CND-2,477,919) have been granted. This encourages us to pursue the application of our novel and patented neuro-fuzzy framework for different types of predictions in other fields: e.g., in Business for interest/inflation rate forecast; in Medicine for predicting cancer growth, compliance to drugs, evolution of chronic diseases, and other determinants of health; and in software analytics.

 e-Learning Technologies

Nowadays technology has become pervasive, but instructors still have to tap the full potential of modern technology into their teaching methods and adapt to new e-learning tools that facilitate teaching and learning. There is a broad spectrum of software tools that can be incorporated into e-education, and I am beginning to exploit some research avenues in this field. My goal is to incorporate the latest technologies in support of education, research, and academic needs. The focus of my research is to investigate the essential technology that can easily be integrated into face-to-face, blended/hybrid, or online courses.