8 research outputs found

    A Structured Approach to Analyze XP Model and Eliminate Drawbacks for Qualitative Development of Software

    Get PDF
    In this modern age each software company choose a software model for software development. But this companies face many problems to use software model because each software model has some drawbacks. These drawbacks effected the software development. In previous research many software methodologies were adopted for development. But it a question yet how to select a correct software model which has no drawbacks. In this research XP (Extreme Programming) will be analyzed. This model has some strengthens and weaknesses. The conclusion of this research will to eliminate drawbacks of XP (Extreme Programming). This can be done through analyze different parameters and converse with software developers for parameters to eliminate drawbacks. Keywords: Software Development, Extreme Programming (XP), Eliminate Drawbacks

    Factores y modelos sobre metodologías híbridas para el desarrollo de software: Una revisión sistemática de la literatura

    Get PDF
    El mundo avanza a pasos agigantados y de manera muy organizada, esto incita a usar nuevas y mejores metodologías para el desarrollo de aplicaciones. En el presente, haciendo uso de una revisión sistemática de la literatura, ahondaremos en tema de las metodologías híbridas, dando una pequeña descripción de las metodologías tradicionales, ágiles e híbridas. Analizamos también, los factores por los que uno utiliza los distintos tipos de mitologías, teniendo como factores el tipo del equipo de trabajo y el tipo de proyecto a desarrollar. Las metodologías híbridas poseen un ciclo de vida a pesar de tener muchas similitudes, presentan algunas características que las diferencian unas de otras . Además, cada una de estas presentan particularidades con las que, según nuestro enfoque, podemos decantarnos por alguna de estas.LIMAEscuela Profesional de Ingeniería de SistemasIngeniería de software - Métodos de desarroll

    Abordagens do PMBOK e CMMI sobre o Sucesso dos Projetos de Softwares

    Full text link

    A influência de fatores na produtividade do desenvolvimento de software de acordo com um modelo de estruturas teóricas

    Get PDF
    This work presents an evidence-based model describing the effects of a set of factors on software development productivity, obtained through an evidence synthesis method in Software Engineering. Thus, the relationships among this set and the software development productivity (observed phenomena) are described as results of combining theoretical structures capable of expressing and dealing with differences between different effects and uncertainties varying according to the types of studies found in the literature. Besides, to evaluate the model found, its findings are confronted with a survey capturing the practitioners’ perception (managers and leaders of software projects in Brazilian organizations). The degree of agreement between research (the model) and practice (the practitioners’ perception) shows that scientific knowledge does not differ considerably from the reality experienced by software projects when both of them refer to the influence of factors on software development productivity. The impression that research and practice on the theme go through different paths persists. According to this work, the reasons for this impression are more related to the use of non-standardized and, perhaps, inappropriate measures used to perceive and monitor the influence of factors as well as to measure the software development productivityEste trabalho apresenta um modelo baseado em evidências que descreve efeitos de alguns fatores na produtividade do desenvolvimento de software, obtidos através de um método de síntese de evidências em Engenharia de Software. Deste modo, as relações entre um conjunto de fatores e a produtividade do desenvolvimento de software (fenômenos observados) são descritas como resultados da combinação de estruturas teóricas capazes de expressar e tratar diferenças entre efeitos e incertezas variadas de acordo com os tipos de estudos primários encontrados na literatura. Além disso, para avaliar o modelo encontrado, seus achados são confrontados com uma pesquisa de opinião realizada para capturar a percepção de profissionais da prática (gestores e líderes de projetos de software em organizações brasileiras). O grau de concordância entre a pesquisa (o modelo) e a prática (a percepção dos profissionais) demonstra que, aparentemente, o conhecimento científico não diverge consideravelmente da realidade vivenciada pelos projetos de software no Brasil, quando ambos se referem à influência de fatores na produtividade do desenvolvimento de software. Persiste a impressão, entretanto, de que a pesquisa e a prática no tema percorrem caminhos distintos. De acordo com este trabalho, a impressão do distanciamento parece estar relacionadas à questão do uso de medidas não-padronizadas e, talvez, inapropriadas para mensurar os fatores e a produtividade do desenvolvimento de softwar

    Guia autónomo e personalizado para apoio ao turismo

    Get PDF
    Dissertação apresentada à Escola Superior de Tecnologia do Instituto Politécnico de Castelo Branco para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Desenvolvimento de Software e Sistemas Interativos, realizada sob a orientação científica do Doutor Fernando Reinaldo Silva Garcia Ribeiro, do Instituto Politécnico de Castelo Branco.O crescimento do turismo em Portugal e, consequentemente, da oferta de atividades e diversidade de eventos, levou a um crescimento tecnológico que trouxe aos utilizadores a possibilidade de utilizar plataformas que agrupam estas ofertas. Com base na sua experiência pessoal no planeamento de viagens e atividades, o autor constatou que, apesar da grande oferta de aplicações móveis para este fim, ainda é necessário tempo e esforço para fazer o planeamento das mesmas. Tal deve-se ao facto de, na maior parte das aplicações, a informação sobre eventos não estar completa, as sugestões não serem direcionadas aos interesses do utilizador e não haver uma única aplicação que contemple a maior parte das necessidades do utilizador, obrigando-o a consultar várias aplicações e páginas web. Nesta dissertação, com o objetivo de agilizar e rentabilizar o processo de gestão de tempo livre e escolha de eventos numa cidade ou região, o autor propõe-se a desenvolver uma aplicação móvel que apresente ao utilizador informação mais completa e personalizada com base nos seus interesses sobre as diversas atividades; que permita gerar planos e percursos automáticos personalizados ao utilizador; encontrar e seguir pessoas com os mesmos interesses; gerir viagens e guardar os planos, eventos e informação adicional; fomentar a comunicação entre utilizadores através de mensagens e notificações internas e possibilidade de consultar conteúdos em modo offline. Para o desenvolvimento da aplicação foi adotada a metodologia ICONIX, por ser uma metodologia ágil e aquela que mais se enquadra no pretendido para este projeto. Seguindo esta metodologia, a aplicação passou pela fase de análise de requisitos, análise e desenho preliminar, projeto e, por fim, fase de implementação. A tecnologia escolhida para a implementação da aplicação foi OutSystems, por ter um leque de ofertas abrangente em conta com o pretendido, permitindo construir desde o front-end e o back-end, passando por toda a integração com APIs externas. As APIs utilizadas neste projeto foram APIs da Google, componentes essenciais no enriquecimento e manipulação de mapas, lugares e eventos. Em síntese, esta dissertação propõe o desenvolvimento de uma aplicação móvel que contenha toda a informação que o utilizador necessita para planear as suas férias e gerir o seu tempo livre.ABSTRACT: The growth of tourism in Portugal and, consequently, the increase of number of activities and events, accompanied by a technological growth, has brought to customers the possibility of using platforms that combine travel offers and events. Based on his own experience in traveling and activity planning, the author realized that despite the large number of mobile applications with a similar purpose, planning activities or trips was still difficult and time consuming. This was due to the fact that, in most mobile applications, event information is not complete and recommendations are not directed to the user's interests. Furthermore, there are no applications that aggregate most of the user’s needs, having the traveler to consult various applications and web pages. In this dissertation, with the aim of streamlining and improving the time management and choice of events in a city or region, the author proposes to develop an application that: 1) provides the user with more complete and customized information based on personal interests in various activities; 2) allows the generation of plans and automatic personal routes; 3) allows the user to find and follow people with the same interests; 4) manages trips and saves plans, events and additional information; 5) fosters interactions and communication between users through messages and internal notifications and 6) provides contents in offline mode. In the development of the application, ICONIX methodology was adopted, due to being an agile methodology and one that most fits in the intended for this project. Following this methodology, the application went through the requirements anaysis phase, analysis and preliminary design, project and, finally, implementation phase. The technology chosen for the implementation of the application was OutSystems, that allows the building of the front end and the back end, with a wide range of features, as well as the integration with external APIs. The APIs used in this project were Google APIs, essential components in enriching and manipulating maps, places, and events. In summary, the aim of this dissertation is the development of a mobile application that aggregates all the information that the user needs to plan his vacations and manage his free time

    Agile Methodologies in Mission Critical Software Development and Maintenance

    Get PDF
    O desenvolvimento de software depende essencialmente das pessoas e isso faz com que surjam diversas questões, especialmente em relação à qualidade e consistência. Garantir a qualidade, estimativas precisas, e profissionais intelectuais de alto desempenho não é uma tarefa fácil, e para isso existem muitas metodologias e processos que ajudam. Este não é um assunto novo pois muitas empresas de desenvolvimento de software, em algum momento ao longo de sua vida, passaram por esse incómodo, e com o estudo das suas vitórias e derrotas, e com a aplicação das melhores práticas reconhecidas a nível mundial, foram capazes de melhorar os seus processos e o seu desempenho.A ALERT é um exemplo de uma empresa de desenvolvimento de software que se esforça continuamente para melhorar, e seu objetivo de momento, é aumentar a qualidade, a produtividade e a precisão das estimativas.O objetivo deste projeto é identificar quaisquer problemas existentes nos processos e práticas de desenvolvimento de software atuais da organização, propor uma proposta híbrida e personalizada de metodologias ágeis e clássicas que irão ajudar a otimizar o desempenho dos trabalhadores, nunca esquecendo que a produtividade de profissionais intelectuais está correlacionada com a sua motivação.Este projeto foi realizado em três grandes fases, diagnóstico, proposta e implementação da proposta em três equipas piloto.Através da informação recolhida nas entrevistas individuais e observação atenta, foi criado um diagnóstico que representa o estado da empresa naquele momento. Com base no diagnóstico, nas experiências passadas da empresa, e em modelos bem conhecidos, metodologias e processos, foi definido um âmbito - Scrum, Kanban, TSP e CMMI - e a proposta elaborada.Os objetivos da proposta foram criados na expectativa de aumentar a produtividade, reduzir defeitos e/ou melhorar a precisão das estimativas, agilizando o processo de desenvolvimento de software.No final, é apresentada uma análise dos resultados subjetivos e objetivos resultantes do impacto da proposta nas equipas-piloto. No entanto, os principais outputs desta dissertação são o diagnóstico e a proposta personalizada, uma vez que o sucesso do projeto piloto depende essencialmente dos seus participantes.Software development depends on people and because of this many issues arise specially regarding consistency and quality. Guaranteeing quality, accurate estimation, and highperformance knowledge workers is not an easy job, and for this there are many methodologies and processes that help.This is not a new issue; many software development companies, somewhere along their lifetime passed through this hassle, and with the study of their victories and defeats as well as worldwide recognized best practices, were able to improve their processes and performance.ALERT, is an example of a software development company that is continuously striving to improve, and their goal, at the moment is to increase quality, productivity and estimation accuracy.The goal of this project is to identify any exiting issues in the current software development processes and practices at the organization, propose a hybrid and customized proposal of agile and classical methodologies that will help to optimize the performance of the knowledge workers, never forgetting that the productivity of knowledge workers is deeply connected with their motivation.This project was developed in three main phases, diagnosis, proposal and implementation of the proposal in three pilot teams.With the information gathered from individual interviews and close observation, a diagnosis was created that represented the company status at that moment. Based on the diagnosis, the company's past experiences, and well known models, methodologies and processes the scope was defined - Scrum, Kanban, TSP and CMMI - and a proposal was created.The goals of the proposal were created in order to hopefully increase productivity, reduce defects and/or improve estimation accuracy, expediting the software development process. In the end it is presented an analysis of the subjective and objective results of the proposal's impact in the pilot teams. Nevertheless the main outputs of this dissertation are the diagnosis and the customized proposal, as the pilot's project success is highly dependent on the participating knowledge workers

    Medidas de productividad en los proyectos de desarrollo de software: una aproximación por puestos de trabajo

    Get PDF
    La productividad es una medida, principalmente económica, creada a finales del siglo XVIII. Desde entonces, numerosas modificaciones se han realizado sobre la definición inicial y se han incorporando a diversas áreas de conocimiento. Dentro de la Ingeniería del Software (IS), la productividad comenzó a ser objeto de estudio a finales de los años 70, casi de forma paralela a la concepción de la misma y al inicio del estudio de conceptos relacionados, tales como la estimación de esfuerzo. La medición de la productividad en IS ha sido ampliamente analizada a nivel de proyecto y organización, sin embargo a nivel de puesto de trabajo no ha sido tan investigada. En estos escasos estudios, las medidas utilizadas suelen ser las mismas medidas que las empleadas en niveles superiores de medición. En concreto, las medidas empleadas suelen ser ratios entre una medida de tamaño de producto (p. ej., líneas de código o puntos función) y una medida de esfuerzo o tiempo (p. ej., horas-hombre u horas). Este tipo de medidas son muy específicas y no reflejan la realidad del trabajo desempeñado en todo el proceso de desarrollo, ya que no tienen en cuenta las características inherentes a cada puesto de trabajo. Así pues, la eficacia de estas medidas, en este nivel de medición, parece estar en entredicho y la realización de estudios que aporten nuevas medidas de productividad en IS a nivel de puesto de trabajo cobra sentido. En la presente tesis doctoral se ha analizado la situación actual de la medición de la productividad en IS a nivel de puesto de trabajo con el objetivo de crear nuevas medidas. Para conseguir este objetivo se ha realizado un estudio del estado de la cuestión utilizando una metodología clásica de revisión de referencias junto con una revisión sistemática de la literatura. Una vez analizado el estado de la cuestión se ha planteado un conjunto de hipótesis relacionadas con la construcción de nuevas medidas de productividad: Hipótesis 1. En los puestos de trabajo involucrados en la ejecución de proyectos de desarrollo de software se emplean otras entradas, además del tiempo y el esfuerzo. Hipótesis 2. Las entradas utilizadas son distintas para cada puesto de trabajo involucrado en la ejecución de proyectos de desarrollo de software. Hipótesis 3. En los puestos de trabajo involucrados en la ejecución de proyectos de desarrollo de software se producen otras salidas, además de líneas de código y funcionalidad. Hipótesis 4. Las salidas producidas son distintas para cada puesto de trabajo involucrado en la ejecución de proyectos de desarrollo de software. Hipótesis 5. Las medidas de productividad más utilizadas a nivel de puesto de trabajo en los proyectos de desarrollo de software tienen una eficacia limitada para medir la productividad real de los trabajadores. Hipótesis 6. Es posible medir de forma más eficaz la productividad de los puestos de trabajo en los proyectos de desarrollo de software con nuevas medidas que combinen varios elementos: entradas, salidas y factores. Tras el análisis del estado de la cuestión, se ha realizado una fase de investigación cualitativa mediante el empleo de entrevistas a trabajadores de IS y un posterior análisis de contenido, con el fin de obtener información suficiente para: (1) contrastar las cuatro primeras hipótesis con información cualitativa, y (2) construir el medio de recogida de información para la siguiente fase de la investigación. Con respecto al primer objetivo, ha sido posible contrastar dos hipótesis (H1 y H3). En la segunda fase, mediante una metodología cuantitativa, se han contrastado las cuatro primeras hipótesis planteadas. Para la recogida de información se ha utilizado un formulario construido a partir de los resultados de la fase cualitativa. Los resultados de esta fase indican que en los puestos de trabajo analizados (programador, analista, consultor, y jefe de proyecto): se utilizan otros recursos además del tiempo, se producen otras salidas además del código fuente y la funcionalidad entregada al cliente. Además, se han encontrado diferencias en el grado de uso de las entradas y en la producción de las salidas, por lo que el uso de una misma medida de productividad para todos los puestos bajo estudio es, en principio, ilógico. Para contrastar las dos, y últimas, hipótesis se han construido nuevas medidas de productividad, teniendo en cuenta los resultados previos. En concreto, se ha utilizado Data Envelopment Analysis (DEA) como metodología personalizable para medir la productividad; y se han realizado cuatro casos de estudio empleando dicha metodología. Los resultados tras los casos de estudio indican que mediante DEA es posible medir la productividad de los puestos de trabajo vinculados con los proyectos de desarrollo y mantenimiento de software de forma más eficaz que con las medidas más utilizadas. Además, esta metodología permite conocer los puntos de mejora para que los trabajadores menos productivos aumenten su productividad, lo que supone una gran ventaja frente a otras medidas de productividad si el objetivo de medir, como es lógico suponer, es mejorar la productividad, y no simplemente evaluarla. Así pues, se contrastan las dos últimas hipótesis y se insta, entre otras futuras líneas de investigación, a continuar con nuevos estudios que comparen el uso de DEA con otras medidas de productividad. Finalmente, se concluye que la medición de la productividad en los puestos de trabajo vinculados con los proyectos de desarrollo y mantenimiento de software continua siendo un reto. Para reducir la dificultad de éste, la presente tesis doctoral arroja luz aportando un marco de trabajo para analizar y plantear nuevas medidas de productividad, tanto en estos puestos de trabajo como en otros. ------------------------------Productivity is mainly an economic measure, created in the late eighteenth century. Since then, many changes have been made on its initial definition and have been incorporated into various areas of knowledge. Within Software Engineering (SE), productivity began to be studied in the late '70s. These efforts ran parallel to SE developments, such as effort estimation. Measuring productivity in SE has been extensively analyzed at the project and organization level; however job level has not been investigated with the same depth. In these few studies, the measures used are often the same ones than those used in higher levels of measurement. Specifically, the measures employed are usually ratios between a measure of product size (e.g., lines of code or function points) and a measure of effort or time (e.g., man-hours or hours). Such measures do not reflect the reality of the work performed throughout the development process because they do not take into account the inherent characteristics of each job. Thus, the effectiveness of these measures, in this measurement level, seems to be in question and studies that provide new measures of productivity at job level make sense. In this thesis we have analyzed the current state of productivity measurement at job level within SE with the goal of creating new measures. In order to achieve this objective a study of the state of the art has been carried out with a classical methodology along with a systematic review of the literature. After analyzing the state of the art, a number of hypotheses related to the construction of new productivity measures have been stated: Hypothesis 1. In the jobs involved in the implementation of software development projects other inputs are used in addition to time and effort. Hypothesis 2. The inputs used are different for every job involved in software development projects. Hypothesis 3. In the jobs involved in the implementation of software development projects other outputs are produced in addition to source code lines and functionality. Hypothesis 4. The outputs produced are different for every job involved in software development projects. Hypothesis 5. The most used productivity measures at job level in software development projects have limited effectiveness for measuring real productivity of workers. Hypothesis 6. It is possible to measure more effectively the productivity of jobs in software development projects with new measures that combine several elements: inputs, outputs and factors. After analyzing the state of the art, a qualitative phase has been performed using interviews with SE workers and a subsequent content analysis of them in order to obtain pertinent information: (1) to test the first four hypotheses with qualitative information, and (2) to build the information gathering instrument for the next phase of research. Regarding the first objective, it has been possible to test two hypotheses (H1 and H3). In the second phase, using a quantitative method, the first four hypotheses have been contrasted and accepted. For the information gathering a form constructed from the results of the qualitative phase has been used. The results of this phase indicate that the analyzed job positions (programmer, analyst, consultant, and project manager): use other resources in addition to time, and deliver other outputs in addition to source code and functionality delivered to the client. Also some differences in the degree of use of inputs and production of outputs have been found. Therefore, the use of the same measure of productivity for all positions under study is, in principle, illogical. To contrast the last two hypotheses new productivity measures have been built taking into account the previous results. Specifically, a customizable methodology for measuring productivity such as Data Envelopment Analysis (DEA) was used in four case studies. The results after these studies indicate that using DEA is a mean to measure the productivity of job level for job positions related to the development and maintenance of software projects in a more effectively way. Furthermore, this methodology allows knowing the points for improvement for the least productive workers in order to increase their productivity. This knowledge is a great advantage over other productivity measures if the goal of measuring, as is logical to assume, is to improve productivity, not simply to evaluate it. So the last two hypotheses has been supported. Consequently we call, among other future research, to continue with further studies comparing the use of DEA with other measures of productivity. Finally, it is concluded that the measurement of productivity in job positions related with software development and maintenance projects remains a challenge. To reduce this difficulty, this thesis sheds some light on the topic by providing a framework to analyze and propose new measures of productivity for SE job roles.Presidente: María Belén Ruiz Mezcua; Vocal: Rafael Valencia García; Secretario: Edmundo Tovar Car

    A Comparative Analysis of the Agile and Traditional Software Development Processes Productivity

    No full text
    corecore