CSC/ECE 517 Fall 2009/wiki3 11 HJ3: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Other Agile methods
'''''OTHER AGILE METHODS'''''
 
 
== Introduction ==
 
 
 
Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.  Simply put, Agile allows your team to identify the most critical features of the software that can be completed within a short time frame (normally 1 to 2 months), and it delivers a complete build with this set of limited features as the first iteration. Once that is done, you can move those features to production or continue on to the next iteration.  By breaking the releases into shorter stints, it allows you to gain quicker releases and to capture return on investment more quickly by putting the working (but limited) features into production sooner.  This is in stark contrast to the more traditional "Waterfall" approach, where you design all features upfront, code each one, test each one, then move into production.  Agile projects are iteratively released to production months where Waterfall projects normally span a year or more before they are released to production.
 
 


== Extreme Programming (XP) ==
== Extreme Programming (XP) ==

Revision as of 19:40, 23 November 2009

OTHER AGILE METHODS


Introduction

Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. Simply put, Agile allows your team to identify the most critical features of the software that can be completed within a short time frame (normally 1 to 2 months), and it delivers a complete build with this set of limited features as the first iteration. Once that is done, you can move those features to production or continue on to the next iteration. By breaking the releases into shorter stints, it allows you to gain quicker releases and to capture return on investment more quickly by putting the working (but limited) features into production sooner. This is in stark contrast to the more traditional "Waterfall" approach, where you design all features upfront, code each one, test each one, then move into production. Agile projects are iteratively released to production months where Waterfall projects normally span a year or more before they are released to production.


Extreme Programming (XP)

Overview

XP (eXtreme Programming) is a more radical agile methodology, focusing on the software development process and addressing the analysis, development and test phases with novel approaches aimed at making a substantial difference to the quality of the end product.


Adaptive Software Development (ASD)

Overview

Strength

Weakness

Differences from XP

Scrum

Overview

SCRUM is also an agile development method, which concentrates particularly on how to manage tasks within a team-based development environment.


Strength

Weakness

Differences from XP

Dynamic Systems Development Method (DSDM)

Overview

DSDM is probably the most complete agile methodology, whereas SCRUM and XP are easier to implement and complementary because they tackle different aspects of development projects and are both founded on the same principles of agile development. DSDM is probably the original agile development method. DSDM was around before the term 'Agile' was even invented, but is absolutely based on all the principles we’ve come to know as agile development.

Strength

Weakness

Differences from XP

Crystal

Overview

Strength

Weakness

Differences from XP

Feature Drive Development (FDD)

Overview

Strength

Weakness

Differences from XP

Lean Software Development (LSD)

Overview

Strength

Weakness

Differences from XP

Agile Modeling (AM)

Overview

Strength

Weakness

Differences from XP

Agile Unified Process (AUP)

Overview

Strength

Weakness

Differences from XP

References

XP

[1] http://www.extremeprogramming.org/

[2] http://en.wikipedia.org/wiki/Extreme_Programming

[3] http://ootips.org/xp.html

[4] http://xprogramming.com/index.php

ASD

[5] http://en.wikipedia.org/wiki/Adaptive_Software_Development

[6] http://norvig.com/adapaper-pcai.html

[7] http://dirkriehle.com/computer-science/research/2000/xp-2000.pdf

[8] http://www.softwareplanner.com/SE_SP_adaptive_software_mkt.asp

Scrum

[9] http://en.wikipedia.org/wiki/Scrum_%28development%29

[10] http://softwareplanner.com/Newsletters/newsletter_2008_02_SP.htm

[11] http://scrummethodology.com/

[12] http://www.agile-software-development.com/2008/04/extreme-programming-versus-scrum.html

DSDM

[13] http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method

[14] http://www.ifi.uzh.ch/req/courses/seminar_ws03/14_Voigt_DSMD_Ausarbeitung.pdf

[15] http://www.freetutes.com/systemanalysis/sa2-dynamic-system-development-method.html

Crystal

[16] http://en.wikipedia.org/wiki/Crystal_Clear_%28software_development%29

[17] http://www.agilekiwi.com/crystal_clear.htm

FDD

[18] http://www.agilemodeling.com/essays/fdd.htm

[19] http://en.wikipedia.org/wiki/Feature_Driven_Development

[20] http://www.featuredrivendevelopment.com/node/519

LSD

[21] http://en.wikipedia.org/wiki/Lean_software_development

[22] http://www.poppendieck.com/

[23] http://www.projectperfect.com.au/downloads/Info/info_lean_development.pdf

[24] http://www.leansoftwareinstitute.com/art_ilsd.php

AM

[25] http://www.agilemodeling.com/essays/introductionToAM.htm

[26] http://en.wikipedia.org/wiki/Agile_Modeling

[27] http://www.ambysoft.com/books/agileModeling.html

[28] http://www.agilealliance.org/system/article/file/921/file.pdf

AUP

[29] http://www.ambysoft.com/unifiedprocess/agileUP.html

[30] http://en.wikipedia.org/wiki/Agile_Unified_Process

[31] http://en.allexperts.com/e/a/ag/agile_unified_process.htm

[32] http://www.radtac.co.uk/pdf/AUP.pdf