Software managers’ perceptions of
Date
2011-06-07
Authors
Parshotam, Kalpana
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Agile methods for software development, typified by their iterative, incremental
approach and flexibility to change, became known as such with the founding of
the Manifesto for Agile Development in 2001. Agile methods are intended to
address the challenges of business requirements and technology changes that
continually arise during software development.
This study investigates software managers’ perceptions of agile methods for
software development in the South African context. The research considered
the meaning of agile methods including characteristics, similarities and
differences between agile and other software development methods. Software
managers’ attitudes towards agile methods were examined, covering their views
on benefits, shortcomings and challenges of implementing agile methods.
Data was collected through in-depth face to face interviews with fourteen project
managers and development team leaders, representing various sizes and types
of organisations. Respondents were knowledgeable on the subject of agile
methods and had current and/or previous exposure to agile projects.
Important characteristics of agile methods noted were: iterative cycles; using
agile methods where appropriate; active business involvement; short planning
and delivery cycles and using an appropriate level of documentation.
Comparing agile and other software development methods key differences
included: documentation; solution delivery; dealing with changes;
planning/delivery cycle and quality assurance/testing. There were considerably
fewer references to similarities than differences. Similarities that emerged
were: similar concepts but different approach; delivering the end product; team
roles/members; project tracking/reporting and producing documentation.
Some of the characteristics of agile methods were also related to the benefits,
shortcomings and challenges. Highly rated benefits were: good/better quality;
better team spirit/dynamics; meeting client needs/delivering value; improved
team performance and early detection of issues/failure.
ii
Shortcomings of agile methods included: limited applicability; cost not
necessarily lower and possibly higher; lack of common definition and
understanding of agile methods; lower suitability for large projects/teams and
lower suitability for distributed/outsourced/off-shore development teams.
Implementation challenges included: selective, customised or combined use of
agile methods; resistance to change; the need for education of customers and
teams; insufficient business involvement and the need for the right kind of
people.
The study revealed that software managers see the meaning of agile software
development being strongly grounded in the values and principles of the Agile
Manifesto. Agile software development is an iterative approach that breaks
work into small packages and delivers a solution incrementally over multiple
short cycles, accommodating changes throughout the process. It is appropriate
for certain types of situations and environments and should be used
accordingly. The characteristics of agile methods are inextricably linked to their
distinguishing features. Whilst similarities can be identified at a very high level,
agile methods tend to work differently to other methods.
Software managers’ attitude towards agile software development is largely
positive, improved quality being viewed as the most significant benefit. These
benefits arise from the way agile projects work and specific agile practices such
as pair programming, continuous integration and test-driven development.
While the general sentiment is positive, agile methods have inherent limitations
which mainly centre on their limited applicability with regard to certain types of
situations or projects. Agile methods are not seen to reduce project costs
although quality and time are generally positively impacted.
Agile methods being new and different face resistance to change during
implementation. Education is needed to overcome resistance and lack of
understanding of agile methods. Software managers should appreciate that
agile methods should be implemented with situation-dependent adaptation as
appropriate.
Description
MBA - WBS
Keywords
Agile software development, Information technology