Spelling suggestions: "subject:"extreme programming"" "subject:"estreme programming""
71 |
Development of a framework to understand the factors that influence software productivity in agile teamsNzou, Viola 10 1900 (has links)
Productivity improvement in the software industry is one of the major challenges facing many software development companies in this century. Most companies have adopted agile methodologies in order to profit from the benefits claimed for them. Agile methodologies are characterised by frequent software delivery, short feedback loops, quicker response to change, and problem identification earlier in the development process.
The agile approach has been recognised as paving a way for companies to acquire higher software productivity, delivering good-quality and cost-effective software, enabling software development companies to respond to business challenges with their demands for high quality, high performance and high development speed in delivering the final product. For companies that adopt agile methodologies, understanding the factors that influence their teams’ software development productivity is a challenging task for management and practitioners today.
In this research, an analysis is presented that identifies productivity factors that affect agile teams. It is a study of agile methods to identify common agile practices and/or values that have impact on productivity, and describes suitable metrics that could be used to measure agile team productivity. A qualitative research approach was used, and the case study was chosen as the research strategy. Two South African companies that are located in two different provinces and that adopted agile methodologies in their software development, were selected for the case studies. Qualitative content analysis was used in the research to permit subjective interpretation of factors that influence agile team productivity, and to analyse to what extent these factors affected productivity. This research has shown that an understanding of the factors that influence an agile team’s productivity gives significant insight into the way agile teams work, motivates team members to work together, and leads to uniform metrics in tracking each team’s progress. The study indicates that tracking an agile team’s work and providing adequate tools needed to execute their tasks results in improving agile team productivity. It should be recognised that using metrics to measure performance in agile teams is helpful in creating a team’s culture and trust. In this study, it was found that the factors identified in both literature and case studies affected productivity in the two companies under study, both positively and negatively. The study also found that applying the correct metrics in assessing, analysing and reviewing an agile team’s performance is important when monitoring productivity. Successful software delivery is only possible if individuals are committed to their work, are provided with the necessary tools and have access to a stable working environment. In addition, individual factors such as knowledge, skills, abilities, personalities and experience should be considered when forming agile teams. Consideration of these factors will result in grouping people that are able to work together and achieve a common goal, which is important in improving productivity. A conceptual framework for agile team productivity was proposed. The discussion of the findings is presented in more detail in this research. / School of Computing / M.Sc. (Computing)
|
72 |
Ustory-Refactory: ferramenta de refatoração de requisitos aplicada em cartões user stories (CRC Cards)Minuzzi, Tiago da Silva 26 February 2007 (has links)
Made available in DSpace on 2015-03-05T13:58:27Z (GMT). No. of bitstreams: 0
Previous issue date: 26 / Nenhuma / O surgimento de novas metodologias ágeis para apoiar o desenvolvimento de sistemas, como a Extreme Programming (XP), vem causando impacto nas empresas de desenvolvimento de software, especialmente por sua flexibilidade nas mudanças de requisitos no decorrer do projeto. Assim, um melhor entendimento e representação estrutural dos requisitos tornam-se fundamental. Logo, esta pesquisa aplica o conceito das técnicas de refatoração de código dentro da Engenharia de Requisitos, que é focado na metodologia XP, por meios das User Stories. O trabalho aplica um conjunto de padrões e regras que permite aos requisitos expressos em cartões CRC serem refatorados através de pré e pós-condições, sendo que esses requisitos são descritos por mapas conceituais (MC) em formato OWL. Por sua vez, os MCs são convertidos em diagramas de classes da UML por meio da UML-MC que formaliza esta transformação. Dessa forma, o ambiente UStory-Refactory automatiza parcialmente o processo de refatoração e permite que os requisitos refatorados / The emergence of new agile methodologies to support systems development, as the Extreme Programming (XP), has been causing impact on software development companies, specially for its flexibility in the requirements changes during the project. Thus, a better understanding and structural representation of the requirements become basic. Then, this research applies the concept of the code refactoring techniques, inside of the Requirements Engineering, which is focused at XP methodology, through the User Stories. The work applies a set of standards and rules that allows the requirements expressed in CRC cards to be refactored through pre and post-conditions, and the requirements are described for conceptual maps (CMaps) in OWL format. In their turn, the CMaps are converted into UML classes diagrams by the UML-MC that formalizes this transformation. This way, the UStory-Refactory environment partially automatizes the refactoring process and allows the refactored requirements to be exported in OWL format, promoting
|
73 |
Tool Support For Distributed Agile Software DevelopmentUsta, Ahsen Serkan 01 May 2006 (has links) (PDF)
Agile Software Development has gained popularity with their people
centric view and their common practices for developing software in
today&rsquo / s volatile business world where change on requirements is
unavoidable. However / the efficiency of the project depends on the
communication and the collaboration of the team, which are
supported by the co-location of the team. But in some cases colocation
of the team cannot be realized, thus agile processes should
also support distributed teams. This point was observed by Kircher,
Jain, Corsaro, and Levine [31] and they suggested Distributed
eXtreme Programming (DXP) after they prepared a study using offthe-
shelf software products in order to replace the effect of face-toface
communication on the efficiency of the application of agile
processes with the aid gathered from tool support.
In this study some available tool support for distributed agile
software development is investigated and a tool is developed and
presented in order to support software configuration management
as well as increasing collaboration and communication of the team.
The tool is then evaluated from a user&rsquo / s perspective and it is
compared with some available software configuration management
tools.
|
74 |
Situated cognition and Agile software development: A comparison of three methodsKhac Do, Nguyen January 2010 (has links)
Agile programming methods have become popular in software development projects. These methods increase productivity and support teamwork processes. In this thesis, we have analyzed three well-known Agile methods - Scrum, Extreme Programming and Crystal Orange - from the perspective of situated cognition to investigate how well the methods support cognition. Specifically, we looked at how the methods aid memory and attention through the use of external representations. The study suggests that the methods support different aspects of situated cognition reasonably well. However, among the investigated methods, Scrum stands out due to aspects of task representation (progress charts), its approaches to externalize what-to-do (memory), and the means to focus on the important programming tasks for the day (attention).
|
75 |
Quality Assurance Techniques in OpenUP (Open Unified Process)Sardar, Raham, Fazal, Usman January 2011 (has links)
Agile methods change the software processes. Agile processes such as Scrum, ExtremeProgramming (XP), Open Unified Process (OpenUP) etc. have techniques that improve softwarequality. No doubt that the purpose of these techniques is to inject quality assurance into theproject under development. This thesis presents quality assurance techniques in Open UnifiedProcess (OpenUP) along with comparative study to extreme programming (XP) for agilesoftware development. OpenUP is an agile and unified process that contains the minimal set ofpractices that help teams to be more effective in developing software. It assists to achieve qualityby an iterative and incremental approach with artifacts, checklists, guidelines, disciplines androles. On the other side XP emphasizes on values such as communication, feedback, respect,and courage. In addition, XP prescribes a collection of techniques, which aim to improvesoftware quality. Both these processes have the same purpose, to develop software that meets the stakeholder’sneeds and expectations, however they uses different approaches to achieve their goals. Thisthesis compares both processes in four different points of view, by comparing their qualitytechniques, focus in time, and cost of usage and social perspective. We have proposed an extrarole of the quality coordinator (QC) in OpenUP/XP. QC can support and coordinate project inall quality assurance activities. The objective of an extra role is to use the knowledge of QC toachieve highest possible product quality in software development process.Keywords: Agile Development, Quality assurance (QA), Open unified process (OpenUP),extreme programming (XP), Quality coordinator (QC)
|
76 |
XFM: An Incremental Methodology for Developing Formal ModelsSuhaib, Syed Mohammed 13 May 2004 (has links)
We present a methodology of an agile formal method named eXtreme Formal Modeling (XFM) recently developed by us, based on Extreme Programming concepts to construct abstract models from a natural language specification of a complex system. In particular, we focus on Prescriptive Formal Models (PFMs) that capture the specification of the system under design in a mathematically precise manner. Such models can be used as golden reference models for formal verification, test generation, etc. This methodology for incrementally building PFMs work by adding user stories (expressed as LTL formulae) gleaned from the natural language specifications, one by one, into the model. XFM builds the models, retaining correctness with respect to incrementally added properties by regressively model checking all the LTL properties captured theretofore in the model. We illustrate XFM with a graded set of examples including a traffic light controller, a DLX pipeline and a Smart Building control system. To make the regressive model checking steps feasible with current model checking tools, we need to keep the model size increments under control. We therefore analyze the effects of ordering LTL properties in XFM. We compare three different property-ordering methodologies: 'arbitrary ordering', 'property based ordering' and 'predicate based ordering'. We experiment on the models of the ISA bus monitor and the arbitration phase of the Pentium Pro bus. We experimentally show and mathematically reason that predicate based ordering is the best among these orderings. Finally, we present a GUI based toolbox for users to build PFMs using XFM. / Master of Science
|
77 |
The use of systems development methodologies in web-based application development in South Africa / Martin Allen TaylorTaylor, Martin Allen January 2006 (has links)
This study investigated the use of systems development methodologies in Web-based
application development in South Africa. Web-based systems differ from
traditional information systems by integrating different media for knowledge
representation and utilizing hypertext functionality. By doing this, Web-based
systems not only support creation, integration, analysis, and distribution but also
storage and transfer of knowledge of business transactions within a structured
information system.
There are numerous methodologies available to develop Web-based systems. In this
study five of these methodologies were discussed. The methodologies include Web
IS Development Methodology (WISOM), Internet Commerce Development
Methodology (ICOM), Web Engineering, Extreme Programming and the Relationship
Management Methodology (RMM).
In this study a qualitative research approach was followed. Case studies were done
on three different organizations in the South African marketplace. Semi-structured
interviews were used for data collection at each organization. The interviews were
transcribed, and the data were analysed using content analysis and cross-case
analysis. One of the main goals of this research was to determine "how" system
development methodologies are used in practice to develop Web-based systems,
and to what extent it is used.
The research pointed out that those organizations who participated in this study in
South Africa mainly use in-house developed methodologies to develop Web-based
systems, and that these organizations adhere strictly to their methodology. The main
reasons organizations choose to use methodologies are that methodologies aid in
the delivery of a better quality Web-based system, and also act as a good project
management mechanism within the organization. / Thesis (M.Com. (Computer Science))--North-West University, Potchefstroom Campus, 2007
|
78 |
Planejamento, gerenciamento e análise de dados de microarranjos de DNA para identificação de biomarcadores de diagnóstico e prognóstico de cânceres humanos / Planning, management and analysis of DNA microarray data aiming at discovery of biomarkers for diagnosis and prognosis of human cancers.Simões, Ana Carolina Quirino 12 May 2009 (has links)
Nesta tese, apresentamos nossas estratégias para desenvolver um ambiente matemático e computacional para análises em larga-escala de dados de expressão gênica obtidos pela tecnologia de microarranjos de DNA. As análises realizadas visaram principalmente à identificação de marcadores moleculares de diagnóstico e prognóstico de cânceres humanos. Apresentamos o resultado de diversas análises implementadas através do ambiente desenvolvido, as quais conduziram a implementação de uma ferramenta computacional para a anotação automática de plataformas de microarranjos de DNA e de outra ferramenta destinada ao rastreamento da análise de dados realizada em ambiente R. Programação eXtrema (eXtreme Programming, XP) foi utilizada como técnica de planejamento e gerenciamento dos projetos de análise dados de expressão gênica. Todos os conjuntos de dados foram obtidos por nossos colaboradores, utilizando-se duas diferentes plataformas de microarranjos de DNA: a primeira enriquecida em regiões não-codificantes do genoma humano, em particular regiões intrônicas, e a segunda representando regiões exônicas de genes humanos. A primeira plataforma foi utilizada para avaliação do perfil de expressão gênica em tumores de próstata e rim humanos, sendo que análises utilizando SAM (Significance Analysis of Microarrays) permitiram a proposição de um conjunto de 49 sequências como potenciais biomarcadores de prognóstico de tumores de próstata. A segunda plataforma foi utilizada para avaliação do perfil de transcritos expressos em sarcomas, carcinomas epidermóide e carcinomas epidermóides de cabeça e pescoço. As análises com sarcomas permitiram a identificação de um conjunto de 12 genes relacionados à agressividade local e metástase. As análises com carcinomas epidermóides de cabeça e pescoço permitiram a identificação de 7 genes relacionados à metástase linfonodal. / In this PhD Thesis, we present our strategies to the development of a mathematical and computational environment aiming the analysis of large-scale microarray datasets. The analyses focused mainly on the identification of molecular markers for diagnosis and prognosis of human cancers. Here we show the results of several analyses implemented using this environment, which led to the development of a computational tool for automatic annotation of DNA microarray platforms and a tool for tracking the analysis within R environment. We also applied eXtreme Programming (XP) as a tool for planning and management of gene expression analyses projects. All data sets were obtained by our collaborators using two different microarray platforms. The first is enriched in non-coding human sequences, particularly intronic sequences. The second one represents exonic regions of human genes. Using the first platform, we evaluated gene expression profiles of prostate and kidney human tumors. Applying SAM to prostate tumor data revealed 49 potential molecular markers for prognosis of this disease. Gene expression in samples of sarcomas, epidermoid carcinomas and head and neck epidermoid carcinomas was investigated using the second platform. A set of 12 genes were identified as potential biomarkers for local aggressiveness and metastasis in sarcoma. In addition, the analyses of data obtained from head and neck epidermoid carcinomas allowed the identification of 7 potential biomarkers for lymph-nodal metastases.
|
79 |
The use of systems development methodologies in web-based application development in South Africa / Martin TaylorTaylor, Martin Allen January 2006 (has links)
Thesis (M.Com. (Computer Science))--North-West University, Potchefstroom Campus, 2007.
|
80 |
Investigation of Test-Driven Development based on Mock Objects for Non-OO LanguagesMudduluru, Sandhya January 2012 (has links)
In traditional software development, bug detection or testing comes as an afterthought. However, bugs are difficult to detect in the later stages of software development that result in long debugging time. Usually, bugs are left out because of higher concentration on development effort, leaving lesser time for testing. Test-Driven Development (TDD) is a software development process that can reduce the debugging time by catching most of the bugs during development. The development is carried on in small and repeated steps based on test cases. However, TDD is designed to work for object-oriented languages. This thesis investigates the suitability of TDD for non-Object Oriented (OO) languages such as C. TDD can be used with C language with the help of stubbing concept. This thesis also evolves the concepts of stubs and mocks in TDD to be used with C to solve dependency related problems. Finally this thesis analyses some frameworks for TDD in C and provides the trade-offs between them.
|
Page generated in 0.787 seconds