13,477 research outputs found
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
Autonomous agile teams: Challenges and future directions for research
According to the principles articulated in the agile manifesto, motivated and
empowered software developers relying on technical excellence and simple
designs, create business value by delivering working software to users at
regular short intervals. These principles have spawned many practices. At the
core of these practices is the idea of autonomous, self-managing, or
self-organizing teams whose members work at a pace that sustains their
creativity and productivity. This article summarizes the main challenges faced
when implementing autonomous teams and the topics and research questions that
future research should address
Role clarity deficiencies can wreck agile teams
Background
One of the twelve agile principles is to build projects around motivated individuals and trust them to get the job done. Such agile teams must self-organize, but this involves conflict, making self-organization difficult. One area of difficulty is agreeing on everybody’s role.
Background
What dynamics arise in a self-organizing team from the negotiation of everybody’s role?
Method
We conceptualize observations from five agile teams (work observations, interviews) by Charmazian Grounded Theory Methodology.
Results
We define role as something transient and implicit, not fixed and named. The roles are characterized by the responsibilities and expectations of each team member. Every team member must understand and accept their own roles (Local role clarity) and everbody else’s roles (Team-wide role clarity). Role clarity allows a team to work smoothly and effectively and to develop its members’ skills fast. Lack of role clarity creates friction that not only hampers the day-to-day work, but also appears to lead to high employee turnover. Agile coaches are critical to create and maintain role clarity.
Conclusions
Agile teams should pay close attention to the levels of Local role clarity of each member and Team-wide role clarity overall, because role clarity deficits are highly detrimental
Non-Technical Individual Skills are Weakly Connected to the Maturity of Agile Practices
Context: Existing knowledge in agile software development suggests that
individual competency (e.g. skills) is a critical success factor for agile
projects. While assuming that technical skills are important for every kind of
software development project, many researchers suggest that non-technical
individual skills are especially important in agile software development.
Objective: In this paper, we investigate whether non-technical individual
skills can predict the use of agile practices. Method: Through creating a set
of multiple linear regression models using a total of 113 participants from
agile teams in six software development organizations from The Netherlands and
Brazil, we analyzed the predictive power of non-technical individual skills in
relation to agile practices. Results: The results show that there is
surprisingly low power in using non-technical individual skills to predict
(i.e. explain variance in) the mature use of agile practices in software
development. Conclusions: Therefore, we conclude that looking at non-technical
individual skills is not the optimal level of analysis when trying to
understand, and explain, the mature use of agile practices in the software
development context. We argue that it is more important to focus on the
non-technical skills as a team-level capacity instead of assuring that all
individuals possess such skills when understanding the use of the agile
practices.Comment: 18 pages, 1 figur
Coordinating Knowledge Work in Multi-Team Programs: Findings from a Large-Scale Agile Development Program
Software development projects have undergone remarkable changes with the
arrival of agile development methods. While intended for small, self-managing
teams, these methods are increasingly used also for large development programs.
A major challenge in programs is to coordinate the work of many teams, due to
high uncertainty in tasks, a high degree of interdependence between tasks and
because of the large number of people involved. This revelatory case study
focuses on how knowledge work is coordinated in large-scale agile development
programs by providing a rich description of the coordination practices used and
how these practices change over time in a four year development program with 12
development teams. The main findings highlight the role of coordination modes
based on feedback, the use of a number of mechanisms far beyond what is
described in practitioner advice, and finally how coordination practices change
over time. The findings are important to improve the outcome of large
knowledge-based development programs by tailoring coordination practices to
needs and ensuring adjustment over time.Comment: To appear in Project Management Journa
Historical roots of Agile methods: where did “Agile thinking” come from?
The appearance of Agile methods has been the most noticeable change to software process thinking in the last fifteen years [16], but in fact many of the “Agile ideas” have been around since 70’s or even before. Many studies and reviews have been conducted about Agile methods which ascribe their emergence as a reaction against traditional methods. In this paper, we argue that although Agile methods are new as a whole, they have strong roots in the history of software engineering. In addition to the iterative and incremental approaches that have been in use since 1957 [21], people who criticised the traditional methods suggested alternative approaches which were actually Agile ideas such as the response to change, customer involvement, and working software over documentation. The authors of this paper believe that education about the history of Agile thinking will help to develop better understanding as well as promoting the use of Agile methods. We therefore present and discuss the reasons behind the development and introduction of Agile methods, as a reaction to traditional methods, as a result of people's experience, and in particular focusing on reusing ideas from histor
An approach to reconcile the agile and CMMI contexts in product line development
Software product line approaches produce reusable platforms and architectures for products set developed by specific companies. These approaches are strategic in nature requiring coordination, discipline,
commonality and communication. The Capability Maturity Model (CMM) contains important guidelines for process improvement, and specifies "what" we must have into account to achieve the disciplined processes
(among others things). On the other hand, the agile context is playing an increasingly important role in current software engineering practices, specifying "how" the software practices must be addressed to obtain agile processes. In this paper, we carry out a preliminary analysis for reconciling agility and maturity models in software product line domain,
taking advantage of both.Postprint (published version
- …