Software Development Methodologies
Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: DSDM
Department of Computer Engineering
1
Sharif University of Technology
Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 - - PowerPoint PPT Presentation
Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: DSDM Sharif University of Technology Department of Computer Engineering 1 Software Development Methodologies Lecture 8 Agile Methodologies: Brief
Department of Computer Engineering
1
Sharif University of Technology
Software Development Methodologies – Lecture 8
First appeared in 1995.
pp
The once-common perception that agile methodologies are nothing
but controlled code-&-fix approaches with little or no sign of a but controlled code & fix approaches, with little or no sign of a clear-cut process, is only true of a small – albeit influential – minority.
Essentially based on practices of program design, coding and testing
that are believed to enhance software development flexibility and productivity productivity.
Most agile methodologies incorporate explicit processes, although
t i i t k th li ht i ht ibl striving to keep them as lightweight as possible.
Department of Computer Engineering
2
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
3
Sharif University of Technology
[Abrahamsson et al. 2003]
Software Development Methodologies – Lecture 8
Department of Computer Engineering
4
Sharif University of Technology
Software Development Methodologies – Lecture 8
Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
Welcome changing requirements, even late in development. Agile
processes harness change for the customer’s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the
project.
Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
Department of Computer Engineering
5
Sharif University of Technology
Software Development Methodologies – Lecture 8
Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace indefinitely. indefinitely.
Continuous attention to technical excellence and good design enhances
agility. agility.
Simplicity—the art of maximizing the amount of work not done—is
essential. essential.
The best architectures, requirements, and designs emerge from self-
At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behaviour accordingly.
Department of Computer Engineering
6
Sharif University of Technology
then tunes and adjusts its behaviour accordingly.
Software Development Methodologies – Lecture 8
accepted RAD methodology. accepted RAD methodology.
evolutionary prototyping and principles that are nowadays attributed evolutionary prototyping and principles that are nowadays attributed to agile development. St ti ith 16 UK i th ti h th
1000 members, including industry giants such as IBM, Microsoft and Siemens.
standard for RAD.
Department of Computer Engineering
7
Sharif University of Technology
Software Development Methodologies – Lecture 8
1. Pre-project: providing the necessary resources for starting the project, along with preliminary planning p y p g 2. Project-proper, during which the five main phases of the DSDM are applied; the first two sequentially at the start of the project, and the remaining three as interwoven cycles: as interwoven cycles:
preliminary analysis of the system:
y y
analysis, design, coding and deployment of the system through e ol tiona p otot ping evolutionary prototyping:
3 Implementation
3. Post-project: system maintenance through further iterations of the main phases
Department of Computer Engineering
8
Sharif University of Technology
phases
Software Development Methodologies – Lecture 8
Department of Computer Engineering
9
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
10
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
11
Sharif University of Technology
[DSDM Consortium 2003]
Software Development Methodologies – Lecture 8
Department of Computer Engineering
12
Sharif University of Technology
Software Development Methodologies – Lecture 8
2
3
Department of Computer Engineering
13
Sharif University of Technology
Software Development Methodologies – Lecture 8
functionality amply visible at the user interface level (screens reports functionality amply visible at the user interface level (screens, reports and controls).
informed representatives (called Ambassador Users) can be identified informed representatives (called Ambassador Users) can be identified and involved as active participants in the project.
prioritize, or implement individually.
developers to fully specify the requirements before any coding can commence.
principles and practices of DSDM.
Department of Computer Engineering
14
Sharif University of Technology
p p p
Software Development Methodologies – Lecture 8
domain that are relevant to the system as well as the types of users domain that are relevant to the system, as well as the types of users interacting with or affected by it. 2 D fi d i iti th hi h l l f ti l d f ti l
requirements of the system.
Definition document.
architecture of the software solution, and specifies the development and operational platforms. and operational platforms.
the iterative phases of the development
Department of Computer Engineering
15
Sharif University of Technology
the iterative phases of the development.
Software Development Methodologies – Lecture 8
requirements as one of the following:
Must-Haves: essential requirements on which the project’s success
q p j relies.
Should-Haves: important requirements, but not essential to the
project’s success.
Could-Haves: requirements that can be excluded from the system
functionality without having any serious effect on the project.
Won’t-Haves: requirements that will not be part of the system
functionality in the current project functionality in the current project.
and should strive hard to deliver the should-haves. The could-haves a d s ou d s e a d o de e e s ou d a es e
a es will only be realized if time and resources allow their implementation.
Department of Computer Engineering
16
Sharif University of Technology
Software Development Methodologies – Lecture 8
A risk analysis is conducted in order to assess the risks involved in
d l i th i t Th l i ill b fi d d i th developing the requirements. The analysis will be refined during the iterations (based on the prototypes), ultimately resulting in the Development Risk Analysis Report.
Requirements are selected according to their development risk and
functional prototypes are iteratively built in order to demonstrate and refine the relevant functionality. The prototypes form the main part refine the relevant functionality. The prototypes form the main part
system. Non functional requirements are refined listed and added to the
Non-functional requirements are refined, listed and added to the
Functional Model.
If necessary, static models (class diagrams) are used for modeling
If necessary, static models (class diagrams) are used for modeling the structural aspects of the domain area being analyzed. These too are added to the Functional Model.
Department of Computer Engineering
17
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
18
Sharif University of Technology
Software Development Methodologies – Lecture 8
1.
Users and support personnel are trained, and manuals are prepared.
2.
The increment is introduced into the operational environment.
3.
A comprehensive validation review is performed on the system, results of which are compiled in the Increment Review Document There are four which are compiled in the Increment Review Document. There are four possible outcomes:
satisfaction in which case the project is declared as finished satisfaction, in which case the project is declared as finished.
be abandoned because of time-box constraints, but should be developed; in this case a return to the business study phase is required.
but should be developed; in this case a return to the functional-model- iteration phase is required.
constraints, yet should be realized; in this case a return to the design-and- build-iteration phase is required.
Department of Computer Engineering
19
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
20
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
21
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
22
Sharif University of Technology
Software Development Methodologies – Lecture 8
Department of Computer Engineering
23
Sharif University of Technology
Software Development Methodologies – Lecture 8
DSDM Consortium DSDM: Business Focused DSDM Consortium, DSDM: Business Focused
Department of Computer Engineering
24
Sharif University of Technology