You are on page 1of 21

Agile Software Development

: :

Contents Methodologies Agile Manifesto Characteristics Agile methods Advantage & disadvantage Resources

Methodologies

HeavyWieght

Software development methodologies


lightWeight

Page 1/18

HeavyWeight Methodology
They are based on a sequential series of steps such as 1) requirements definition 2) solution building 3) testing 4) deployment require defining and documenting a stable set of requirements at the beginning of a project. There are many different heavyweight methodologies like: Waterfall , Spiral Model , Unified Process

Page 2/18

LightWeight Methodology
Recognizes that plans are short-lived Develops software iteratively with a heavy emphasis on construction activities

Delivers multiple software increments


Adapts as changes occur Agile development is one of the lightWeight methodology

Page 3/18

Comparison of Agile and Heavyweight

Page 4/18

Agile Manifesto
In February 2001, 17 software developers met at a ski resort in Snowbird, Utah, to discuss lightweight development methods. They published the "Manifesto for Agile Software Development
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

Page 5/18

Twelve principles underlie the Agile Manifesto, including: Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development. Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Close, daily cooperation between businesspeople 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

Page 6/18

Characteristics

based on iterative and incremental development Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning Iterations are short time frames (timeboxes) that typically last from one to four weeks Each iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing Multiple iterations may be required to release a product or new features Team composition is usually cross-functional and self-organizing Team size is typically small (5-9 people) At the end of each iteration, stakeholders and the customer representative review progress and re-evaluate priorities with a view to company goals
Page 7/18

Agile methods
Well-known agile software development methods include: Agile Unified Process (AUP) Dynamic Systems Development Method (DSDM) Essential Unified Process (EssUP) Extreme Programming (XP) Feature DrivenDevelopment (FDD) Open Unified Process (OpenUP) Scrum Velocity tracking

Page 8/18

Extreme Programming (XP)


The idea is for Kent Beck(2000) XP team members spend few minutes on programming, few minutes on project management, few minutes on design, few minutes on feedback, and few minutes on team building many times each day The term extreme comes from taking these principles and practices to extreme levels Its base on 5 values: 1) Communication 2) Simplicity 3) Feedback 4) Courage 5) Respect
Page 9/18

Extreme Programming (XP)


Roles:
Programmer Customer Tester Tracker Coach Consultant Manager

Page 10/18

Extreme Programming (XP)


Life cycle of XP:
1) 2) 3) 4) 5) 6) Exploration Planning Iterations To Release Productionization Maintenance Death

Page 11/18

Extreme Programming (XP)

Extreme Programming (XP)


XP terms and practices:
Planning game Small releases Metaphor Simple design Refactoring Pair programming Collective Ownership Continuous integration 40 hour week On-site customer Coding standards Testing

Extreme Programming (XP)


XP terms and practices:
Testing:
1) Unit tests

2) Acceptance tests

Page 14/18

Advantages

stakeholders and the customer representative are in communication with team all the time All the team is responsible for the quality of the product

Team working and face to face connection raise the quality


Simple plan for the software development

Page 15/18

Disadvantages
Minimum documentation Based on people(skilled) It doesnt have Standard plans for quality evaluation Lack of learning guidance for using this method

Page 16/18

Resources
http://www.wikipedia.org http://www.extremeprogramming.org http://www.agilemanifesto.org
A Comparison between Agile and Traditional Software Development Methodologies(M.A.Awad) ) (

Page 17/18

Thank You
Page 18/18

You might also like