Design Approaches

Design Approaches

Barbara Russo, Marco Scotto, Alberto Sillitti, Giancarlo Succi
Copyright: © 2010 |Pages: 11
DOI: 10.4018/978-1-59904-681-5.ch009
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

In this chapter we compare agile and OS development in terms of the adoption of design practices. We review the practices of AMs to identify the agile approaches to the design and we inspect the code of a set of open source projects to determine whether these approaches are undertaken by OS projects.
Chapter Preview
Top

9.2 Agile Approaches To Design

Agile Methodologies focus on incremental development without a single and large upfront design. Namely, they adopt the Big Design Up Front Anti-pattern (BDUFA) that embrace changes adopting envisioning modeling of design (requirements and architecture) just when needed. The usual approach is to mix and refine with short iterations the design, coding, and the testing phases. Therefore, the code is subject to change frequently, whenever requirements change due to a deeper understand or because the customer has changed idea. As such the design approach in the agile methods can be readily identified in the source code. In this chapter we shall deduce whether the developers of OS adopt BDUFA by analyzing the code changes.

In the following we shall just give some examples and discuss the most famous facts related to design approaches in AMs.

In general, AMs use design patterns when the language of programming is object oriented. Namely, AMs share the common principle of reusing existing working objects from previous projects or project iterations to avoid waste and useless activities. This applies also to design objects proving the use of design patterns successful used in previous project’s iteration or projects in AMs.

A design practice peculiar to development with the AMs concerns testing. Many of the AMs embrace testing in the early phase of the development and all across the development itself. In this sense, AMs extensively use the concept of acceptance test. The acceptance test is design object negotiated with the customer in which requirements are modified and accepted by both developers and customer.

In the following we briefly discuss the design approach in the some of the most known agile methods.

Complete Chapter List

Search this Book:
Reset