Professional Documents
Culture Documents
Sdms
Sdms
net/publication/313768860
CITATIONS READS
2 16,785
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Wilfred Van Casteren on 07 March 2017.
1
high-level design very early in the development life-cycle. So the of significant portions of application and middle-ware code, is
Waterfall model is likely to be unsuitable if requirements are not a tool facilitating Agile development, Turk et al. [11] affirm.
well understood/defined or are likely to change in the course of Furthermore, integrated development environments, systematic
the project. Petersen et al. [9] associate the Waterfall Model with improvement of code through refactoring and automated test suites
high costs and efforts. The number of documents to be approved in can help manage the cost of detecting and removing errors even
every phase, the difficulty to make changes, the difficulty iterations late in an Agile process [11]. Version control and change tracking,
take to initiate and achieve and problems that arise only in later very important in an iterative environment, can now be found
phases confirms this belief. Consequences of these issues have in the toolbox of any active programmer, add Beznosov and
been that the customers’ current needs are not addressed, resulting Kruchten [1].
in implemented but unused features.
D. An Agile Methodology example: Scrum
III. AGILE M ETHODOLOGIES : P RINCIPLES AND PRACTICE For a schematic overview of Scrum refer to Figure 3. The
A. Agile principles main Scrum techniques are the product backlog, sprints, and daily
According to Cohen et al. [4], all Agile Methodologies share scrums (a scrum is daily team meeting of 15 minutes), Paetsch
common characteristics, a focus on interaction, communication, et al. [8] state. The product backlog plays a special role in Scrum
and the reduction of resource-intensive intermediate artifacts. as all prioritized requirements, enhancements and bugs for the
Furthermore, Agile approaches combine short iterative cycles product are listed in the product backlog [8]. The sprint is a 30
with feature planning and dynamic prioritization, Highsmith and day development iteration [8]. For each sprint, the highest priority
Cockburn [7] state. Agility requires face-to-face communication, tasks from the backlog are moved to the sprint backlog [8]. At the
which in turn implies working in close location, facilitating teams end of a sprint, a sprint review meeting is held that demonstrates
to make decisions and act on them immediately rather than wait the new functionality to the customer and solicits feedback [8].
on correspondence, Cohen et al. [4] add. Agile development also E. Agile Issues
requires close customer partnerships, Highsmith and Cockburn [7]
state. Concerning architectural design, not a key value in Agility,
flaws or errors that seriously compromise the integrity of the
B. Agile iterations design are more costly to correct when detected late in the
Williams [14] explains that each iteration in an iterative product, development process, Turk et al. [11] state. The focus on tacit
is a self-contained, mini-project with activities that span require- knowledge makes projects that use agile processes dependent on
ments analysis, design, implementation, and test leading to an experts [11]. Besides, the informal evaluation techniques of agile
internal or external iteration release. The customer adaptively processes may not be sufficient for establishing the quality of
specifies his or her requirements for the next release based on the safety-critical systems [11].
observation of the current release [14]. The predetermined itera- IV. AGILE M ETHODOLOGIES AND THE WATERFALL M ODEL :
tion length, between one and four weeks, used when developing A COMPARISON BY PROJECT CHARACTERISTICS
Agile serves as a time-box for the team. Thus scope is chosen for
each iteration to fill the iteration length [14]. A. Archetypal projects
Agile approaches to software development are most conducive
C. Agile: facilitating tools and techniques in these projects wherein coding is at the center of activities
Model Driven Architecture, where models are the central [12]. Typically, a small project comprising five programmers and
artifacts, speed up development through automated generation lasting for a period of about 6 months would be ideally placed
2
to make extensive use of Agile principles and practices [12]. An 1) Primary goals: Boehm [2] states a major set of objectives
experimental or pilot project in the small category is also likely for the more traditional Waterfall methods, has been predictability,
to benefit with Agility [12]. According to Petersen et al. [9], the repeatability, and optimization. This while Agility focuses on
Waterfall Model is predictable and pays attention to planning the rapid value and responding to change [5].
architecture and structure of the software system in detail which V. R ELATED WORK
is especially important when dealing with large systems.
B. Agile and Waterfall project characteristics In her surveys Williams [13, 14] introduces some prominent
plan-driven and Agile SDMs.
The following aspects are decisive for a project’s development
approach.
2) Size: Waterfall methods scale better to large projects than VI. C ONCLUSION
Agile methods do. Though a plan-driven bureaucratic organization
that requires an average of a person-month just to get a project In this paper two SDMs were introduced, a plan-driven Water-
authorized and started won’t be very efficient on small projects fall Model and the Agile Methodologies. Both models have their
[2]. uses, advantages and disadvantages. Small projects are almost
3) Customer relations: Agile methods work best when cus- always suitable for an Agile approach and almost never for a
tomers operate in dedicated mode with the development team, Waterfall approach. A big and complex project with multiple
and when their tacit knowledge is sufficient for the full span of teams working simultaneously on different parts of the application
the application [2]. This method risks tacit knowledge shortfalls, is almost always a Waterfall project.
which the Waterfall methods reduce via documentation and the
use of architecture review boards and independent expert project
reviews [2]. R EFERENCES
4) Planning and control: Project management requires careful
planning, estimation, coordination, tracking, and control. Aspects [1] Konstantin Beznosov and Philippe Kruchten. Towards agile
formally covered in the Waterfall Model [12]. Agility places security assurance. In Proceedings of the 2004 workshop on
more value on the planning process itself than on the resulting New security paradigms, pages 47–54. ACM, 2004.
documentation [2]. [2] Barry Boehm. Get ready for agile methods, with care.
5) Communications: Agility advocates face-to-face communi- Computer, 35(1):64–69, 2002.
cation, while the Waterfall Model requires explicitly documented [3] Barry Boehm and Richard Turner. Using risk to balance agile
knowledge. and plan-driven methods. IEE Computer Science, 2003.
6) Requirements: Formal and solution-independent, up-front [4] David Cohen, Mikael Lindvall, and Patricia Costa. Agile
requirements engineering is not directly used by pure Agile software development. DACS SOAR Report, 11, 2003.
practitioners [12]. The heavyweight, formal Waterfall Model will [5] Martin Fowler and Jim Highsmith. The agile manifesto.
encounter problems keeping up with rapidly changing require- Software Development, 9(8):28–35, 2001.
ments [2] unless the architecture anticipates and accommodates [6] Matt Ganis. Agile methods: Fact or fiction, 2010.
requirement changes [2]. [7] Jim Highsmith and Alistair Cockburn. Agile software
7) Development: Agility values working software over com- development: The business of innovation. Computer, 34(9):
prehensive documentation, and emphasizes simplicity, maximiz- 120–127, 2001.
ing the amount of work not done [5]. This while the Waterfall [8] Frauke Paetsch, Armin Eberlein, and Frank Maurer. Re-
Model relies heavily upon software architecture, as it is part of quirements engineering and agile software development. In
the development sequence, see [10]. WETICE, volume 3, page 308, 2003.
8) Test: Conventional assurance methods are much more [9] Kai Petersen, Claes Wohlin, and Dejan Baca. The waterfall
adapted to Waterfall development, which is well-documented and model in large-scale development. In International Con-
focused on architecture [1]. Agile Methodologies facilitate internal ference on Product-Focused Software Process Improvement,
design and code review, and motivate developers to adopt coding pages 386–400. Springer, 2009.
standards [1]. [10] Winston W Royce. Managing the development of large soft-
9) Customers: Agility requires dedicated, co-located, knowl- ware systems. In proceedings of IEEE WESCON, number 8,
edgeable customers [2]. The Waterfall Model requires, adequately pages 328–338. Los Angeles, 1970.
skilled and knowledgeable customers [2]. [11] Dan Turk, Robert France, and Bernhard Rumpe. As-
10) Developers: Developers in an Agile project are to be sumptions underlying agile software development processes.
agile, knowledgeable, collocated, and collaborative and should arXiv preprint arXiv:1409.6610, 2014.
be amicable, talented, skillful and communicative [2]. Waterfall [12] Bhuvan Unhelkar. The Art of Agile Practice: A Composite
developers are to be plan-oriented, adequately skilled with access Approach for Projects and Organizations. CRC Press, 2016.
to external knowledge [2]. [13] Laurie Williams. A survey of plan-driven development
11) Culture: Agile methods will succeed better in a culture methodologies, 2004.
that “thrives on chaos” than in one that “thrives on order,” while [14] Laurie Williams. A survey of agile development methodolo-
the opposite is true for the Waterfall Model [3]. gies, 2007.