Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.

Similar presentations


Presentation on theme: "Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی."— Presentation transcript:

1

2 Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی

3 Contents Advantage & disadvantage Agile methods Characteristics Methodologies Resources Agile Manifesto

4 Methodologies Software development methodologies HeavyWieght lightWeight Page 1/18

5 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

6 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

7 Comparison of Agile and Heavyweight Page 4/18

8 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

9 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

10 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

11 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

12 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  It’s base on 5 values: 1)Communication 2)Simplicity 3)Feedback 4)Courage 5)Respect Page 9/18

13 Extreme Programming (XP) Roles: Programmer Customer Tester Tracker Coach Consultant Manager Page 10/18

14 Extreme Programming (XP) Life cycle of XP: 1)Exploration 2)Planning 3)Iterations To Release 4)Productionization 5)Maintenance 6)Death Page 11/18

15 Extreme Programming (XP)

16 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)

17 Testing: 1)Unit tests 2)Acceptance tests XP terms and practices: Page 14/18

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

19 Disadvantages  Minimum documentation  Based on people(skilled)  It doesn’t have Standard plans for quality evaluation  Lack of learning guidance for using this method Page 16/18

20 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

21 Thank You Page 18/18


Download ppt "Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی."

Similar presentations


Ads by Google