AgileProgramming/xp

From Cheaha
Jump to navigation Jump to search


Attention: Research Computing Documentation has Moved
https://docs.rc.uab.edu/


Please use the new documentation url https://docs.rc.uab.edu/ for all Research Computing documentation needs.


As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.

Thank you,

The Research Computing Team

AGILE METHODOLOGY

What is Agile Methodology?

[1]
* Group of software development methodologies
* Project management process
* Set of engineering best practices
* Business approach

Agile methodology aims to deliver high quality software which meets the customer's needs and company goals rapidly.

History

* Seventeen professionals, consisting of experts in programming, CTO's, founders of software consulting firms such as Martin Fowler – ThoughtWorks , Dave Thomas,  Andrew Hunt (co-authors of The Pragmatic Programmers), Ron Jeffries – propietor of Xprogramming.com and others, got together on February 11-13, 2001 at the Snowbird Ski Resort in Utah    
* The agenda was to develop  a 'lightweight'  process as an alternative to documentation driven, heavyweight software development processes (Waterfall, Cowboy coding)
* The Snowbird meet consisted of representatives from some of the existing software methodologies such as Extreme Programming, Adaptive Software Development, Crystal, and SCRUM
* Result of the Snowbird meet – The Agile Manifesto[2] and the Agile Alliance[3]
* Agile Manifesto values
** Individuals and interactions over processes and tools 
** Working software over comprehensive documentation 
** Customer collaboration over contract negotiation 
** Responding to change over following a plan

What are Agile Manifesto practices?

* Customer satisfaction by rapid, continuous delivery of useful software
* Working software is delivered frequently (weeks rather than months)
* Working software is the principal measure of progress
* Even late changes in requirements are welcomed
* Close, daily cooperation between business people and developers
* Face-to-face conversation is the best form of communication (Co-location)
* Projects are built around motivated individuals, who should be trusted
* Continuous attention to technical excellence and good design
* Simplicity
* Self-organizing teams
* Regular adaptation to changing circumstances

What are existing Agile Methodologies?

* Extreme Programming
* Scrum
* Crystal Clear
* Feature Driven Development
* Dynamic Systems Development Method (DSDM)

EXTREME PROGRAMMING

References

1 | references-column-count references-column-count-2 }} }} }}" {{#if: | style="-moz-column-width:{{{colwidth}}}; column-width:{{{colwidth}}};" | {{#if: 2| style="-moz-column-count:2; column-count:2;" }} }}> <references group=""></references>