9 research outputs found

    Efficiency implications of open source commonality and reuse

    Get PDF
    This paper analyzes the reuse choices made by open source developers and relates them to cost efficiency. We make a distinction between the commonality among applications and the actual reuse of code. The former represents the similarity between the requirements of different applications and, consequently, the functionalities that they provide. The latter represents the actual reuse of code. No application can be maintained for ever. A fundamental reason for the need for periodical replacement of code is the exponential growth of costs with the number of maintenance interventions. Intuitively, this is due to the increasing complexity of software that grows in both size and coupling among different modules. The paper measures commonality, reuse and development costs of 26 open-source projects for a total of 171 application versions. Results show that reuse choices in open-source contexts are not cost efficient. Developers tend to reuse code from the most recent version of applications, even if their requirements are closer to previous versions. Furthermore, the latest version of an application is always the one that has incurred the highest number of maintenance interventions. Accordingly, the development cost per new line of code is found to grow with reuse

    Uso do Kanban em um processo de gestão de demandas de manutenção de software por terceiros para um órgão público federal brasileiro

    Get PDF
    Monografia (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2015.A publicação do manifesto ágil, em 2001, possibilitou o surgimento de novas metodologias de gerenciamento e desenvolvimento menos engessadas e mais dinâmicas, a exemplo temos os frameworks Kanban e Scrum. Ambos frameworks têm como princípio a entrega constante de produto e a participação constante do cliente no processo. Carente dessa mudança, a indústria de desenvolvimento de software não demorou para avaliar as novas propostas, inclusive órgãos públicos federais. O Kanban e o Scrum podem e devem ser adaptados às necessidades específicas de uma organização. O processo de gestão de manutenção de software se difere do processo de desenvolvimento e, entre suas particularidades, destaca-se o fato desse necessitar de maior flexibilidade para agregar as frequentes mudanças, tanto no escopo da requisição, quanto na sequência de implementação. O framework Kanban vem sendo empregado para auxiliar o processo de gestão, possibilitando otimizar o fluxo de trabalho e permitindo determinar iterações, sem o limite de tempo, o que possibilita alterações nas demandas de acordo com a aceitação da instituição. O Principal objetivo deste trabalho foi apoiar a definição de um processo de gestão de demandas de manutenção de software por terceiros para um órgão do governo federal brasileiro, utilizando o Framework Kanban. A pesquisa empregada foi descritiva. Quanto aos procedimentos, realizou-se pesquisas na literatura de empresas que tenham implementado o Kanban, também se realizou o estudo de duas instituições Públicas (TCU e INEP) que utilizam este framework. Afim de aplicar o Kanban no Ministério X, primeiro foi necessário caracteriza-lo e somente então desenvolver as atividades propostas para implementação. Ao fim, foi possível propor uma modelagem do processo de manutenção, e um quadro kanban adaptado as necessidades do Ministério. A Homologação destes e a conclusão da adaptação do framework está atrelada a trabalhos futuros. ___________________________________________________________________________ ABSTRACTThe agile manifest published in 2001, enabled the surface of new maintenance and development methodologies, less dense and more dynamic. It is possible quote Kanban and Scrum as examples. Both frameworks have as a principle the constant delivery of product and the client’s constant participation in the process. Lacking this change, the software development industry did not take to evaluate the new proposals, including federal government agencies. Kanban and Scrum can and should be adapted to the organization’s specific needs. The software maintenance management process is different from the development process and, among its singularities, highlights the fact that the process needs greater flexibility to aggregate the frequent changes both in the scope of the request, as in the implementation order. Kanban framework has been used to assist the management process, allowing to optimize the workflow and allowing to define iterations, without a time limit, which allows changes in demands according to the acceptance of the institution. The mainly objective is support the definition of a software management process for maintenance demands by third parties in Brazilian federal government, using the Kanban Framework. This research is classified as descriptive. As the procedures, held research in the literature of companies that have implemented the Kanban. Also was conducted a study in two public institutions (TCU and INEP) that use this framework. In order to apply the Kanban in the Ministry X, first was necessary characterizes it and only then carry out the activities proposed for implementation. In the end, was possible to propose a modeling of the maintenance process, and kanban board adapted the Ministry of needs. The approval of these and the completion of the adjustment of the framework is linked to future work

    Determinants of packaged software discontinuance intentions: an empirical study of South African managers' perceptions

    Get PDF
    Thesis (M.Com. (Information Systems))--University of the Witwatersrand, Faculty of Commerce, Law and Management, School of Economic and Business Sciences, 2014.Information systems discontinuance at the organisational level is an underrepresented research topic. However, it is an important problem in practice. The managerial decision to discontinue an existing information system by replacement, upgrade or abandonment requires extensive justification and evaluation. The timing of a system’s discontinuance is of strategic concern as the cost and impact of a packaged software application can be extensive. If the decision is made too early in the system’s life cycle, it can negatively affect the return on investment, but if the decision occurs too late, the system may become a liability to an organisation as it continues to consume resources in maintenance and support. A comprehensive framework is required that analyses the factors that determine discontinuance intentions of the decision makers within an organization. This study focuses on managerial perceptions of selected factors considered most important to discontinuance decisions. The study applies and extends the discontinuance framework proposed by Furneaux and Wade (2011) to develop a research model of the effects of these selected factors on organisational intentions to discontinue packaged software. Specifically, the research model hypothesizes the effects of ‘change’ forces that include the manager’s perceptions of system performance, system suitability and system supportability, as well as ‘inertia’ forces such as sunk cost, mimetic isomorphism and degree of the application’s integration into the enterprise architecture. The organisation’s ability to innovate, the age of the system and the presence of the initial sponsor are included as additional factors. To test the model, a survey methodology was employed to collect data from South African IT decision makers. The survey made use of a structured questionnaire instrument administered online. Useable data was collected from decision makers representing 103 organisations. Hypotheses were tested using regression and partial least squares structural modeling. Results showed that poor software performance, a lack of suitability and low levels of business and technical integration, were the strongest determinants of discontinuance intentions. The control effect of the software’s age relatively to the organisation’s portfolio of applications was proven to be significant in this research. This study has contributed by consolidating the effects of a number of factors drawn from the literature and developing an integrated framework of discontinuance. Results will help IT decision makers when considering a discontinuance decision by showing the relative effects of each factor and may be helpful to IT managers to determine the timing of the decision

    Software evolvability - empirically discovered evolvability issues and human evaluations

    Get PDF
    Evolution of a software system can take decades and can cost up to several billion Euros. Software evolvability refers to how easily software is understood, modified, adapted, corrected, and developed. It has been estimated that software evolvability can explain 25% to 38% of the costs of software evolution. Prior research has presented software evolvability criteria and quantified the criteria utilizing source code metrics. However, the empirical observations of software evolvability issues and human evaluations of them have largely been ignored. This dissertation empirically studies human evaluations and observations of software evolvability issues. This work utilizes both qualitative and quantitative research methods. Empirical data was collected from controlled experiments with student subjects, and by observing issues that were discovered in real industrial settings. This dissertation presents a new classification for software evolvability issues. The information provided by the classification is extended by the detailed analysis of evolvability issues that have been discovered in code reviews and their distributions to different issue types. Furthermore, this work studies human evaluations of software evolvability; more specifically, it focuses on the interrater agreement of the evaluations, the affect of demographics, the evolvability issues that humans find to be most significant, as well as the relationship between human evaluation and source code metrics based evaluations. The results show that code review that is performed after light functional testing reveals three times as many evolvability issues as functional defects. We also discovered a new evolvability issue called "solution approach", which indicates a need to rethink the current solution rather than reorganize it. For solution approach issues, we are not aware of any research that presents or discusses such issues in the software engineering domain. We found weak evidence that software evolvability evaluations are more affected by a person's role in the organization and the relationship (authorship) to the code than by education and work experience. Comparison of code metrics and human evaluations revealed that metrics cannot detect all human found evolvability issues

    An economic model to estimate software rewriting and replacement times

    No full text
    10.1109/32.536958IEEE Transactions on Software Engineering228580-598IESE
    corecore