Software engineering (SE) research addresses not only technical issues but also human behaviour. SE is considered as an immature discipline because many technical and social issues concerning software development and management have yet to be specified. SE in general is inclined towards quantitative approaches. Nevertheless, qualitative methods are still appropriate for SE research as the methods encourage deep understanding of subject matter. Grounded Theory (GT) is regarded as one of the potential qualitative methods that is applicable to SE research. The method is able to transform less and unknown SE phenomena into cohesive theories through systematic discovery of empirical data from the ground. This paper shares some encounters of using GT in SE research based on the reflection made on several SE research projects covering various phases of software development life cycle. The encounters are then transformed into adaptations and classified as GT practices for SE research, as an effort to inspire the spirit of using GT in SE particularly among novices. The practices embrace aspects concerning formulating research questions, handling preconceptions, utilising software tools, getting access to data and presenting theory and its development process. To illustrate on how the practices were derived, a case study is presented. The proposed GT practices could act as the starting point of adopting GT in SE research. They shall be refined and improved in future to possibly become best practices when more and more experience of using GT in SE are obtained.
Rapid and unpredictable technology advancements cause a rise in demand for software products that can be delivered faster, adapt to volatile changes and save cost. Over the years, Agile Software Development (ASD) becomes more suitable as the software process that can cater to those demands while still maintaining the quality desired. With this Agile nature, it is apparent that the team that develops the software product need to have unique features as well. The team should also be formed correctly to gain effectiveness, strong performance and ultimately project success. Ineffective teams can be caused by, among others, conflict, inadequate skillset, unbalanced role assignment, lack of teamwork and non-competent team members. However, by far, the characteristics that need to be considered in forming effective teams are yet to be formalized. Thus, this study aims to identify the necessary characteristics in composing a competent team that is well balanced and can create coherent teamwork. The study involves a qualitative literature review which includes past studies about team formation specifically in the software development domain. The data were collected from online journal databases and analyzed using content analysis. From the analysis, six characteristics together with their attributes were identified as vital in team formation. Another two characteristics were also identified as influencing the sixteam formation characteristics. These findings will need further empirical rigor before they can become a complete Agile Software Development team composition model. This model is believed to assist Agile practitioners in forming effective teams for their development projects.
The Case Method (CM) has long been used effectively in Social Science education. Its potential use in Applied Science such as Software Engineering (SE) however has yet to be further explored. SE is an engineering discipline that concerns the principles, methods and tools used throughout the software development lifecycle. In CM, subjects are presented to students by means of real cases whereby students themselves either individually or in group discussions work through the problems and issues presented in the cases. The CM approach is deemed necessary for SE education in order to expose students to real scenarios that challenge them to develop the appropriate skills to deal with practical problems. As a largely theoretical subject, SE students could understand more about the practical application of SE concepts and ideas via such active learning activities. This paper presents a survey conducted on two sets of students who were exposed to CM in learning SE. Besides confirming the acceptance of CM among SE students, the surveys aimed to discover the contributing factors and elements that influence the efficacy of the method. The participants consisted of 64 undergraduates that comprised local full-time and executive students. The survey was performed in two semesters through group interviews. Data from the survey were analysed qualitatively using content analysis. The results showed that there are four factors that are important to teaching SE using CM, namely Environment, Case, Instructor, and Student. Each of these factors has certain criteria and characteristics that suggest how CM can be successfully used in teaching and learning SE. These findings can be used by SE educators to more effectively plan the use of CM as one possible teaching method in SE.
Software engineers are provided with an enormous choice of technology for improving the quality of software. Being intangible, software products tend to be more intricate to build than any other artifacts. The selection of technology can thus become a critical factor for the success of software development. Software engineers are expected to be well-versed in various technologies to enable them to decide the best one for a particular development project. Sensible decisions however require not only understanding but also active minds, which can be achieved through meaningful learning. Being a discussion-based learning approach that encourages students to exploit knowledge and understanding of the subject matter, the Case Method seems to be a practical teaching and learning option. This method entails developing specific cases that promote exploration and critical thinking. To ensure the developed cases are useful, they should be evaluated. This paper presents a practical methodology for developing as well as evaluating industrial cases for teaching software engineering through the Case Method. It also shares some important lessons learned from the process. These lessons act as a guideline for future case developers to compose useful cases and motivate software engineering instructors to use cases in teaching.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.