10 research outputs found

    Software Design Guidelines for Usability

    Get PDF
    For years, the Human Computer Interaction (HCI) community has crafted usability guidelines that clearly define what
characteristics a software system should have in order to be easy to use. However, in the Software Engineering (SE)
community keep falling short of successfully incorporating these recommendations into software projects. From a SE
perspective, the process of incorporating usability features into software is not always straightforward, as a large number
of these features have heavy implications in the underlying software architecture. For example, successfully including an
“undo” feature in an application requires the design and implementation of many complex interrelated data structures and
functionalities. Our work is focused upon providing developers with a set of software design patterns to assist them in the
process of designing more usable software. This would contribute to the proper inclusion of specific usability features
with high impact on the software design. Preliminary validation data show that usage of the guidelines also has positive
effects on development time and overall software design quality

    Looking for the Holy Grail of Software Development

    Get PDF
    The history of Software Engineering has been marked by many famous project failures documented in papers, articles and books. This pattern of lack of success has prompted the creation of dozens of software analysis, requirements definition, and design methods, programming languages, software development environments and software development processes all promoted as solving ?the software problem.? What we hear less about are software projects that were successful. This article reports on the findings of an extensive analysis of successful software projects that have been reported in the literature. It discusses the different interpretations of success and extracts the characteristics that successful projects have in common. These characteristics provide Software Project Managers with an agenda of topics to be addressed that will help ensure, not guarantee, that their software project will be successful

    Collaborative tools: computer science students' skills versus software industry needs

    Get PDF
    Software companies encourage and further the use of collaborative tools and skills at the workplace in pursuit of the benefits of their use: they improve communication, productivity and efficiency, and competitiveness. Besides, undergraduate and graduate software engineering computing curricula recommend subjects related to effective cooperative working and group learning. In order to align industry needs and curricula recommendations, universities should provide students with the collaborative knowledge and skills that they will require on the labour market once they finish their degrees. In this scenario, we asked three questions: Are collaborative tools beneficial to software projects? Is it easier for students with knowledge and skills of collaborative tools to find a job? Do enterprises use collaborative tools as a marketing strategy for the recruitment process or are they really empowering their employees to use collaborative tools? This paper explores these questions. We devised a survey addressing the above questions, which was administered to 86 recent computer science graduates. We applied statistical techniques to analyse the responses. From the data gathered during the survey, we conclude that the expected benefits of the use of collaborative tools are in fact corroborated, students skilled in the use of collaborative tools do find it easier to get jobs and companies are not only looking for people with collaborative skills but also use collaborative tools in their routine work processes

    Software project management: learning from our mistakes

    Get PDF
    In the January/February 2014 issue of IEEE Software, the Voice of Evidence column published an article titled ?Looking for the Holy Grail of Software Development?. In that article, the authors reviewed the main practices that software project managers needed to engage in to make success more likely. While it is important to know what software project managers should do, a complementary question is, What should they not do? In other words, what practices should software project managers avoid to make success more likely? Answering this question might assist current and future software project managers in preventing, or at least mitigating, problematic scenarios that, if unresolved, will eventually lead to additional project failures. In the words of Laplante et al ?While it is certainly useful to study the successful ways people solve problems, the old adage that we learn from our mistakes suggests that studying failures might be even more fruitful.

    Balancing software engineering education and industrial needs

    Get PDF
    In the world of information and communications technologies the demand for professionals with software engineering skills grows at an exponential rate. On this ground, we have conducted a study to help both academia and the software industry form a picture of the relationship between the competences of recent graduates of undergraduate and graduate software engineering programmes and the tasks that these professionals are to perform as part of their jobs in industry. Thanks to this study, academia will be able to observe which skills demanded by industry the software engineering curricula do or do not cater for, and industry will be able to ascertain which tasks a recent software engineering programme graduate is well qualified to perform. The study focuses on the software engineering knowledge guidelines provided in SE2004 and GSwE2009, and the job profiles identified by Career Space

    Persona as a tool to involving human in Agile methods: contributions from HCI and marketing

    Full text link
    Human centricity refers to the active involvement in the overall product lifecycle of different human actors including end-users, stakeholders and providers. Persona is one of the different tools that exist for human centricity. While marketing is the original domain in which persona was introduced, this technique has also been widely used in user-centered design (UCD) design. In these two perceptions, persona has demonstrated its potential as an efficient tool for grouping the users or customers and focusing on user or customer needs, goals and behavior. A segmentation technique is generally used with persona in order to group individual users according to their common features, identifying within these groups those that represent a pattern of human behavior. This paper investigates how persona has been used to improve the usability in the agile development domain, while studying which contributions from marketing and HCI have enriched persona in this agile contex

    Método formal de modelización conceptual para sistemas software

    Full text link
    La importancia del proceso de análisis en el desarrollo de Software es comúnmente aceptada por la comunidad de ingenieros de Software. Sin embargo, la falta de formalización de este proceso supone una importante limitación. Para resolver esta carencia se propone un enfoque para abordar la construcción de los modelos conceptuales de una forma sistemática, disciplinada y formal. La materialización de este propósito se lleva acabo mediante la definición de un método riguroso de análisis (MATE) (método de análisis a partir de una especificación textual), que guía al analista durante el proceso de obtención de los modelos conceptuales a partir de la información proporcionada por el usuario. Este método se soporta sobre una formalización (FORMOL) (formalización de la modelización conceptual a partir del lenguaje natural), que proporciona un conjunto de reglas justificadas, formales y correctas, que permiten obtener los componentes de la modelización

    What is going on in agile gamification?

    Full text link
    The potential of gamification is based on the hypothesis that it improves user engagement, motivation, and performance. Gamification has already been used in software development with promising results. Our aim is to get a snapshot of the state of the practice of gamification and agile software development, and to discover what evidence there is about the benefits of this integration. A literature review revealed that current research in the field is at the very early stages, and there are very few studies, some of which do not provide empirical evidence of the impact of gamification on the agile process. Therefore, results will always be inconclusive. However, we found that the impact of gamification on agile team performance is perceived to be positive. Examples of other interesting issues that have arisen are that user stories are the most gamified agile practice or that the most frequently adopted gamification elements are points and badges

    Gamification in software engineering education: a systematic mapping

    Full text link
    The potential of gamification in education is based on the hypothesis that it supports and motivates students and can thus lead to enhanced learning processes and outcomes. Gamification in software engineering (SE) education is in its infancy. However, as SE educators we are particularly interested in understanding how gamification is pollinating our field and the extent to which the above claim is valid in our context. A systematic literature mapping has underscored the difficulty in fully corroborating the above claim because few empirical data are available so far. However, key trends and challenges have been identified. We found that the purpose of applying gamification in the SE field is mostly directly related to improving student engagement and, to a lesser extent, to improving student knowledge, although other targets are the application of SE best practices and socialization. We have also discussed insightful issues regarding the implementation cost of gamification, patterns in the most often used gamification elements, and the SE processes and teaching activities addressed. Of the identified challenges, we should highlight the complexity of deciding which gamification approach to follow, the lack of information for choosing gamification elements and the need to control the impact of gamification

    Challenges of gamification in software process improvement

    Full text link
    Software process improvement (SPI) initiatives have contributed for a long time to the progress of software development. However, the outcome of such initiatives has not always been as effective as expected. The literature of SPI points out that motivation of practitioners involved in SPI initiatives is a critical factor for its success. On the other hand, gamification has been perceived as motivational and has the potential to improve people's engagement. Thus, researchers have been recently investigating the impact of gamification in increasing the motivation and commitment of the organization members involved in SPI. Despite the novelty of the field, we see the integration of gamification and SPI as an opportunity of study and research. The aim of this paper is to investigate and report the state of the practice in this field, identifying key challenges faced by organizations wishing to incorporate gamification into their SPI initiatives. One of the main challenges identified is related to the complexity of gamifying SPI because it involves different organizational roles and aspects that may require designing different gamification strategies. Another relevant issue is the need of more empirical data to provide sound evidence about the real impact of gamification on improving SPI initiatives
    corecore