21

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

Embed Size (px)

Citation preview

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

Agile Software Development

کاری از:مهدی هوشان

استاد راهنما:استاد آدابی

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

Contents

Advantage & disadvantage

Agile methods

Characteristics

Methodologies

Resources

Agile Manifesto

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

Methodologies

Software development methodologies

HeavyWieght

lightWeight

Page 1/18

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

HeavyWeight Methodology

They are based on a sequential series of steps such as1) 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

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

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

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

Comparison of Agile and Heavyweight

Page 4/18

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

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

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

Twelve principles underlie the Agile Manifesto, including:

Customer satisfaction by rapid delivery of useful softwareWelcome changing requirements, even late in development.Working software is delivered frequently (weeks rather than months)Working software is the principal measure of progressSustainable development, able to maintain a constant paceClose, daily cooperation between businesspeople and developersFace-to-face conversation is the best form of communication (co-location)Projects are built around motivated individuals, who should be trustedContinuous attention to technical excellence and good designSimplicitySelf-organizing teamsRegular adaptation to changing circumstancesPage

6/18

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

Characteristics

based on iterative and incremental developmentAgile methods break tasks into small increments with minimal planning, and do not directly involve long-term planningIterations are short time frames (timeboxes) that typically last from one to four weeksEach iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testingMultiple iterations may be required to release a product or new featuresTeam composition is usually cross-functional and self-organizingTeam 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

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

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)ScrumVelocity tracking

Page 8/18

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

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 levelsIt’s base on 5 values:1) Communication 2) Simplicity3) Feedback4) Courage5) Respect

Page 9/18

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

Extreme Programming (XP)Roles:

•Programmer•Customer•Tester•Tracker•Coach•Consultant•Manager

Page 10/18

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

Extreme Programming (XP)

Life cycle of XP:

1) Exploration2) Planning3) Iterations To Release4) Productionization5) Maintenance6) Death

Page 11/18

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

Extreme Programming (XP)

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

XP terms and practices:

Planning gameSmall releasesMetaphorSimple designRefactoringPair programmingCollective OwnershipContinuous integration40 hour weekOn-site customerCoding standardsTesting

Extreme Programming (XP)

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

Extreme Programming (XP)

Testing:

1) Unit tests

2) Acceptance tests

XP terms and practices:

Page 14/18

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

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

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

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

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

Resources

http://www.wikipedia.orghttp://www.extremeprogramming.orghttp://www.agilemanifesto.orgA Comparison between Agile and Traditional Software Development Methodologies(M.A.Awad)) ( شریفلو عزیم امیر چابک افزار نرم معماری

Page 17/18

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

Thank You

Page 18/18