Hybrid Adaptive Software Development Capability - An Empirical Study
Hybrid Adaptive Software Development Capability - An Empirical Study
Hybrid Adaptive Software Development Capability - An Empirical Study
Abstract—Software intensive organisations require the researchers on these elements and underlying
integration of agility, people, process, product and tool characteristics, which are important for establishing a
elements for establishing a hybrid adaptive software hybrid adaptive software development capability. This
development capability. This paper presents the results of paper presents the results of 46 structured interviews that
the empirical study that has been conducted to identify the
important underlying characteristics of the hybrid adaptive
have been conducted in order get feedback on these main
software development capability elements. Based on this elements: agility, people, process, product and tool. The
investigation, the most critical and the least critical findings of this empirical study have several implications,
characteristics of the hybrid adaptive software development and would help organisations in making a decision about
capability elements have been identified. The findings of this the importance of the elements’ characteristics (from
empirical study have several implications, and can be re- more critical to less) when establishing their local hybrid
casted into making practical recommendations for adaptive software development capability.
establishing a situation-specific hybrid adaptive software This paper is organized as follows: Section II presents
development capability. literature review. Section III presents the research
Index Terms—Agile Methods, Empirical Software
methodology. Section IV presents the analysis and results
Engineering, Information Systems of the empirical study interviews. Finally, Section V,
discusses the validity and limitations of this study; before
concluding in Section VI.
I. INTRODUCTION
II. LITERATURE REVIEW
Traditional plan-based software development
approaches work well if the project requirements are Traditional plan-driven software development
fixed; but are often considered heavy when the project approach was an attempt to address the issues of code-
requirements are being changed frequently [18, 32]. This and-fix approach by introducing repeatable process and
issue led to the development of new agile software practices. The plan-driven approach was advocated to
development methods [1]. Agile methods are being manage large and life-critical projects (Boehm 1988).
embraced by programming shops as providing a much Some of the key issues, related to plan-driven approaches,
needed release from the overheads typically perceived as that have been suggested and argued from time-to-time
being imposed by traditional plan-based methods [23]. are: its emphasis on fully elaborated documentation, fixed
Agile methods focus on delivering software early rather contract, upfront detailed planning and design, top-
than on the unnecessary documentation and reporting of bottom command and control process, slow response to
deliverables and this is often seen as a welcome shift of changing requirements, focus on reporting deliverables
balance towards the most important factor in software rather than on actual delivery [5, 18]. These issues
project development [2]. encouraged the software community to develop new
Agile methods, originated in the context of small and lightweight and agile methods for software development
medium projects, claim to offer many tangible benefits [8].
over traditional methods, e.g. improved time-to-market, As a reaction to so-called traditional plan-driven
productivity and quality software while at the same time methods, a number of agile methods have been proposed
aiming to reduce development cost [2, 6, 25]. Reifer et al. over the last two decades and are being continually
[24] suggested that “using agile methods to develop large updated (e.g. XP, Feature Driven Development, Adaptive
systems presents a thorny set of issues”. Organizations Software Development and Scrum). Agile software
can develop or tailor hybrid adaptive software development is being embraced by IT shops as an
development environment or capability [27] to deal with alternative to traditional plan-based development [23].
the challenge of agile at large scale. A hybrid adaptive Agile software development methods are argued to have
software development capability can be established by several benefits over traditional plan-based methods - in
integrating agility, people, process, product and tools particular, their ability to handle projects where the
elements [7, 11, 12, 19, 20, 33, 34] (e.g. integration of project requirements are not fixed [18, 28, 29, 30]. The
agile and non-agile elements). The aim of this paper is to Agile Manifesto [1] provides twelve agile principles and
obtain feedback from industry professionals as well as four agile values to qualitatively characterize the concept
of “Agility” in agile methods [10, 13, 16, 17, 22]. The response was sought from a participants with a specific
ISO/IEC 24744 metamodel [9] describes the key software development related experience and knowledge.
elements of the traditional plan-driven methods in terms Analysis of the data leads to a distribution of responses
of “People”, “Process”, “Product” and “Tool”. that we depict, for most questions, as percentages. When
Organizations can develop or tailor hybrid adaptive appropriate, we also analyze the tabulated percentages in
software development capability by combining the terms of a ranking based on the perceived importance
following agility [1, 19-22] and traditional plan-driven (from most to least important). This ordered ranking set is
elements [9]. referred to as perceived “priority ranking”. It is argued
• Agility [1, 19-22] that this “priority ranking” can be helpful in making
recommendations to which elements’ characteristics are
• People [9]
more critical and which, perhaps, may require more
• Process [9] attention than of lesser importance. These priority
rankings are included as an additional column in the
• Product [9] tabulated results. In summary, this empirical study
• Tool [9] analyzes the data collected from 46 structured interviews
and organizes the elements’ characteristics from most
However, the question is: What are the important important to least important, based on the participants’
underlying characteristics of these five elements? The perceived importance or weight, called here perceived
aim of this paper is get feedback from practitioners on “priority ranking”.
these elements and identify underlying characteristics,
which are important for establishing a hybrid adaptive IV. ANALYSIS AND RESULTS
software development capability.
This section presents the detailed analysis of the agility,
III. RESEARCH METHOD people, process, product and tool elements of a hybrid
adaptive software development capability.
Based on the literature review (as summarized in
Section II), a structured close-ended interview A. Agility
questionnaire was developed. This questionnaire contains This section first presents the detailed analysis of the
nine questions related to five main elements and their “agility” element characteristics [22] that are important
underlying characteristics: (1) agility; (2) people, (3) for establishing a hybrid adaptive software development
process, (4) product; and (5) tool. The structured capability. It discusses the agility characteristics, degree
interview questionnaire was used to capture research of agility, agility adoption and improvement model. The
participants’ response via face-to-face and Skype first question is:
interviews. Participants from both research and industry
organizations were invited via professional and research 1. What are the key desirable characteristics of
network and also through LinkedIn social media network. “agility” in your opinion?
They included software consultants, coaches, managers,
research scientists and developers. A total of 46 Here, the responses of the participants are analyzed to
interviews were completed and included in this study. find out the perceived important characteristics of
The interviewees had worked in a range of organizations ‘agility’. The five identified agility characteristics [22]
from medium to large. Of the 46 interviewees, 24 were are presented here together with their relevant importance
in industry and 22 were researchers. (Table I), which is called here the agility priority ranking
All the interviews were analyzed as a single sample (see the italic and shaded column). The identified agility
with no attempt (purposefully) made to discriminate characteristics priority ranking, based on the responses of
responses on either industry size or characteristics of the the participants of this research, shows that the most
respondents themselves (e.g. position in company, important characteristic of agility is “flexibility” (76%),
practitioner versus researcher) since it can be assumed and the least important is “leanness” (22%). A hybrid
that there is little impact from these factors on the overall adaptive software development capability can pay more
knowledge of the project process and their (research attention to the high priority ranking agility
participants’) personal experienced based opinions i.e. the characteristics than the low ranking characteristics. These
opinions are of individuals and not of their organizations. agility characteristic can be considered by project teams
Consequently, it is not claimed that this is a truly to calculate the degree of agility (see [19] on how to
statistically representative sample since a fully calculate degree of agility) of a hybrid adaptive software
representative sample is hard or perhaps impossible to development capability. Agility priority rankings can be
obtain [15]. The main sampling challenge in this type of observed in Table I.
research is to identify and engage the relevant research
participants. This sort of study is not easy to conduct and
always interesting in terms of outcomes, especially if, as
here, they are recast into practical recommendations. In
other words, this research uses the notion of a
convenience sample rather than a random sample since a
10 Others 1 2 Others
D. Product
This section presents the detailed analysis of the E. Tool
“product” element [9] of a hybrid adaptive software
This section presents the detailed analysis of the “tool”
development capability. A hybrid adaptive software
element [9] of a hybrid adaptive software development
development capability is established to produce software
capability. A hybrid adaptive software development
products or work products, however, the question is:
capability applies a number of people, processes and tools
to produce software products or work products, however,
7. Which are the important characteristics that can be
the question is:
used to describe a software product?
8. Which types of tools are important for establishing
The responses of the participants have been analyzed
a hybrid adaptive software development capability?
to identify the important characteristics that can describe
and model a software product. Table VII shows the
Agile processes are called people-focused processes,
results of the analysis together with the identified priority
but we cannot eliminate the tools factor since tools help
ranking, which may be a useful guide for determining
to ease and speed up the development when required and
which product characteristics are important and need to
appropriate (e.g. automated testing tools). Here, the
be described or modeled in the context of a hybrid
responses of the research participants have been analyzed
adaptive software development capability. The product
to find out the important types of tools for establishing a
complexity (72%), business value (54%), size (46%), and
hybrid adaptive software development capability or
criticality (43%) are perceived to be top characteristics of
environment. Interestingly, in total, 85% (Table VIII) of
a software product in the context of a hybrid adaptive
the 46 participants supported the use of fully automated
software development capability. Interestingly,
(35%) and semi-automated (52%) tools for establishing a
abstraction mechanism characteristic was ranked very
hybrid adaptive software development capability or
low very low by the participations (only 7%), thought it
environment. However, it can be observed from the
refers to a key product modelling paradigm (e.g. object,
following table (Table VIII) that only 7% of the
service or agent oriented modelling). Only 2% of the
participants were agreeable to using a minimal-automated
participants suggested to explore other software product
or tools-oriented environment. This shows that, however
characteristics.
much agile methods are people-focused and give less
importance to tools and processes, in order to make them
workable and applicable in the industry, other important
aspects such as tools and processes cannot be eliminated
altogether. A balanced recipe of software development
may be considered to be more practicable and workable.
This analysis will help the practitioner to make their
decisions about the setup of the tools to support hybrid
adaptive software development capability.
results of this research more general, more time, software development effort”, ACM SIGSOFT Software
participants and organizations need to be involved. Engineering Notes, vol. 28, p. 6, November 2003.
[11] A. Mahanti, “Challenges in enterprise adoption of agile
methods – A Survey”, Journal of Computing and
VI. CONCLUSION
Information Technology - CIT, vol. 14, pp. 197–206, 2006.
A hybrid adaptive software development capability can [12] M. Maharmeh, B. Unhelkar, Investigation into the Creation
be established for a particular organization thorough the and Application of a Composite Application Software
integration of agility [1, 19-22], and traditional people, Development Process Framework (CASDPF). Fifth
International Conference on Information Technology: New
processes, product, and tool [9] elements. This paper
Generations, IEEE ITNG, 2008.
presented the analysis and results of the responses from [13] J. McAvoy, and T. Butler, “A failure to learn in a software
the 46 research participants that highlighted the important development team: the unsuccessful introduction of an
characteristics of agility, people, processes, product, and agile method”, in Information Systems Development.
tool elements of a hybrid adaptive software development Challenges in Practice, Theory, and Education (eds. C.
capability. These elements and underlying characteristics Barry, K. Conboy, M. Lang, G. Wojtkowski and W.
provide a baseline information for facilitating the Wojtkowski), Springer-Verlag, New York, USA, vol. 1,
establishment of a hybrid adaptive software development pp.1-13, 2009.
capability. The findings of this empirical study have [14] M. Niazi, and M.A. Babar, “De-motivators of software
process improvement: An analysis of vietnamese
several implications, and would help organizations in
practitioners’ views”. PROFES, Springer-Verlag, vol. 4589,
making a decision about the importance of the elements’ pp. 118-131, August 2007.
characteristics (from more critical to less) when [15] M. Niazi, D. Wilson, and D. Zowghi, “Critical success
establishing their local hybrid adaptive software factors for software process improvement: An empirical
development capability. This research will be further study”. Software Process Improvement and Practices
extended based on the future learning, experience and Journal, vol. 11, pp. 193-211, May 2006.
research involving more participants to make the results [16] S. Nerur, R., Mahapatra, and G. Mangalaraj, “Challenges
of this research more general. of migrating to agile methodologies”, Communciaitons of
the ACM, vol. 48, pp 72-78, May 2005.
[17] M. Pikkarainen, O. Sal, and J. Still, “Deploying agile
ACKNOWLEDGMENT practices in organisations: A case study”, EuroSPI ,
The author wishes to thank the experts from industry Springer-Verlag, vol. 3792, pp. 16-27, October 2005.
and research organizations who helped with their [18] F. Paetsch, A. Eberlein, & F. Maurer, 'Requirements
Engineering and Agile Software Development',
valuable feedback and experience.
Proceedings of the IEEE International Workshops on
Enabling Technologies: Infrastructure for Collaborative
REFERENCES Enterprises, Linz, Austria, pp. 308 -313, 2003.
[1] Agile Manifesto, Manifesto for Agile Software [19] A. Qumer, and B. Henderson-Sellers, ”An evaluation of
Development. http://agilemanifesto.org/. the degree of agility in six agile methods and its
[2] L. Barnett, and C. Schwaber, “Adopting agile development applicability for method engineering”, Information and
processes: improve time to benefits for software projects, Software Technology (IST), vol. 50, no. 4, pp. 280-295,
Forrester Research, March 2004. 2008.
[3] N. Baddoo, and T. Hall, “Motivators of software process [20] A. Qumer & B. Henderson-Sellers, ‘Construction of an
improvement: An analysis of practitioner’s views”, Journal Agile Software Product-Enhancement Process by Using an
of Systems and Software, vol. 62, pp. 85-96, May 2002. Agile Software Solution Framework (ASSF) and
[4] S. Beecham, H. Tracy, and R. Austen, “Software process Situational Method Engineering’, International IEEE
problems in twelve software companies: an empirical Computer Software and Applications Conference (IEEE
analysis”, Empirical Software Engineering, vol. 8, pp. 7-42, COMPSAC2007), Beijing, China, 2007.
March 2003. [21] A. Qumer, B. Henderson-Sellers & T. McBride, ‘Agile
[5] B.W. Boehm, A Spiral Model of Software Development adoption and improvement model’, European and
and Enhancement, Computer, IEEE JNL, (21:5), p. 61-72, Mediterranean Conference on Information systems
1988. (EMCIS2007), Valencia, Spain, 2007.
[6] B. Fitzgerald, Hartnett, G., and K. Conboy, “Customising [22] A. Qumer & B. Henderson-Sellers, ‘Crystallisation of
agile methods to software practices at Intel Shannon”, Agility: Back to Basics’, International Conference on
Journal of Information Systems, vol. 15, pp. 200-213, Software and Data Technologies, Setubal, Portugal,
April 2006. pp.121-126, 2006.
[7] B. Henderson-Sellers & A. Qumer, ‘Using Method [23] D. Reifer, “How good are agile methods?”, IEEE Software,
Engineering to Make a Traditional Environment Agile’, vol. 19, pp. 16-18, July 2002.
Cutter IT Journal, 2007. [24] Reifer, D. 2003 ‘XP and the CMM’, IEEE Software , vol.
[8] J. Highsmith & A. Cockburn, ‘Agile Software 20. No. 3, pp. 14-15.
Development: The Business of Innovation’, IEEE [25] SalesForce. Agile development meets cloud computing for
Computer Society, Computer, vol. 34, no. 9, 2001. extraordinary results at salesforce.com, 2008.
[9] ISO/IEC: Software Engineering: Metamodel for [26] B. Schatz, and I. Abdelshafi, “Primavera gets agile: a
Development Methodologies. ISO/IEC 24744. International successful transition to agile development”, IEEE Software,
Standards Organization/International Electrotechnical vol. 22, pp. 36-42, May/ June 2005.
Commission, Geneva, Switzerland; 2007. [27] A. Sidky, “A structured approach to adopting agile
[10] S. Kuppuswami, K. Vivekanandan, P. Ramaswamy, and P. practices: The agile adoption framework”, Ph.D. Thesis,
Rodrigues, “The effects of individual XP practices on
Virginia Polytechnic Institute and State University, USA., [33] H. Wang, and Z. Zheng, “Collective Self-adaptive
2007. Software Architecture Specification: Understanding
[28] J.L. Taylor, 'Lightweight Processes for Changing Uncertainty in Cyber-Physical Convergence”. JCP, vol 9(4)
Environments', Dr. Dobb's Journal: Software Tools for the pp.802-811, 2014.
Professional Programmer, vol. 27, no. 11, pp. 82, 2002. [34] A.Q. Gill, “Towards the Development of an Adaptive
[29] L. Williams & A. Cockburn, Agile Software Development: Enterprise Service System Model”. Americas Conference
It's about Feedback and Change, IEEE Computer Society, on Information Systems, Chicago, USA, 2013.
Computer, vol. 36 (6), 2003.
[30] L. Williams, R.R. Kessler, W. Cunningham, and R. Dr. Asif Q. Gill is a TOGAF 9 Certified Enterprise Architect,
Jeffries, ”Strengthening the case for pair programming”, Lecturer and Researcher at the School of Software at the
IEEE Software, vol. 17, pp. 19-25, 2000 University of Technology, Sydney. He specializes in software-
[31] U. K., Durrani, J. Richardson, and J. Lenanrcic, intensive agile enterprise architecture and engineering practices,
“Investigation on Australian Agile Software Development tools and techniques. He is an experienced author, coach,
Organizations: An Exploratory Study of Adaptable SCM consultant, educator, researcher, speaker, trainer and thought
Process Implementation. JCP, vol. 8(7), pp.1799-1803, leader. He has extensive experience in both agile, non-agile,
2013. cloud and non-cloud complex software development
[32] C. Yuan, W. Wang, Y. L. Lin, and Y. Chen, “Design environments, displaying a deep appreciation of their different
Method of Product Agile Customization Based on perspectives in a number of IT-enabled business process
Artificial Neural Network and Its Application”. JCP, vol. 6, improvement and transformation industry projects of varying
pp.776-783, 2011. sizes. He can be reached at [email protected].