Databases Reference
In-Depth Information
The aim of this chapter is to present the state-of-the-art of agile methodologies and
analyze them according to the set of selected criteria. Special attention is paid on how
modeling and architectural design are addressed in the current agile methodology practice
as well as what kind of support to modeling and design activities exists in the selected set
of methodologies. The paper further proposes how concepts of component-based model-
ing, design and development can help in bridging the gap between model-driven and agile
development. The paper shows how components can ensure and strengthen AD principles
and practices, provide simple and fl exible component-oriented architectural design, as well
as help in overcoming the limitations of the agile methodologies, such as reusability, out-
sourcing, large teams and software, and safety critical software development.
THE STATE-OF-THE-ART
OF AGILE METHODS
In this section, different agile methodologies are presented and analyzed according to
the set of criteria. Although all agile methodologies share similar concepts, principles and
practice, their focus, scope and nature are varied. Some agile methodologies such as Scrum,
Adaptive Software Development, Crystal family and Dynamic Systems Development Method
are primarily focused on the project management and teamwork aspects. These methods do
not particularly treat any specifi c software development practice including any modeling
and design activities. These methods will be presented rather briefl y, while the methods
covering software modeling, design and development practice (XP, FDD, Agile Modeling
and Extreme Modeling) will be covered in more detail.
Extreme Programming
Extreme Programming (XP) is a lightweight development methodology defi ned by
Kent Beck (Beck, 1999; Jeffries, Anderson & Hendrickson, 2001) that has received much
attention during the last years. XP is the most documented, popular and widely used agile
methodology. XP empowers developers to confi dently respond to changing customer require-
ments, even late in the life cycle. XP also emphasizes teamwork. Managers, customers, and
developers are all part of a team dedicated to delivering quality software. The foundation
of XP represents the four values:
Communication,
Feedback,
Simplicity, and
Courage.
The fi ve basic XP principles are used as the guide for development: Rapid Feedback ,
Assume Simplicity , Incremental Change , Embracing Change , and Quality Work . The four
basic XP activities are coding, testing, listening, and designing. Based on these values,
principles and activities the basic XP practices are derived:
Planning Game: Quickly determine the scope of the next release by combining busi-
ness priorities and technical estimates.
Search WWH ::




Custom Search