Software Development Methodology - Extreme

3
Extreme Development Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation. A customer representative usually works with the team daily. Values gained - Attempts to reconcile humanity and productivity through communication. - Creates a mechanism for social change through respect. - Creates a path to improvement through feedback. - Enforces a style of development through simplicity. - Enforces software development discipline through courage. Main principles - Uses simple forms or planning and tracking actions and predict completion date. - Focus is on business value, producing small fully-integrated releases that pass testing. - Developers collaborate using simple design and obsessively tested code, improving design as needs change. - Developers code in a consistent style so that all members can understand and improve the code. - Developer teams share a common and simple view of what the system looks like, while working at a pace that can be sustained indefinitely. - The “customer” provides requirements, sets priorities, and steers the project. Suitability - Unstable requirements and constant customer feedback is acceptable. Extreme Development, 7/31/2007 Sam Boustani

description

Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation. A customer representative usually works with the team daily.

Transcript of Software Development Methodology - Extreme

Page 1: Software Development Methodology - Extreme

Extreme DevelopmentExtreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation. A customer representative usually works with the team daily.

Values gained- Attempts to reconcile humanity and productivity through communication.- Creates a mechanism for social change through respect.- Creates a path to improvement through feedback.- Enforces a style of development through simplicity.- Enforces software development discipline through courage.

Main principles- Uses simple forms or planning and tracking actions and predict completion date.- Focus is on business value, producing small fully-integrated releases that pass testing.- Developers collaborate using simple design and obsessively tested code, improving design as

needs change.- Developers code in a consistent style so that all members can understand and improve the code.- Developer teams share a common and simple view of what the system looks like, while working

at a pace that can be sustained indefinitely.- The “customer” provides requirements, sets priorities, and steers the project.

Suitability- Unstable requirements and constant customer feedback is acceptable.- User conflicts in project objectives and constraints between multiple users are expected.- Requirements and design are defined incrementally.- Developers can work in pairs.

Application- Involves new or prototype technology.- Research projects for domain knowledge.- Small and easily managed projects through informal methods.- Does not involve mission critical or safety critical systems.

Extreme Development, 7/31/2007 Sam Boustani

Page 2: Software Development Methodology - Extreme

Process

Extreme Development, 7/31/2007 Sam Boustani