1,160 research outputs found
Influence Factors for the Choice of a Software Development Methodology
The success rate of software development projects can be increased by using a methodology that is adequate for the specific characteristics of those projects. Over time a wide range of software development methodologies has been elaborated, therefore choosing one of them is not an easy task. Our research reviews the main categories of development methodologies and then focuses, for a detailed study, on three of them: Rational Unified Process (RUP), Rapid Application Development (RAD) and Extreme Programming (XP). For each methodology it is presented the structure of software life cycle, there are identified the situations in which the methodology can be used successfully and the situations in which it tends to fail. Based on the literature review of software development methodologies and on a series of surveys, published by different researchers, exploring the state of practices in this field, we have identified a number of factors that influence the decision of choosing the most adequate development methodology for a specific project. The methodologies that are subject of this study are evaluated in relation to these factors to find out which development methodology is the most adequate depending on the level of the factors for a specific project. The results of our research are useful for the developers by helping them to identify what software development methodology can be used with success for a specific project.Software development methodology, Rational Unified Process, Rapid Application Development, Extreme Programming, choosing the adequate methodology
A Hybrid Approach Using RUP and Scrum as a Software Development Strategy
According to some researchers, a hybrid approach can help optimize the software development lifecycle by combining two or more methodologies. RUP and Scrum are two methodologies that successfully complement each other to improve the software development process. However, the literature has shown only few case studies on exactly how organizations are successfully applying this hybrid methodology and the benefits and issues found during the process. To help fill this literature gap, the main purpose of this thesis is to describe the development of the Lobbyist Registration and Tracking System for the City of Jacksonville case study where a hybrid approach, that integrates RUP and Scrum, was implemented to develop a major application to provide additional empirical evidence and enrich the knowledge in this under-investigated field.
The objective of this research was fulfilled since the case study was described in detail with the specific processes implemented using RUP and Scrum within the context of the IBM Rational Collaborative Lifecycle Management Solution. The results may help researchers and practitioners who are looking for evidence about conducting a hybrid approach. However, more case studies that successfully combine RUP and Scrum need to be developed in order to have enough empirical evidence
Experimental software engineering in educational context
Empirical studies are important in software
engineering to evaluate new tools, techniques, methods and technologies in a structured way before they are introduced in
the industrial (real) software process. Within this PhD thesis we will develop a framework of a consistent process for involving students as subjects of empirical studies of software engineering. In concrete, our experiences with software development teams composed of students will analyze how
RUP (Rational Unified Process) processes can be compliant with the CMMI (Capability Maturity Model Integration), namely in the context of MLs (maturity levels) 2 and 3.
Additionally, we will also analyze the influence of project management tools to improve the process maturity of the teams. Our final goal of carrying out empirical studies with students is to understand its validity when compared with the corresponding studies in real industrial settings
Hybrid Agile Approach: Efficiently Blending Traditional and Agile Methodologies
Agile development, in its simplest form, offers a lightweight framework for helping teams, given a constantly evolving functional and technical landscape, maintain a focus on the rapid delivery of business value. Traditional project management focuses more on distinct and predefined sequential phases. It assumes that once requirements are fixed there wonât be any changes or additions in future. In todayâs world however this is not true and development teams have to incorporate changes at later stages to be competitive. This is where agile methodologies have an edge over traditional methods. Agile can handle more complex and highly adaptable projects. However, organizations focusing heavily on traditional methodologies like waterfall may find completely switching to agile potentially risky. Agile methods may have these major potential risks like agile methods are easy to misunderstand, highly visible information can be threat to financially sensitive projects. Therefore, many companies fear the adoption of Agile because an enterprise-wide adoption of the methodology will conflict with the traditional Waterfall process and create conflict. Hybrid Agile approach will help the organizations transition to agile efficiently. This paper will focus on the analyzing the successful combination of agile and traditional methodology
Software Process Modeling with Eclipse Process Framework
The software development industry is constantly evolving. The rise of the agile methodologies in the late 1990s, and new development tools and technologies require growing attention for everybody working within this industry. The organizations have, however, had a mixture of various processes and different process languages since a standard software development process language has not been available.
A promising process meta-model called Software & Systems Process Engineering Meta- Model (SPEM) 2.0 has been released recently. This is applied by tools such as Eclipse Process Framework Composer, which is designed for implementing and maintaining processes and method content. Its aim is to support a broad variety of project types and development styles.
This thesis presents the concepts of software processes, models, traditional and agile approaches, method engineering, and software process improvement. Some of the most well-known methodologies (RUP, OpenUP, OpenMethod, XP and Scrum) are also introduced with a comparison provided between them. The main focus is on the Eclipse Process Framework and SPEM 2.0, their capabilities, usage and modeling.
As a proof of concept, I present a case study of modeling OpenMethod with EPF Composer and SPEM 2.0. The results show that the new meta-model and tool have made it possible to easily manage method content, publish versions with customized content, and connect project tools (such as MS Project) with the process content. The software process modeling also acts as a process improvement activity.Ohjelmistoprosessin mallinnus Eclipse Process Frameworkilla
ja SPEM 2.0 metamallilla
Ohjelmistot ja ohjelmistoteollisuus kehittyvÀt jatkuvasti. Ketterien menetelmien tulo 1990-luvun loppupuolella, uudet kehitystyökalut ja teknologiat vaativat yhÀ enemmÀn huomiota alalla työskenteleviltÀ ihmisiltÀ. Organisaatioilla on kuitenkin ollut sekalainen kirjo prosesseja ja erilaisia prosessikuvauskieliÀ, koska standardia kuvauskieltÀ ei ole ollut saatavilla.
Prosessimetamalli SPEM 2.0 julkaistiin hiljattain. TĂ€tĂ€ mallia hyödyntÀÀ mm. Eclipse Process Framework Composer (EPFC) âtyökalu, joka on suunniteltu prosessien ja menetelmĂ€sisĂ€llön kehittĂ€miseen ja yllĂ€pitoon. Työkalun tavoitteena on tukea useita erilaisia projektityyppejĂ€ ja kehitystyylejĂ€.
TĂ€ssĂ€ työssĂ€ esitellÀÀn seuraavat aiheet ja kĂ€sitteet: ohjelmistoprosessit, mallit, perinteiset ja ketterĂ€t lĂ€hestymistavat, metoditekniikkaa sekĂ€ prosessien kehittĂ€minen. LisĂ€ksi tutustutaan muutamiin tunnetuimmista metodologioista (RUP, OpenUP, OpenMethod, XP ja Scrum) ja vertaillaan nĂ€itĂ€. TyössĂ€ tutkitaan tarkemmin Eclipse Process Framework Composer âtyökalua, SPEM 2.0 metamallia, nĂ€iden ominaisuuksia, kĂ€yttöÀ sekĂ€ mallintamista.
EsitĂ€n tutkimustulokset ja tutkimuksenkulun OpenMethodin mallintamisesta EPFC âtyökalulla sekĂ€ SPEM 2.0 -metamallilla. Tulokset osoittavat, ettĂ€ uusi metamalli ja työkalu helpottavat prosessin ja menetelmĂ€sisĂ€llön hallintaa, mahdollistavat rÀÀtĂ€löityjen julkaisujen teon sisĂ€llöstĂ€, sekĂ€ yhdistĂ€vĂ€t prosessin projektityökaluihin kuten MS Projectiin. Mallinnus voidaan lisĂ€ksi ymmĂ€rtÀÀ osana prosessin kehittĂ€mistĂ€.Siirretty Doriast
A Quality Framework for Software Development (QFSD)
INTRODUCTION. This research delivers a new complete and prescriptive software development
framework, known as the Quality Framework for Software Development
(QFSD) for immediate use by software development practitioners. Whilst there
are a number of existing methodologies available, and many software
development standards they fail to address the complete development lifecycle.
A review of current literature supports this assertion.
AIMS AND OBJECTIVES. The overall aim of the research is to create a new software development
framework, applying it to a substantial number of real-world software projects in
two different industrial software development environments and thereby
demonstrating its effectiveness.
METHODS. Based on a review of the available research approaches and strategies, the
researcher selected 'pragmatism' as the most suitable for this research. This
selection was driven by two contributory factors. The first was that in order to
conduct the research the researcher would have active participation in the
majority of the research activities. The second was that the deliverables from the
research should be immediately useable for the benefit of software practitioners
and hence not be regarded as a theoretical framework. The approach was
further refined by adopting Action Research and Case Study strategies. The
research was divided in to stages each of which was executed within separate
companies. The companies were very different in terms of their business areas,
culture and views on quality and specifically quality of software deliverables.
RESULTS. The research findings provided a strong indication that a holistic software
development framework does provide an improvement in software project
deliverables quality and repeatability in terms of schedules and quality. In the
case of FisherâRosemount it enabled them to attain ISO 9000/Ticket
accreditation. In addition, by providing all processes and tools in a single web
based environment the adoption by software developers, project managers and
senior management was very high
Comparative Study on Agile software development methodologies
Today-s business environment is very much dynamic, and organisations are
constantly changing their software requirements to adjust with new environment.
They also demand for fast delivery of software products as well as for
accepting changing requirements. In this aspect, traditional plan-driven
developments fail to meet up these requirements. Though traditional software
development methodologies, such as life cycle-based structured and object
oriented approaches, continue to dominate the systems development few decades
and much research has done in traditional methodologies, Agile software
development brings its own set of novel challenges that must be addressed to
satisfy the customer through early and continuous delivery of the valuable
software. It is a set of software development methods based on iterative and
incremental development process, where requirements and development evolve
through collaboration between self-organizing, cross-functional teams that
allows rapid delivery of high quality software to meet customer needs and also
accommodate changes in the requirements. In this paper, we significantly
identify and describe the major factors, that Agile development approach
improves software development process to meet the rapid changing business
environments. We also provide a brief comparison of agile development
methodologies with traditional systems development methodologies, and discuss
current state of adopting agile methodologies. We speculate that from the need
to satisfy the customer through early and continuous delivery of the valuable
software, Agile software development is emerged as an alternative to
traditional plan-based software development methods. The purpose of this paper,
is to provide an in-depth understanding, the major benefits of agile
development approach to software development industry, as well as provide a
comparison study report of ASDM over TSDM.Comment: 25 pages, 25 images, 86 references used, with authors biographie
Tailoring CMMI-DEV and RUP frameworks for ML2/3-compliance analysis
Tese de doutoramento do Programa de Doutoramento em InformĂĄticaThe Capability Maturity Model Integration is a reference model composed of a set
of guidelines that has to be implemented to attain a specific level of maturity in a particular set of process areas. This model aims to establish a set of "best practices" that should be used to ensure the software development with a high
degree of quality. However, CMMI is not widely adopted by small businesses. Its
adoption by these companies is somewhat complex since, in its guidelines, it
merely indicates what to do, but it does not indicate how to implement each
guideline.
The Rational Unified Process is a software development methodology, which has
as its main objective to avail its users the possibility of the software developing
high-quality, within time and budget.
This thesis aims to contribute a set of solutions that can be followed by small
organizations, in order to implement a more streamlined process model that
guarantees an increase in the quality of their products.
This thesis adopts and validates a tailoring of the Rational Unified Process allowing
it to be more easily implemented by small businesses or small software teams.
This thesis presents a study of the dependencies between all the Capability
Maturity Model Integration process areas, in order to enable the understanding of
what the implementation impact is of a given process area in the other process
areas. Finally, we present a mapping between the Capability Maturity Model
Integration and the Rational Unified Process, which aims to help small software
development teams in the implementation of the Maturity Level 2 (presented in
more detail) and Maturity Level 3 of the Capability Maturity Model Integration.
This mapping specifies what team members have to perform in order to
implement most of the guidelines that the Capability Maturity Model Integration
requires for each of their maturity levels.O Capability Maturity Model Integration Ă© um modelo de referĂȘncia que contĂ©m
um conjunto de orientaçÔes necessĂĄrias para atingir um determinado nĂvel de
maturidade em ĂĄreas de processo especĂficas. Este modelo tem como objetivo
estabelecer um conjunto de "melhores prĂĄticas" que devem ser utilizadas para
garantir o desenvolvimento de software com um elevado grau de qualidade. No
entanto o CMMI não é muito adotado por pequenas empresas. A sua adoção por
estas empresas torna-se ligeiramente complexa, uma vez que nas suas
orientaçÔes apenas é indicado o que se deve fazer e não o como se pode fazer.
O Rational Unified Process Ă© uma metodologia de desenvolvimento de software
que tem como principal objetivo garantir aos seus utilizadores o desenvolvimento
de software de alta qualidade dentro do tempo e custo previsto.
Esta tese pretende contribuir com um conjunto de soluçÔes, que as pequenas
empresas podem seguir, de modo a implementarem de uma forma mais
simplificada um modelo de processos que lhes garanta um aumento da qualidade
dos seus produtos.
Esta tese adota e valida uma simplificação do Rational Unified Process permitindo
que este seja mais facilmente implementado por pequenas empresas ou
pequenas equipas de software. Esta tese apresenta um estudo das dependĂȘncias
existentes entre as vĂĄrias ĂĄreas de processo do Capability Maturity Model
Integration de modo a permitir a compreensĂŁo de qual o impacto que a
implementação de uma determinada årea de processo tem nas restantes åreas
existentes. Por fim, Ă© apresentado um mapeamento entre o Capability Maturity
Model Integration e o Rational Unified Process, que pretende orientar as
pequenas equipas de desenvolvimento a implementar nĂvel 2 (apresentado de um
modo mais detalhado) e 3 do Capability Maturity Model Integration. Este
mapeamento permite indicar aos elementos da equipa o que tem de fazer para
conseguir implementar a maior parte das orientaçÔes que o Capability Maturity
Model Integration impĂ”e para cada um dos seus nĂveis de maturidade.Este trabalho foi desenvolvido com o apoio da Fundação para a CiĂȘncia e Tecnologia e da I2S -
Informåtica Sistemas e Serviços SA., através de uma Bolsa de Doutoramento em Empresa
Understanding the Relations Between Iterative Cycles in Software Engineering
Iterations are one of the most successful mechanisms in software development to ensure that the resulting system is satisfactory. Due to its strengths, various kinds of iterations have been integrated to software development with varying goals. In this paper, we consider different types of iterations related to software development, including prototyping, incremental development, sprints as in e.g. Scrum, and iterations as defined in Lean Startup. The goal is to understand the relations between the types of iterations, and to find out what kind of similarities and differences they have with each other. As a result, we find that while the goals are different, it is possible for the iterations to coexist, so that one form of iteration is used as a tool to complete the goals of another
Model-Driven Software Development
Model-Driven Software Development (MDSD) is an emerging technology approach that has potential to revolutionize the software industry. MDSD has the ability to both increase software delivery velocity, while at the same time reduce complexity and reuse software assets. Experts in the field believe that the MDSD approach helps to abstract away the growing interdependencies of enterprise software development by use of sophisticated tools, models, and automatic code generation. Through the use of Unified Modeling Language (UML/UML2) and other related technologies, the models are intricate enough to fully represent a system domain and then generate system code to represent that system. The case study evaluates the key factors of velocity, modeling complexity, code generation, and code completeness. Using both Model-Driven Software Development and so-called traditional methods of development, both techniques were applied against a real-world system for First United Methodist Church Children\u27s Ministry. The two techniques were measured and critiqued for their effect on the software development. Future direction of MDSD and potential impacts are presented
- âŠ