Upload
jairo-r-patino-j
View
222
Download
0
Embed Size (px)
Citation preview
7/27/2019 dell_cdm_4
1/30
Comparative
Development Methodologies
Lecture 4
Agile Methodologies
For the BSc IS&M Programme
Dell ZhangBirkbeck, University of London
7/27/2019 dell_cdm_4
2/30
7/27/2019 dell_cdm_4
3/30
Agile Methodologies
Reaction against heavyweight methodologies The crushing weight of corporate bureaucracy
The rapid pace of information technology change
The dehumanizingof detailed plan-drivendevelopment
Evolved from the mid 1990s Originally called lightweight methodologies
Sounds not serious/robust enough
Agile Alliance A weekend in February 2001 at Snowbird, Utah.
7/27/2019 dell_cdm_4
4/30
Agile Methodologies
eXtreme Programming (XP)
SCRUM
Dynamic Systems Development Method
(DSDM) Feature-Driven Development (FDD)
Adaptive Software Development (ASD)
Crystal Clear Agile Modeling
......
7/27/2019 dell_cdm_4
5/30
7/27/2019 dell_cdm_4
6/30
Agile Principles
Our highest priority is to satisfy the customerthrough early and continuous delivery of valuablesoftware.
Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customer's competitive advantage.
Deliver working software frequently, from a couple ofweeks to a couple of months, with a preference to
the shorter timescale. Agile processes promote sustainable development.
The sponsors, developers, and users should be ableto maintain a constant pace indefinitely.
7/27/2019 dell_cdm_4
7/30
Agile Principles
Business people and developers must work togetherdaily throughout the project.
Build projects around motivated individuals. Givethem the environment and support they need, andtrust them to get the job done.
The most efficient and effective method ofconveying information to and within a developmentteam is face-to-face conversation.
Working software is the primary measure of
progress.
7/27/2019 dell_cdm_4
8/30
Agile Principles
Continuous attention to technical excellence andgood design enhances agility.
Simplicity the art of maximizing the amount ofwork not done is essential.
The best architectures, requirements, and designsemerge from self-organizing teams.
At regular intervals, the team reflects on how tobecome more effective, then tunes and adjusts its
behavior accordingly.
7/27/2019 dell_cdm_4
9/30
Ongoing Debate
Are we returning back to cowboy coding?
Not really.
Agile Methodologies do have disciplines.
Criticism
Hacker Interpretations
e.g.,
responding to change over following a plan Great! Now I have a reason to avoid planning and to
just code up whatever comes next.
7/27/2019 dell_cdm_4
10/30
http://agilemanifesto.org/
Would you like tosign it?
http://agilemanifesto.org/http://agilemanifesto.org/7/27/2019 dell_cdm_4
11/30
The Planning Spectrum
B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.
7/27/2019 dell_cdm_4
12/30
Agility
Agility (in a software development sense) The ability to respond quickly to change & environment
The adaptability to suite new or unexpected challenges
Where does agility come from? Agile methodologies derive much of their agility by
relying on the tacit knowledge embodied in the
team, rather than writing the knowledge down in
plans.
7/27/2019 dell_cdm_4
13/30
Developers
Agile Methodologies
put a premium on having premium people
critical people factors: amicability, talent, skill and
communication
Plan-Driven Methodologies
invest in life-cycle architectures and plans
use these to facilitate external reviews
7/27/2019 dell_cdm_4
14/30
Customers
Agile Methodologies
customers operate in dedicatedmode with the
development team
Plan-Driven Methodologies avoid tacit knowledge shortfalls via documentation
avoid onsite-customer shortfalls via architecture
review boards and independent expert projectreviews
7/27/2019 dell_cdm_4
15/30
Requirements
Agile Methodologies
in turbulent, highly-change environments
emergentrather than prespecifiable
Plan-Driven Methodologies
determined in advance
including via prototyping
remain relatively stable with change rates with
7/27/2019 dell_cdm_4
16/30
Architecture
Agile Methodologies
emphasizes simplicity: maximizing the work not
done
designed for current requirements YAGNI
Plan-Driven Methodologies
emphasizes heavyweight architecture and designdocumentation
designed for current and forseeable requirements
7/27/2019 dell_cdm_4
17/30
Refactoring
Agile Methodologies
assumes that refactoring is essentially free (with
great developers and small systems)
Plan-Driven Methodologies assumes that refactoring effort increases with the
number of requirements (with less-than-great
developers or very large systems)
the 20% problems (causing 80% rework) come
largely from architecture-breakers
7/27/2019 dell_cdm_4
18/30
Size
Agile Methodologies
need tightly coordinated teamwork
e.g., face-to-face communication
are suitable for small teams (< 15 or 20 people)
Plan-Driven Methodologies
scale better to larger (million-line) projects
7/27/2019 dell_cdm_4
19/30
Primary Objective
Agile Methodologies
rapid value
early and continuous delivery
Plan-Driven Methodologies
high-assurance
predictability, repeatability, and optimization
7/27/2019 dell_cdm_4
20/30
B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.
7/27/2019 dell_cdm_4
21/30
Risk Management
How much planning is enough?
Risk Exposure
RE = P(L) x S(L)
Probability of Loss P(L)
Size of Loss S(L)
REQuality + RESpeed RE
Quality
is caused by inadequate plans
RESpeed is caused by delays (market share erosion)
B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.
7/27/2019 dell_cdm_4
22/30
7/27/2019 dell_cdm_4
23/30
7/27/2019 dell_cdm_4
24/30
7/27/2019 dell_cdm_4
25/30
7/27/2019 dell_cdm_4
26/30
7/27/2019 dell_cdm_4
27/30
7/27/2019 dell_cdm_4
28/30
Agile Methodologies - Exercise
What are the aspects of software
development that all agile methodologies
share?
(A) User involvement is vital to success.
(B) Build and release software in small increments.
(C) Attention to quality and excellence.
(D) Conformance to standards.
Teach Yourself Extreme Programming In 24 Hours.
7/27/2019 dell_cdm_4
29/30
Video
Are You Agile or Are You Fragile?
by Scott Ambler
http://video.google.com/videosearch?q=+Are+You
+Agile+or+Are+You+Fragile
http://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragilehttp://video.google.com/videosearch?q=+Are+You+Agile+or+Are+You+Fragile7/27/2019 dell_cdm_4
30/30
Take Home Messages
Agile Manifesto
Agile vs. Plan-Driven
The Planning Spectrum
Home Ground
Comparative Risk Exposure Profiles