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

Slides:



Advertisements
Similar presentations
Applying Agile Methodologies to Traditional Publishing Kristen McLean Bookigee, Inc. February 12 th, 2011.
Advertisements

SDLC – Beyond the Waterfall
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
3 Traditional Development Methods Of (SDLC) -Prototype -Waterfall -Agile Group9 Q2 Heng shujia 0823.
Agile development By Sam Chamberlain. First a bit of history..
Agile
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Software Development Matt Rice November 27, 2006.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Software engineering Process models Pavel Agejkin.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Rally: One Writer’s Perspective. Background 28 years in technical communications including Symantec, Autodesk, and Cisco. Participated in Rally-based.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Chapter 5 애자일 개발 Agile Development
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
CS3100 Software Project Management Agile Approaches.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Chapter 3 Agile Development
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Agile Project Management and the yin & yang of
Agile Methodology and Scrum
Introduction to Agile Software Development
Principles for Agile Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Software Development
Rapid software development
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
How to Successfully Implement an Agile Project
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
The Agile Manifesto is based on 12 principles
Agile and XP Development
Agile and XP Development
Agile and XP Development
Introduction to Agile Blue Ocean Workshops.
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Introduction to XP.
Agile software development
Agile Development.
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

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

Contents Advantage & disadvantage Agile methods Characteristics Methodologies Resources Agile Manifesto

Methodologies Software development methodologies HeavyWieght 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  It’s 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)Exploration 2)Planning 3)Iterations To Release 4)Productionization 5)Maintenance 6)Death Page 11/18

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)

Testing: 1)Unit tests 2)Acceptance tests XP terms and practices: 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 doesn’t have Standard plans for quality evaluation  Lack of learning guidance for using this method Page 16/18

Resources     A Comparison between Agile and Traditional Software Development Methodologies(M.A.Awad)  معماری نرم افزار چابک ( امیر عزیم شریفلو ) Page 17/18

Thank You Page 18/18