0% found this document useful (0 votes)
50 views30 pages

Dell CDM 42.0 PDF

This document provides an overview of agile methodologies. It discusses how agile methodologies reacted against heavyweight or plan-driven methodologies. It also describes some key agile principles like satisfying customers through early delivery, welcoming changing requirements, and building projects around motivated individuals. Finally, it compares agile and plan-driven methods in terms of aspects like developers, customers, requirements, architecture, and risk management.

Uploaded by

Eztiven Do Strix
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views30 pages

Dell CDM 42.0 PDF

This document provides an overview of agile methodologies. It discusses how agile methodologies reacted against heavyweight or plan-driven methodologies. It also describes some key agile principles like satisfying customers through early delivery, welcoming changing requirements, and building projects around motivated individuals. Finally, it compares agile and plan-driven methods in terms of aspects like developers, customers, requirements, architecture, and risk management.

Uploaded by

Eztiven Do Strix
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Comparative

Development Methodologies
For the BSc IS&M Programme

Lecture 4
Agile Methodologies

Dell Zhang
Birkbeck, University of London
Agile Methodologies

 Reaction against heavyweight methodologies


 The crushing weight of corporate bureaucracy
 The rapid pace of information technology change
 The dehumanizing of detailed plan-driven
development
 Evolved from the mid 1990s
 Originally called „lightweight‟ methodologies
 Sounds not serious/robust enough
 Agile Alliance
 A weekend in February 2001 at Snowbird, Utah.
Agile Methodologies

 eXtreme Programming (XP)


 SCRUM
 Dynamic Systems Development Method
(DSDM)
 Feature-Driven Development (FDD)
 Adaptive Software Development (ASD)
 Crystal Clear
 Agile Modeling
 ......
Agile Principles

 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.
 Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Agile Principles

 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.
 Working software is the primary measure of
progress.
Agile Principles

 Continuous attention to technical excellence and


good design enhances agility.
 Simplicity – the art of maximizing the amount of
work not done – is essential.
 The best architectures, requirements, and designs
emerge from self-organizing teams.
 At regular intervals, the team reflects on how to
become more effective, then tunes and adjusts its
behavior accordingly.
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.”
http://agilemanifesto.org/

Would you like to


sign it?
The Planning Spectrum

B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.
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.
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
Customers

 Agile Methodologies
 customers operate in dedicated mode with the
development team
 Plan-Driven Methodologies
 avoid tacit knowledge shortfalls via documentation
 avoid onsite-customer shortfalls via architecture
review boards and independent expert project
reviews
Requirements

 Agile Methodologies
 in turbulent, highly-change environments
 emergent rather than prespecifiable
 Plan-Driven Methodologies
 determined in advance
 including via prototyping
 remain relatively stable
 with change rates with <1% per month
Architecture

 Agile Methodologies
 emphasizes simplicity: maximizing the work not
done
 designed for current requirements
 YAGNI
 Plan-Driven Methodologies
 emphasizes heavyweight architecture and design
documentation
 designed for current and forseeable requirements
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‟
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
Primary Objective

 Agile Methodologies
 rapid value
 early and continuous delivery
 Plan-Driven Methodologies
 high-assurance
 predictability, repeatability, and optimization
B. Boehm. Get Ready for Agile Methods, with Care. IEEE Computer, January 2002.
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
 REQuality 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.
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.


Video

 Are You Agile or Are You Fragile?


 by Scott Ambler
 http://video.google.com/videosearch?q=+Are+You
+Agile+or+Are+You+Fragile
Take Home Messages

 Agile Manifesto
 Agile vs. Plan-Driven
 The Planning Spectrum
 Home Ground
 Comparative Risk Exposure Profiles

You might also like