0% found this document useful (0 votes)
26 views17 pages

Agile Software Development

Agile software development is an iterative approach that promotes frequent collaboration between self-organizing cross-functional teams and customers. It emphasizes adaptive planning, evolutionary development, early delivery, continuous improvement, and flexibility to change requirements. Popular agile methods include Scrum, Extreme Programming (XP), and Agile Unified Process (AUP). Advantages include improved customer satisfaction, adaptability, and productivity, while disadvantages can include difficulty estimating effort upfront for large projects and lack of documentation.

Uploaded by

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

Agile Software Development

Agile software development is an iterative approach that promotes frequent collaboration between self-organizing cross-functional teams and customers. It emphasizes adaptive planning, evolutionary development, early delivery, continuous improvement, and flexibility to change requirements. Popular agile methods include Scrum, Extreme Programming (XP), and Agile Unified Process (AUP). Advantages include improved customer satisfaction, adaptability, and productivity, while disadvantages can include difficulty estimating effort upfront for large projects and lack of documentation.

Uploaded by

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

AGILE SOFTWARE DEVELOPMENT

PRESENTED BY: AHMAD NAUFAL BIN DUIS


Contents

• Introduction
• The Agile Manifesto
• Principles of Agile
• Characteristics
• Agile Development
• Existing Agile Methods
• Advantages and Disadvantages
• References
What Is Agile

Agile Development is a phrase used in


software development to describe
methodologies for incremental software
development.
Agile Software Development

Agile software development is a conceptual framework for


software engineering that promotes development iterations
throughout the life-cycle of the project.

• Software developed during one unit of time is referred to


an iteration, which may last from one to four weeks.
• Agile methods also emphasize working software as the
primary measure of progress
Agile Manifesto

1. Individuals and interactions over


processes and tools
2. Working software over comprehensive
documentation
3. Customer collaboration over contract
negotiation
4. Responding to change over following a plan
Principles of Agile
• Customer Satisfaction
• Working Software
• Measure of Progress
• Late Changes Are Welcome
• Face_To_Face Communication
• Motivated Individuals
• Technichal Excellence
• Simplicity
• Self_organizing
• Regular Adoption
Characteristics

• Modularity
• Iterative
• Time-bound
• Incremental
• People oriented
• Less defect
• Collaborative
• Motivating the team
Agile Development
Existing Agile Methods

• Extreme Programming (“XP”)


• Agile Unified Process
• Scrum
Extreme Programming

• Most prominent Agile Software development


method
• Prescribes a set of daily stakeholder practices
• “Extreme” levels of practicing leads to more
responsive software.
• Changes are more realistic, natural,
inescapable.
Scrum

• Scrum is an Agile framework for completing complex


projects. Scrum originally was formalized for software
development projects, but it works well for any complex,
innovative scope of work. The possibilities are endless.
The Scrum framework is deceptively simple.
Principles of Scrum

• Welcome changing requirements, even late in


development.
• Deliver Valuable Working Software frequently.
• Early visibility Self Organizing teams to Business.
• Product owners (Business) and developers must work
together daily throughout the project, at a sustainable
pace.
• Inspect and adapt.
Agile Unified Process

• AUP is a simplified version of RUP

Phases of AUP
 Inception
 Elaboration
 Construction
 Transition
Disciplines of AUP

 Model
 Implementation
 Test
 Deployment
 Project Management
 Environment
Advantages of Agile Model
• Customer Satisfaction.
• People and interactions.
• Customers, developers and testers constantly interact with each
other.
• Working software is delivered frequently.
• Face-to-face conversation.
• Close, daily cooperation between business people and
developers.
• Continuous attentio n to technical good design.
• Regular adaption to changing circumstances.
• Even late changes in requirements are welcomed.
Disadvantages of Agile Model
• In case of some software deliverables, especially the
large ones, it is difficult to access the effort required at the
beginning of the software development life cycle.
• There is lack of emphasis on necessary designing and
documentation.
• The project can easily get taken off track if customer
representative is not clear what outcome that they want.
• Only senior programmers are capable of taking the kind
of decisions required during the development process.
Hence it has no place for newbie programmers, unless
combined with experienced resources.
References

1. Abrahamsson P, Salo O and Ronkainen J. Agile software


development methods (Review and analysis).
2. Scott W Ambler. Agile model driven devlopment.
3. Cohen D, Lindvall M, Costa P. Agile software
development.
4. http://en.wikipedia.org/wiki/Agile_Modelling.
5. http://en.wikipedia.org/wiki/Extreme_Programming.
6. http://en.wikipedia.org/wiki/Agile_Unified_process.
7. http://en.wikipedia.org/wiki/Scrum_28development29.

You might also like