81 research outputs found
Environmental Factors Influencing Individual Decision-Making Behavior in Software Project: A Systematic Literature Review
As one of the crucial human aspects, individual decision-making behavior that may affect the quality of a software project is adaptive to the environment in which the individual is. However, no comprehensive reference framework of the environmental factors influencing individual decision-making behavior in software projects is presently available. This paper undertakes a systematic literature review (SLR) to gain insight into existing studies on this topic. After a careful SLR process, 40 studies were targeted to solve this question. Based on these extracted studies, we first provided a taxonomy of environmental factors comprising eight categories. Then a total of 237 factors are identified and classified using these eight categories, and some major environmental factors of each category are listed in the paper. The environmental factors listing and the taxonomy can help researchers and practitioners to better understand and predict the behavior of individuals during decision making and to design more effective solutions to improve people management in software projects
The ethics of curriculum development:Engineers and technicians in a context of development: Engineers and technicians in a context of development
South African higher education has, for the last twenty years, attempted to confront the legacy its past, particularly the lack of access to science, technology, engineering and mathematics-based (STEM) education by the vast majority of potential students. The current policy environment is dominated by a drive towards high skills jobs and innovation that links research to new forms of production and new services. With the promulgation of a new "Higher Education Qualifications Sub-framework" (HEQSF, 2013) in South Africa there has been considerable curriculum development work across a number of fields and disciplines to enable the "high skills" agenda. Many programs that served as entry qualifications to employment as computer engineering technicians have been subject to upward re-curriculation towards engineering programs. A concern is the lack of clarity around appropriate qualifications and skills levels for a developing country and what might differentiate engineering technician programs from professional engineering programs. There are deep concerns in South Africa about the need to transform society, in particular to ensure that the legitimate aspirations of black South Africans are met and that talented young citizens are able to access higher education and obtain qualifications that enable them to enter the workplace and contribute meaningfully to development. In this paper we discuss the ethics of curriculum development, and argue for an ethical framework to assist institutions to guide curricular decision-making in engineering. A methodology for curricular comparison was developed from the work of Karl Maton on "semantic waves" that was used to construct a systematic comparison between a technician and engineering programme in the field of computer engineering. We show distinct knowledge differences between two programs, one a technician's diploma and the other an professional engineering degree program. We use the findings to illustrate wider concerns about the ethics of/in engineering curriculum development in South Africa as a developing country with a transformation agenda
Design and Performance Guarantees in Cloud Computing: Challenges and Opportunities
In the last years, cloud computing received an increasing attention both from academia and industry. Most of the solutions proposed in the literature strive to limit the effect of uncertain and unpredictable behaviors that may occur in cloud environments, like for example flash crowds or hardware failures. However, managing uncertainty in a cloud environment is still an open problem. In such a panorama, the service provider is not able to define suitable Service Level Objectives (SLO) that are easy to measure, and control. In this work we analyze two of the critical problems that are encountered in cloud environments, but seldom discussed or addressed in the literature: (1) how to reduce the uncertainty providing suitable control interfaces at different levels of the computing infrastructure; (2) how to assess performance evaluation in order to get probabilistic guarantees for the SLOs. We here briefly describe the two problems and envision some possible control-theoretical solutions
Merits of organizational metrics in defect prediction: An industrial replication
Defect prediction models presented in the literature lack generalization unless the original study can be replicated using new datasets and in different organizational settings. Practitioners can also benefit from replicating studies in their own environment by gaining insights and comparing their findings with those reported. In this work, we replicated an earlier study in order to investigate the merits of organizational metrics in building defect prediction models for large-scale enterprise software. We mined the organizational, code complexity, code churn and pre-release bug metrics of that large scale software and built defect prediction models for each metric set. In the original study, organizational metrics were found to achieve the highest performance. In our case, models based on organizational metrics performed better than models based on churn metrics but were outperformed by pre-release metric models. Further, we verified four individual organizational metrics as indicators for defects. We conclude that the performance of different metric sets in building defect prediction models depends on the project’s characteristics and the targeted prediction level. Our replication of earlier research enabled assessing the validity and limitations of organizational metrics in a different context.This research is supported partially by TEKES N4S programme
in Finland and in Canada
Being participated: a community approach.
In this paper, we explore the concept of participatory design from a different viewpoint by drawing on an African philosophy of humanness -Ubuntu-, and African rural community practices. The situational dynamics of participatory interaction become obvious throughout the design experiences within our community project. Supported by a theoretical framework we reflect upon current participatory design practices. We intend to inspire and refine participatory design concepts and methods beyond the particular context of our own experiences
Web 2.0 Technologies in the Software Development Process.
Software engineers must communicate with many different people, likely in different locations, in order to create a successful piece of software. Social media can be used to communicate quickly and efficiently to minimize miscommunications and facilitate collaboration in the software development process. Research in this area has been sparse but significant because initial findings show that social media is being used in innovative ways to improve software development. Surveys of what social media some companies are currently using along with information about new social media systems indicate possible uses for these technologies on future software development projects such as documentation maintenance, employee training, and predicting and thus preventing build failures
Recommended from our members
Evaluating the Impact of Live Programming on Collaborative Software Development
Collaboration is tricky, but often beneficial in the context of numerous software related activities, from learning core concepts, to the design and implementation of large software products. The growth of online classes, from small structured seminars to massive open online courses (MOOCs), and the isolation and impoverished learning experience some students report in these, points to an urgent need for tools that support remote pair programming in a distributed educational setting. In “the real world” software developers and designers work together to solve common problems, and meaningful and effective designer-developer collaboration improves the user experience. Supporting these with today’s often distributed work model presents important challenges.Two key techniques which are believed to be effective in promoting better coordination and collaboration are collaborative coding and live programming. Collaborative coding allows all the team members to get involved in the development process, and live programming enables them to see what they are building effortlessly and in real time.In this work, we first describe Jimbo, an integrated development environment (IDE) based on collaborative and live programming techniques, and a set of user studies aimed at evaluating whether these techniques are effective in promoting better coordination and collaboration in two different settings; distance learning and design-focused software development. Our results show that these techniques can improve the learning experience through pair programming and a tight code-artifact feedback loop. We will show how collaborative coding and live programming can help designers and developers bridge their knowledge and language gaps and develop mutual understanding, allowing designers to join the development process as first-class citizens – not dependent on the coders to compile and share output – or being forced to become coders.Keywords: pair programming, collaborative learning, collaboration, educational tools, live programming, remote pair-programming, programming environment, MOOC, IDE, distance learning, designer-developer collaboration, collaborative software developmen
- …