Download presentation
Presentation is loading. Please wait.
Published byTyrell Woodby Modified over 10 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.