A contribuição da indústria da manufatura no desenvolvimento de software / The contribution of manufacturing industry in software developmentEduardo Teruo Katayama 20 October 2011 (has links)
Os Métodos Ágeis surgiram no final da década de 90, como uma alternativa aos métodos prescritivos de desenvolvimento de software. Eles propõem uma nova abordagem de desenvolvimento, eliminando gastos com documentação excessiva e burocrática, enfatizando a interação entre as pessoas e as atividades que efetivamente trazem valor ao cliente. Nos últimos anos, diversos princípios e práticas baseados na indústria de manufatura foram incorporadas pelos Métodos Ágeis de desenvolvimento de software. Um dos princípios absorvidos é o de melhorar a eficácia de uma organização através de melhorias globais. Embora este princípio seja bem difundido nos Métodos Ágeis, utilizá-lo não é uma tarefa fácil. Nem sempre é fácil ter uma visão global do processo de desenvolvimento. Além disso, para realizar melhorias globais é necessário descobrir a causa para possíveis problemas, o que também pode ser uma tarefa difícil. Esse trabalho investiga duas abordagens da indústria de manufatura que enxergam uma organização como um sistema no qual todas as partes são inter-relacionadas. Com base nelas, três abordagens de desenvolvimento de software existentes são analisadas. Finalmente, um estudo comparativo foi feito para avaliar as principais características dos métodos de desenvolvimento estudados. Esse estudo estende o trabalho feito por Abrahamssom et al., no livro Agile Software Development: Current Research and Future Directions, avaliando o desempenho dos métodos seguindo o arcabouço proposto pelos mesmos autores. / Agile methods appeared in the late 90\'s as an alternative approach to the classic prescriptive planning approaches to software development. They propose a new style of development, eliminating excessive and bureaucratic documentation, and emphasizing the interactions between people collaborating to achieve high productivity and deliver high-quality software. In the last few years, several principles and practices based on the manufacturing industry were incorporated by Agile software development. One of the principles absorbed is to improve the effectiveness of an organization through an overall improvement. Although this principle is quite widespread in Agile Methods, using it is not an easy task. It is not easy to get the big picture of the development process. Moreover, to achieve overall improvements is necessary to discover the cause of possible problems, which can also be a difficult task. This work investigates two approaches in the manufacturing industry that shares the assumption that the whole organization is focused on overall throughput, not on micro-optimization. Based on then, three approaches to existing software development are analyzed. Finally, a comparative study was done to assess the main characteristics of the studied methods. This study extends the work done by Abrahamssom et al. In the book Agile Software Development: Current Research and Future Directions, evaluating the performance of the methods following the framework proposed by the same authors.
An agile information flow consolidator for delivery of quality software projects: technological perspective from a South African start-upGaoussou, Abdel Kader Doukoure 05 1900 (has links)
In today’s knowledge-based economy, modern organisations understand the importance of technology in their quest to be considered global leaders. South African markets like others worldwide are regularly flooded with the latest technology trends which can complicate the acquisition, use, management and maintenance of software. To achieve a competitive edge, companies tend to leverage agile methods with the best possible combination of innovative supporting tools as a key differentiator. Software technology firms are in this light faced with determining how to leverage technology and efficient development processes for them to consistently deliver quality software projects and solutions to their customer base. Previous studies have discussed the importance of software development processes from a project management perspective. African academia has immensely contributed in terms of software development and project management research which has focused on modern frameworks, methodologies as well as project management techniques. While the current research continues with this tradition by presenting the pertinence of modern agile methodologies, it additionally further describes modern agile development processes tailored in a sub-Saharan context. The study also aims novelty by showing how innovative sometimes disruptive technology tools can contribute to producing African software solutions to African problems. To this end, the thesis contains an experimental case study where a web portal is prototyped to assist firms with the management of agile project management and engineering related activities. Literature review, semi-structure interviews as well as direct observations from the industry use case are used as data sources. Underpinned by an Activity Theory analytical framework, the qualitative data is analysed by leveraging content and thematic oriented techniques. This study aims to contribute to software engineering as well as the information systems body of knowledge in general. The research hence ambitions to propose a practical framework to promote the delivery of quality software projects and products. For this thesis, such a framework was designed around an information system which helps organizations better manage agile project management and engineering related activities. / Information Science / Ph. D. (Information Systems)
AUTOMATION OF A CLOUD HOSTED APPLICATION : Performance, Automated Testing, Cloud Computing / AUTOMATION OF A CLOUD HOSTED APPLICATION : Performance, Automated Testing, Cloud ComputingCHAVALI, SRIKAVYA January 2016 (has links)
Context: Software testing is the process of assessing quality of a software product to determine whether it matches with the existing requirements of the customer or not. Software testing is one of the “Verification and Validation,” or V&V, software practices. The two basic techniques of software testing are Black-box testing and White box testing. Black-box testing focuses solely on the outputs generated in response to the inputs supplied neglecting the internal components of the software. Whereas, White-box testing focuses on the internal mechanism of the software of any application. To explore the feasibility of black-box and white-box testing under a given set of conditions, a proper test automation framework needs to be deployed. Automation is deployed in order to reduce the manual effort and to perform testing continuously, thereby increasing the quality of the product. Objectives: In this research, cloud hosted application is automated using TestComplete tool. The objective of this thesis is to verify the functionality of Cloud application known as Test data library or Test Report Analyzer through automation and to measure the impact of the automation on release cycles of the organization. Methods: Here automation is implemented using scrum methodology which is an agile development software process. Using scrum methodology, the product with working software can be delivered to the customers incrementally and empirically with updating functionalities in it. Test data library or Test Report Analyzer functionality of Cloud application is verified deploying testing device thereby the test cases can be analyzed thereby analyzing the pass or failed test cases. Results: Automation of test report analyzer functionality of cloud hosted application is made using TestComplete and impact of automation on release cycles is reduced. Using automation, nearly 24% of change in release cycles can be observed thereby reducing the manual effort and increasing the quality of delivery. Conclusion: Automation of a cloud hosted application provides no manual effort thereby utilization of time can be made effectively and application can be tested continuously increasing the efficiency and the quality of an application. / AUTOMATION OF A CLOUD HOSTED APPLICATION
Um novo enfoque para o gerenciamento de projetos de desenvolvimento de software / A new project management approach for software developmentDias, Marisa Villas Bôas 17 November 2005 (has links)
Esta dissertação tem por objetivo principal identificar o enfoque de gerenciamento de projetos ágil ou clássico mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. De forma mais específica, a dissertação investiga se existe uma associação entre o desempenho dos projetos de desenvolvimento de software realizados com o uso de Métodos Ágeis e o enfoque de gerenciamento de projetos adotado. Este trabalho é decorrente de um estudo exploratório inicial, por meio do qual se buscou a ampliação do conhecimento sobre o tema, a elaboração de um estudo comparativo entre o Gerenciamento Ágil de Projetos e o Gerenciamento Clássico de Projetos, a investigação das principais características de um projeto de desenvolvimento de software realizado com o uso de Métodos Ágeis, a identificação de uma comunidade de pessoas que tivesse experiência em projetos desta natureza e, por fim, a estruturação de uma segunda etapa de pesquisa. Esta segunda etapa, de caráter quantitativo-descritivo, visou à descrição do conjunto de dados e a determinação das relações relevantes entre as variáveis de interesse. Para tanto, foram definidas as variáveis independentes, dependentes e intervenientes da pesquisa, como sendo, respectivamente, os enfoques de gerenciamento de projetos ágil e clássico, o desempenho dos projetos de desenvolvimento de software e os desenvolvimentos de software conduzidos com o uso dos Métodos Ágeis. Procedeu-se a uma amostragem intencional por julgamento, sendo selecionada uma amostra de pesquisa composta por pessoas com interesse e/ou experiência em projetos de desenvolvimento de software com o uso de Métodos Ágeis, associadas a grupos de internet especializados na discussão sobre o tema. Para a coleta de dados utilizou-se um questionário auto-administrado, enviado por meio de correio eletrônico à amostra selecionada. O tratamento dos dados foi feito com o uso de métodos estatísticos: análise descritiva, análise discriminante e regressão logística. A partir dos resultados da pesquisa pôde-se concluir que os Métodos Ágeis e o Gerenciamento Ágil de Projetos, apesar de recentes, já fazem parte da realidade brasileira. Quanto à resposta à pergunta problema, não houve evidência amostral para encontrar uma associação estatisticamente significativa entre o desempenho de um projeto de desenvolvimento de software e o enfoque de gerenciamento de projetos adotado, não sendo possível comprovar, de forma conclusiva, a existência de um enfoque de gerenciamento de projetos mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. Porém, os resultados da análise descritiva sugeriram que a maioria dos respondentes indicou o Gerenciamento Ágil de Projetos como o enfoque mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. Pôde-se constatar também a possibilidade de se adotar qualquer um dos enfoques de gerenciamento de projetos ágil ou clássico ou mesmo uma combinação deles, nos projetos desta natureza. Na pesquisa ainda foram identificados o critério primordial utilizado para mensuração do desempenho dos projetos de desenvolvimento de software realizados com o uso de Métodos Ágeis, as características principais destes projetos, seus fatores críticos de sucesso, além de se comprovar a importância do apoio da alta administração na adoção do Gerenciamento Ágil de Projetos. Cabe ressaltar que todas estas conclusões devem ficar restritas ao âmbito desta dissertação. Para pesquisas futuras recomenda-se a adequação do instrumento de pesquisa e o cuidado especial na seleção da amostra. Sugere-se a exploração de assuntos correlatos ao tema, como o estudo da prontidão das organizações para a adoção do Gerenciamento Ágil de Projetos, ou mesmo, a avaliação dos resultados obtidos com sua aplicação. Por fim, o cenário brasileiro atual favorece a realização de estudos nesta temática, atendendo às necessidades de pesquisadores que se interessam pelo assunto. / The main purpose of this here research is to identify the most appropriated project management approach for software development using the Agile Methods. Essentially, this study aims to determine if there is a statistical relationship between the software development project performance and its project management approach. This research is based on a preliminary exploratory study that ensured the content and context understanding, the comparison between the Agile Project Management and the Classical Project Management, the identification of the main characteristics of an agile software development project, the identification of the people involved in this kind of software development initiative and also provided the basis to structure a second phase of this research. This second quantitative-descriptive phase intends to describe the research data and to find the relevant relationships between the variables of interest. The independent variables of this study were defined as being the agile and classical project management approaches; the dependent variable was defined as being the project performance; and, the intervenient variables were defined as being the agile software development projects. A non-probabilistic intentional sampling was done. The sampling framework was drawn from people who have experience managing or participating in software projects conducted using one of the Agile Methods, and were associated to internet discussion groups on this theme. For data gathering it was used a self-applied survey, sent by e-mail to the selected groups. The respondents data were primarily analyzed using descriptive analysis and, after that, using discriminant analysis and logistics regression. It was possible to conclude that, although the Agile Methods and the Agile Project Management are quite recent, they are being used here in Brazil. Considering the main research question, there was not a statistical evidence to prove the relationship between the software development project performance and its project management approach. Thus, it was not possible to establish a final conclusion about the most appropriated project management approach for software development using the Agile Methods. Nevertheless, the results of the descriptive analysis indicated that most of the respondents tended to choose the Agile Project Management as the approach that better fits the agile software development initiatives. It was also possible to conclude that the referred projects may be managed using either the agile or the classical project management approach, or even using a combination of these two approaches. The main agile software development project success criterias were identified, as well as the project characteristics and the main critical success factors. The important role of the upper management in supporting the Agile Project Management adoption was also discussed. The research conclusions should be restricted to this here context. For future studies, special attention should be paid to the research instrument improvement and to the sampling process. The study of the organization readiness for the Agile Project Management adoption or the analysis of this project management approach implementation results could be the aims of new investigations. Finally, it is important to notice that the current Brazilian scenario stimulates and favors the development of future studies, meeting the expectations of the researchers that are interested in this subject.
Program comprehension, i.e. to understand from its source code what a computer programdoes, is crucial for change and maintenance in software development. In this thesis, it is lookedfor innovative documentation techniques and tools that support program comprehension, butthat are also conform to agile values and principles – commonly, documentation is consideredcritical due to the agile value “working software over comprehensive documentation.”1 First,a research framework is developed that embodies detailed requisites for such techniques andtools. Apart from its internal use for examining techniques and tools subsequently obtainedfrom a literature search, this framework is intended to be likewise employed by software practitioners.Eventually, the findings of a series of survey studies conducted in an industrial softwareorganization for the primary purpose of evaluating the obtained techniques and tools are analyzed.Three innovative techniques that meet all requisites are revealed. These are regarded bypractitioners independently from the support of program comprehension as helpful for a changeimpact analysis conducted by non-developers. Therefore, a requisite deduced from the highestpriority in agile software development – customer satisfaction – is met. It says that a techniqueor tool has to directly induce a benefit for non-developer stakeholders besides the benefits forthem which are indirectly induced by the support of program comprehension, e.g. a potentiallyimproved source code quality. Further, the technique most beneficial for developers as well asfor non-developers among the three techniques is identified, which bases on design rationales– textual information related to the source code that states the reasons why a part of the programhas been implemented in a certain way. Secondarily, the studies revealed that the researchframework is difficult to understand for practitioners due to its unstructured form. / Program: Magisterutbildning i informatik
Sekgweleo, Tefo Gordon
Thesis (DPhil (Informatics))--Cape Peninsula University of Technology, 2018. / Increasingly, organisations in South African and across the world rely on software for various reasons, such as competitiveness and sustainability. The software are either developed in-house or purchased from the shelf. Irrespective of how the software was acquired, they do encounter challenges, from implementation to support, and use stages. The challenges sometimes hinder and are prohibitive to processes and activities that the software is intended to enable and support. Majority of the challenges that are encountered with software are attributed to the fact that they were not tested or appropriately tested before implementation. Some of the challenges has been costly to many organisations, particularly in South Africa. As a result, some organisations have been lacking in their efforts toward growth, competitiveness and sustainability. The challenges manifest from the fact that there are no testing tools and methods that can be easily customised for an organisation’s purposes. As a result, some organisations adopt more tools and methods for the same testing purposes, which has not solved the problem, as the challenges continue among South Africa organisations. Based on the challenges as stated above, this study was undertaken. The aim was to develop a decision support system framework, which can be used for software testing by any organisation, owing to its flexibility for customisation. The interpretivist and inductive approaches were employed. The qualitative methods and the case study design approach were applied. Three South African organisations, a private, public and small to medium enterprise (SME) were used as cases in this study. A set of criteria was used to select the organisations. The analysis of the data was guided by two sociotechnical theories, actor network theory (ANT) and diffusion of innovation (DOI). The theories were complementarily applied because of their different focuses. The actor network theory focuses on actors, which are both human and non-human, heterogeneity of networks, and the relationship between the actors within networks. This includes the interactions that happen at different moments as translated within the heterogeneous networks. Thus, ANT was employed to examine and gain better understanding of the factors that influence software testing in organisations. The DOI focuses on how new (fresh) ideas are diffused in an environment, with particular focus on innovation decision process, which constitute five stages: knowledge, persuasion, decision, implementation and confirmation. Findings from the data analysis of the three cases were further interpreted. Based on the interpretation, a decision support system framework was developed. The framework is intended to be of interest to software developers, software project managers and other stakeholders, most importantly, to provide guide to software testers in their tasks of testing software. Thus, this research is intended to be of interest and benefit to organisations and academic through its theoretical, practical and methodological contribution as detailed in the chapter seven (conclusion). In conclusion, even though this research is rigorous, comprehensive and holistic, there are room for future studies. I would like to propose that future research should be in the areas of measurement of software testing. Also, sociotechnical theories like structuration theory and technology acceptance model should be considered in the analysis of such studies.
Quality management challenges in iterative software product development of a selected software development organisation in Cape Town, South AfricaChipunza, Enciliah January 2018 (has links)
Thesis (MTech (Business Information Systems))--Cape Peninsula University of Technology, 2018. / Many software organisations using iterative software development approach use practices that relate to quality management. However, the quality management process has been inadequate. Despite many research studies conducted on quality management in iterative software product development none have adequately addressed the challenges and mitigation techniques to have an adequate process that leads to a quality software product. The objective of this study was to determine factors that affect the quality management process in iterative software development. The research followed a qualitative approach, a case of software organisation SasTech in Cape Town, South Africa. 22 interviews were conducted on three roles actively involved in the software product development process. These are product management, quality assurance and software developers. Themes were drawn from results and were tabulated. The duality of technology theory was used as a theoretical lens to data analysis. Several factors were identified to influence the software quality management process. These include planning, documentation, process ownership, technologies, testing, timelines and management support. Through the general proposed framework, facilities (human resources and technologies), interpretive schemes (architecture) and norms (practices) of software quality management can be institutionalised leading to adequate and effective quality management in iterative development for SasTech as well as other organisations in the same industry.
01 September 2008
(has links) (PDF)
In the 1990s, software projects became larger in size and more complicated in structure. The traditional development processes were not able to answer the needs of these growing projects. Comprehensive documentation in traditional methodologies made processes slow and discouraged the developers. Testing, after all code is written, was time consuming, too costly and made error correction and debugging much harder. Fixing the code at the end of the project also affects the internal quality of the software. Agile software development processes evolved to bring quick solutions to these existing problems of the projects. Test Driven Development (TDD) is a technique, used in many agile methodologies, that suggests minimizing documentation, writing automated tests before implementing the code and frequently run tests to get immediate feedback. The aim is to increase software productivity by shortening error correction duration and increase software quality by providing rapid feedback to the developer. In this thesis work, a software project is developed with TDD and compared with a control project developed using traditional development techniques in terms of software productivity and software quality. In addition, TDD project is compared with an early work in terms of product quality. The benefits and the challenges of TDD are also investigated during the whole process.
Large-scale software development companies delivering market-driven products have introduced agile methodologies as the way of working to a big extent. Even though there are many benefits with an agile way of working, problems occur when scaling agile because of the increased complexity. One explicit problem area is to evolve deep product knowledge, which is a domain specific knowledge that cannot be developed anywhere else but at the specific workplace. This research aims to identify impediments for developing domain specific knowledge and provide solutions to overcome these challenges in order to optimize knowledge growth and throughput. The result of the research shows that impediments occur in four different categories, based on a framework for knowledge sharing drivers. These are people-related, task-related, structure-related and technology-related. The challenging element with knowledge growth is to integrate the training into the feature development process, without affecting the feature throughput negatively. The research also shows that by increasing the knowledge sharing, the competence level of the whole organization can be increased, and thereby be beneficial from many perspectives, such as feature-throughput and code quality.
Towards a philosophical understanding of agile software methodologies the case of Kuhn versus Popper /Northover, Mandy. January 2008 (has links)
Thesis (MSc (Computer science))--University of Pretoria, 2008. / Includes bibliographical references.
Page generated in 0.1508 seconds