8,324 research outputs found
On Understanding Preference for Agile Methods Among Software Developers
Agile methods are gaining widespread use in industry. Although management is keen on adopting agile, not all developers exhibit preference for agile methods. The literature is sparse in regard to why developers may show preference for agile. Understanding the factors informing the preference for agile can lead to more effective formation of teams, better training approaches, and optimizing software development efforts by focusing on key desirable components of agile. This study, using a grounded theory methodology, finds a variety of categories of factors that influence software developer preference for agile methods including self-efficacy, affective response, interpersonal response, external contingencies, and personality contingencies. Each of these categories contains multiple dimensions. Preference rationalization for agile methods is the core category that emerges from the data. It informs that while the very essence of agile methods overwhelmingly and positively resonates with software developers, the preference is contingent on external and personality factors as well
Toward an Understanding of Preference for Agile Software Development Methods from a Personality Theory Perspective
This paper presents the results of an exploratory research study that investigates factors contributing to preference for the agile software development approaches. The initial exploration revolves around the Five Factor Model of personality and the premise that these personality factors provide a partial explanation of preference for an agile approach. A survey instrument for measuring the preference for agile methods was developed and validated. The results from the quantitative data collected from the survey study indicate that three out of the five personality factors from the Five Factor Model show a correlation with above average preference for agile methods. These factors are extra version, openness and neuroticism. The first two have a positive relationship with agile preference while neuroticism (emotional instability) has a negative relationship with agile methodology preference. To further investigate the results, an exploratory factor analysis was performed on the data, which identified three factors that may also contribute to a preference for agile methods
Misaligned Values in Software Engineering Organizations
The values of software organizations are crucial for achieving high
performance; in particular, agile development approaches emphasize their
importance. Researchers have thus far often assumed that a specific set of
values, compatible with the development methodologies, must be adopted
homogeneously throughout the company. It is not clear, however, to what extent
such assumptions are accurate.
Preliminary findings have highlighted the misalignment of values between
groups as a source of problems when engineers discuss their challenges.
Therefore, in this study, we examine how discrepancies in values between groups
affect software companies' performance.
To meet our objectives, we chose a mixed method research design. First, we
collected qualitative data by interviewing fourteen (\textit{N} = 14) employees
working in four different organizations and processed it using thematic
analysis. We then surveyed seven organizations (\textit{N} = 184). Our analysis
indicated that value misalignment between groups is related to organizational
performance. The aligned companies were more effective, more satisfied, had
higher trust, and fewer conflicts.
Our efforts provide encouraging findings in a critical software engineering
research area. They can help to explain why some companies are more efficient
than others and, thus, point the way to interventions to address organizational
challenges.Comment: accepted for publication in Journal of Software: Evolution and
Proces
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
- …