Spelling suggestions: "subject:"5oftware canprocess."" "subject:"5oftware 3.3vprocess.""
81 |
A comparison of lifecycles : Agile software processes vs. projects in non-Agile software companiesSaarnak, Stefan, Gustafsson, Björn January 2003 (has links)
In the software industry a number of different software processes has been used throughout the years to address known problems with software development, despite their intention complains has been raised that some of these are too bureaucratic. The Agile Alliance was formed in 2001 and aimed to solve this problem, they developed a manifesto and twelve principles which are supported by all Agile software processes. The purpose with the manifesto and its principles is to uncover better ways of developing software and these are by many intercessors of Agile seen as common sense and not completely new ideas. The aim with this master thesis is to answer the question if companies that explicitly claim that they do not use any Agile software process are already applying some of these ideas since they are thought of as obvious and common sense. The comparison in this thesis is performed between the project lifecycles used in specific projects by five non-Agile software companies and four identified lifecycle characteristics and two more general characteristics of the Agile software processes Extreme Programming (XP) and Dynamic Systems Development Method (DSDM). The result from the analysis of these interviews has shown that it is very difficult to decide if a software company really is working as described by XP or DSDM, this is due to that many different factors affect the final outcome. For example type of project and is the software company using different software processes for different kinds of projects. Since we just covered specific projects we were only able to conclude with absolute certainty actions that really were performed in just these projects. The project lifecycles of these software companies had some similarities with the above mentioned Agile software processes, but as a whole the analysis showed that they are quite different due to that two very important characteristics according to us, namely iterative development and frequent releases, were not applied by any of the software companies and that their project phases differed tremendously compared to XP and DSDM. Our common sense hypothesis for Agile software development was shown in this investigation to be incorrect since important activities were not performed by any of the software companies. Instead of using an iterative approach with frequent releases they all followed sequential waterfall like software processes.
|
82 |
Software Process Improvement for SMEs using OMMRodríguez, Jessica January 2010 (has links)
Software Process Improvement initiatives have been implemented by many companies in order to achieve quality of products and practices. Many models like CMMI and IDEAL have been adopted as a means to gain competitive advantages among competitors and trustworthiness of customers. Although these models have proved successful results, the inherent characteristics of SMEs make it difficult and in many cases unfeasible to implement such models, without meaning that those companies are less capable of producing quality products or adopting well-defined practices. This research presents a model to guide Software Process Improvement (SPI) according to the context of Small and Medium Enterprises (SMEs) using the Open Maturity Model (OMM) elaborated by the QualiPSo consortium. Different literature reviews, a survey and a focus group were done in order to build the theoretical foundations that support the structure of the proposed SPI model, validate the findings and evaluate the resulting SPI model. SPI in SMEs, CMMI implementations in SMEs, issues affecting SPI programs, and Knowledge Management approaches supporting improvement of software processes and practices are the four main pillars of the theoretical background supporting the design of the proposed SPI model, which is the major outcome of this thesis project and is aimed to guide SPI programs considering OMM assessment results. The proposed SPI model was subject of a preliminary evaluation with researchers and a validation with practitioners. The results have confirmed that SPI outcomes are more valuable when business requirements and SPI objectives are chosen to drive the improvement actions. The importance of organizational awareness and the value of knowledge management strategies to mitigate potential problems faced when implementing SPI has also been highlighted when evaluating the model.
|
83 |
Monitoring and Implementing Early and Cost-Effective Software Fault Detection / Övervakning och implementation av tidig och kostnadseffektiv feldetekteringDamm, Lars-Ola January 2005 (has links)
Avoidable rework constitutes a large part of development projects, i.e. 20-80 percent depending on the maturity of the organization and the complexity of the products. High amounts of avoidable rework commonly occur when having many faults left to correct in late stages of a project. In fact, research studies indicate that the cost of rework could be decreased by up to 30-50 percent by finding more faults earlier. However, since larger software systems have an almost infinite number of usage scenarios, trying to find most faults early through for example formal specifications and extensive inspections is very time-consuming. Therefore, such an approach is not cost-effective in products that do not have extremely high quality requirements. For example, in market-driven development, time-to-market is at least as important as quality. Further, some areas such as hardware dependent aspects of a product might not be possible to verify early through for example code reviews or unit tests. Therefore, in such environments, rework reduction is primarily about finding faults earlier to the extent it is cost-effective, i.e. find the right faults in the right phase. Through a set of case studies at a department at Ericsson AB, this thesis investigates how to achieve early and cost-effective fault detection through improvements in the test process. The case studies include investigations on how to identify which improvements that are most beneficial to implement, possible solutions to the identified improvement areas, and approaches for how to follow-up implemented improvements. The contributions of the thesis include a framework for component-level test automation and test-driven development. Additionally, the thesis provides methods for how to use fault statistics for identifying and monitoring test process improvements. In particular, we present results from applying methods that can quantify unnecessary fault costs and pinpointing which phases and activities to focus improvements on in order to achieve earlier and more cost-effective fault detection. The goal of the methods is to make organizations strive towards finding the right fault in the right test phase, which commonly is in early test phases. The developed methods were also used for evaluating the results of implementing the above-mentioned test framework at Ericsson AB. Finally, the thesis demonstrates how the implementation of such improvements can be continuously monitored to obtain rapid feedback on the status of defined goals. This was achieved through enhancements of previously applied fault analysis methods. / Avhandlingen handlar om hur en mjukvaruutvecklingsorganisation kan hitta fel tidigare i utvecklingsprocessen. Fokus ligger på att hitta rätt fel i rätt fas, d.v.s. när det är som mest kostnadseffektivt. Avhandlingen presenterar en samling fallstudier utförda inom detta området på Ericsson AB. Nyckelord: processförbättring, felanalys, tidig feldetektering
|
84 |
Implementing a value-based approach to software assessment and improvementOjala, P. (Pasi) 01 November 2006 (has links)
Abstract
Software has become an important part of our everyday life in the form of various information processing intensive products and services. The number of companies producing software has risen considerably and at the same time competition between software businesses has greatly intensified.
During the last decades software process improvement (SPI) has been recognized as a usable possibility to increase the quality of software development. Implemented SPI investments have often indicated increased process capabilities as well. Recently more attention has been focused on the costs of SPI as well as on the cost-effectiveness and productivity of software development, although the roots of economic-driven software engineering originate from the very early days of software engineering research.
This research tries to advance the concepts, principles and practical methods of economic-driven software engineering by associating them with SPI concepts, theories and software process assessment methods, in particular, capability-maturity -based assessment methods. This is done in part by presenting an analysis of the economic-driven view of software development and in part by discussing the SPI context and cost-efficiency characteristics.
As a result of this analysis work, a value-based approach is adopted in the study, involving definition of the essential concepts of value, cost and worth in software development. These definitions originate from the Value Engineering (VE) method, originally applied and developed for the needs of the production industry. Therefore, for the purposes of this study these concepts are firstly justified and secondly defined.
In order to study and evaluate the value-based approach, a method called value assessment is developed and later on also combined with capability-maturity -based assessment and called the Value Enhanced Assessment (VEA) method. The combination is seen to respond even better to the overall challenges of software development and SPI. Although VEA is used here only for research purposes, it is a rational outcome of the value-based approach and developed in the context of the BOOTSRAP software process assessment method.
The results show that even though there is still much to do in making the economic-driven view complete in software engineering, the value-based approach outlines a way towards a more comprehensive understanding of it. In addition, value-based methods are most likely to be needed to complete existing capability-maturity -based assessment methods, such as BOOTSTRAP.
|
85 |
Improving the software inspection process with patternsHarjumaa, L. (Lasse) 07 December 2005 (has links)
Abstract
The quality of a software product depends largely on the quality of the process that is used to develop it. In small software companies, the development process may be informal or even ad hoc, which causes uncertainty and variation in the product quality. However, quality issues are as important in small companies as in their larger counterparts. To sustain their dynamics and competitiveness, small organizations need to concentrate on the most effective quality assurance methods.
Software inspection is a proven method for improving product quality and it provides a very cost-effective way for small companies to improve their development processes. This study introduces a framework for adjusting the inspection process for the organization's specific needs and evaluating its capabilities. The main focus of this work, however, is on refining and improving the inspection process. The improvement is guided by concrete instructions that are documented as process patterns. The pattern approach has already been used successfully in several other areas of software engineering. Patterns aim at capturing the best practices of software development and transferring this knowledge between people or organizations.
The framework for inspection process capability originates from the literature relating to different types of peer review methods and experiments with flexible and tool-supported inspections in small companies. Furthermore, generic process improvement models are studied to find a feasible structure for the framework. As a result of the analysis, the i3 capability model is introduced. The feasibility of the model has been investigated in real-life software organizations carrying out inspections.
After the capability evaluation, the inspection process can be upgraded with the aid of improvement patterns, which provide structured and easy-to-follow guidelines for implementing improvements. An initial list of patterns, describing solutions to the most common problems confronted in the establishment of inspections, is extracted from related inspection research and an industrial experiment.
The contributions of this study are, first, the new view of the inspection process, based on the fundamental activities that are performed during an inspection instead of a series of stages, as it is usually presented. An activity-based process description enables tailoring of the process for organization-specific needs and its targeted improvement. Second, the study introduces a practical, lightweight method for implementing the improvement. Patterns are especially suitable in companies where resources are limited and full-scale improvement programmes cannot be initiated. Furthermore, the generic process improvement models do not provide detailed information on how improvements should be carried out, and the pattern approach represents a promising method for that. Third, the inspection process currently does not have a very significant role in generic software process improvement models; this study helps in outlining the importance of inspections. A similar approach could be applied to other software subprocesses to enable their evaluation and improvement.
|
86 |
Zavedení procesů řízení projektu dle PMBOK v sofwarové společnosti / Zavedení procesů řízení projektů dle PMBOK v sofwarové společnostiBykadorov, Andrej January 2009 (has links)
The master thesis discusses the topic of introducing formal work procedures, management tools and reporting into a software company in order to meet the principles of project management defined in PMBOK. The main purpose of this work is to give the reader an overview of knowledge and process areas of these standards to a level that he understands the basics of the process. The next purpose of the work is the actual plan of implementation and adaptation of these processes by an existing software company. The final purpose of the work is an introduction of reporting and validation procedures in order to monitor the adaptation of the processes. The biggest contribution to Memos Software will be the overall improvement in development and resource planning processes, as well as the ability to measure their efficiency with greater reliance and precision. Since I work as Chief Operating Officer (COO) in the analysed company, I was able to clearly identify problematic areas of individual work procedures and processes in project management and suggest actions necessary to improve their quality and efficiency.
|
87 |
Evaluation of Problem Driven Software Process ImprovementCarleson, Hannes, Lyth, Marcus January 2016 (has links)
Software development is constantly growing in complexity and several newtools have been created with the aim to manage this. However, even with thisever evolving range of tools and methodology, organizations often struggle withhow to implement a new development-process, especially when implementingagile methods. The most common reason for this is because teams implementagile tools in an ad-hoc manner, without fully considering the effects this cancause. This leads to teams trying to correct their choice of methodologysomewhere during the post-planning phase, which can be devastating for aproject as it adds further complexity to the project by introducing new problemsduring the transition process. Moreover, with an existing range of tools aimedat managing this process transition, none of them have been thoroughlyevaluated, which in turn forms the problem that this thesis is centred around.This thesis explores a method transition scenario and evaluates a SoftwareProcess Improvement method oriented around the problems that theimprovement process is aiming to solve. The goal with this is to establish ifproblem oriented Software Process Improvement is viable as well as to providefurther data for the extensive research that is being done in this field. We wishto prove that the overall productivity of a software development team can beincreased even during a project by carefully managing the transition to newmethods using a problem driven approach.The research method used is of qualitative and inductive character. Data iscollected by performing a case study, via action research, and literature studies.The case study consists of iteratively managing a transition over to newmethods, at an organization in the middle of a project, using a problem drivenapproach to Software Process Improvement. Three iterations of methodimprovement are applied on the project and each iteration acts as an evaluationon how well Problem Driven Software Process Improvement works.By using the evaluation model created for this degree project, the researchershave found that problem driven Software Process Improvement is an effectivetool for managing and improving the processes of a development team.Productivity has increased with focus on tasks with highest priority beingfinished first. Transparency has increased with both development team andcompany having a clearer idea of work in progress and what is planned.Communication has grown with developers talking more freely about userstories and tasks during planning and stand-up meetings. The researchersacknowledge that the results of the study are of a limited scope and alsorecognize that further evaluation in form of more iterations are needed for acomplete evaluation.
|
88 |
A Quantitative Comparison of Perfective and Corrective Software MaintenanceHenry, Joel E., Cain, James P. 01 January 1997 (has links)
This paper presents a quantitative comparison of perfective and corrective software maintenance performed by a large military contractor using a formal program release process. The analysis techniques used in the comparison make use of basic data collected throughout the maintenance process. The data collected allow the impact of performing perfective and corrective maintenance to be quantitatively compared. Both parametric and non-parametric statistical techniques are applied to test relationships between and among process and product data. The results provide valuable information for predicting future process and product characteristics, assessing perfective and corrective maintenance impact, and quantitatively comparing the impact of both types of requirements volatility. The results also support one common rule of thumb, cast some doubt on another, and lead to the formulation of a new one.
|
89 |
Uma abordagem de apoio à avaliação e melhoria de processo de software baseada em metamodelagem e transformações de modelos / An approach to support assessment and improvement of software processes based on metamodeling and model transformationsFeloni, Daniel Fernando Galego 28 March 2016 (has links)
Melhoria de processo de software (SPI) é uma prática de engenharia de software motivada pela necessidade de aumentar a qualidade e a produtividade no desenvolvimento de software. Um fato amplamente reconhecido é que a qualidade do produto de software pode ser, em grande parte, determinada pela qualidade do processo utilizado para desenvolvê-lo e mantê-lo. A avaliação do processo de software ajuda as organizações de software a amadurecerem seus processos, identificando problemas críticos para estabelecer prioridades de melhoria. Essa avaliação pode ser feita por meio da comparação do estado dos processos da organização em relação a um modelo de referência que estabeleça estágios de melhoria. Uma avaliação geralmente se baseia em um modelo de processo de software que fornece um roteiro para melhorias. Este trabalho tem como objetivo estabelecer uma abordagem que: (i) define um conjunto de modelos de abstração (metamodelos) de modelos de maturidade de processo de software para apoiar uma metodologia de avaliação/melhoria de processo de software com o objetivo de certificação; e (ii) permite avaliar os processos de uma organização em comparação com um modelo de maturidade por meio de transformações desses metamodelos. A abordagem é instanciada por meio de um estudo de caso utilizando os modelos MPS.Br e CMMI para exemplificar sua aplicação. Como resultado, é apresentado um comparativo entre as limitações encontradas nas metodologias encontradas na literatura e como a abordagem sugere superá-las. / Software process improvement (SPI) is a software engineering practice motivated by the need to increase the quality and productivity in software development. A fact widely recognized is that the quality of the software product can be largely determined by the quality of the process used to develop and maintain it. The assessment of software process helps software organizations to improve themselves, identifying their critical problems to establish priorities for improvement. This assessment can take place by comparing the state of the organization on their software processes to a reference model that shows stages of improvement in scales. An assessment is usually based on a software process model that provides a roadmap for improvement. This work aims to establish an approach that: (i) defines a set of abstraction models (metamodels) of software process maturity models to support an assessment/improvement methodology aiming software process certification; and (ii) evaluates the organization processes in comparison with the maturity models through transformations of those metamodels. The approach is instantiated through a case study using the MPS.Br and CMMI models to illustrate its application. As a result, a comparison between the limitations found in the methodologies identified in the literature and how the approach suggested overcome them is presented.
|
90 |
Caracterização de um processo de software para projetos de software livre / Characterizing a software process for Free Software projects.Reis, Christian Robottom 23 April 2003 (has links)
Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores. / Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activities they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. 1 present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspeets were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond\'s \'benevolent dictator\' and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimédia applications. Concerning the software process activities, most projects have their functional requirements established by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing software, or on previously published standards. Little emphasis is placed on usability and conventional fornis of quality assurance. Remarkably, this lack of emphasis on conventional process includes activities like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project\'s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project\'s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work.
|
Page generated in 0.0371 seconds