Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.

Slides:



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

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
SDLC – Beyond the Waterfall
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Agile Development.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Dynamic Systems Development Method (DSDM)
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Software Engineering Lecture No:12. Lecture # 7
An Agile View of Process
Software engineering Process models Pavel Agejkin.
Credits: Adopted from Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright Agile.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
Current Trends in Systems Develpment
Chapter 5 애자일 개발 Agile Development
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Chapter 3 Agile Development
1 Chapter 3: Lecture 3 Agile Development Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright.
Software Engineering (CSI 321) An Agile View of Process 1.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
1 Agile Development. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping others.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
1 The economies of ALL developed nations are dependent on software The economies of ALL developed nations are dependent on software More and more systems.
Agile Gintarė Bernotaitytė © 2013.
Software Engineering Principles I (Spring 2017)
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 4 & Chapter 5 Important Concepts
Chapter 3 An Agile view of process.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Development.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 5 Agile Development
Software Engineering (CSI 321)
Chapter 3 Agile Development
Agile Software Development
Chapter 3 Agile Development
Agile Software Processes
Agile Process: Overview
Chapter 3 Agile Development
Chapter 3 Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Chapter 3 Agile Development
Topic 1: Introduction to the Module and an Overview of Agile
Presentation transcript:

Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software n Agile development processes can deliver successful systems quickly n Agile development stresses continuous communication and collaboration among developers and customers

Manifesto for Agile Software Development n Better to value:  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan n While the items on the right are still important the items on the left are more valuable under this philosophy

What is “Agility”? n Rapid and adaptive response to change n Effective communication among all stakeholders n Drawing the customer onto the team n Organizing a team so that it is in control of the work performed Yielding … n Rapid, incremental delivery of software

Agile Teams n are responsive to changes during project development n recognize that project plans must be flexible n eliminates the separation between customers and developers

Agility n encourages team structures that make communication among developers and customers easier n emphasizes importance of rapid delivery of operational software and de-emphasizes importance of intermediate work products n can be applied to any software process as long as the project team is allowed to streamline tasks and conduct planning in way that eliminate non-essential work products

An Agile Process n Is driven by customer descriptions of what is required (scenarios) n Recognizes that plans are short-lived n Develops software iteratively with a heavy emphasis on implementation n Delivers multiple ‘software increments’ n Adapts as changes occur

Human Factors n Traits that need to exist in members of agile development teams:  Competence  Common focus  Collaboration  Decision-making ability  Fuzzy-problem solving ability  Mutual trust and respect  Self-organization

Agile Process Models n Extreme Programming (XP) n Adaptive Software Development (ASD) n Dynamic Systems Development Method (DSDM) n Scrum n Crystal n Feature Driven Development (FDD) n Agile Modeling (AM)

Extreme Programming (XP) n The most widely used agile process, originally proposed by Kent Beck n XP Planning  Begins with the creation of “user stories”  Agile team assesses each story and assigns a cost  Stories are grouped to for a deliverable increment  A commitment is made on delivery date  After the first increment “project velocity” is used to help define subsequent delivery dates for other increments

Adaptive Software Development (ASD) n Self-organization arises when independent agents cooperate to create a solution to a problem that is beyond the capability of any individual agent n Adaptive cycle characteristics  Mission-driven planning  Component-based focus  Uses “time-boxing”  Explicit consideration of risks  Emphasizes collaboration for requirements gathering  Emphasizes “learning”

Dynamic Systems Development Method n Provides a framework for building and maintaining systems which meet tight time constraints using incremental prototyping in a controlled environment n Uses Pareto principle (80% of project can be delivered in 20% time required to deliver the entire project) n Each increment only delivers enough functionality to move to the next increment

Dynamic Systems Development Method n Guiding principles  Active user involvement  Teams empowered to make decisions  Fitness for business purpose is criterion for deliverable acceptance  Iterative and incremental development needed to converge on accurate business solution  All changes made during development are reversible  Requirements are baselined at a high level  Testing throughout life-cycle

Agile Modeling n Practice-based methodology for effective modeling and documentation of software systems in a light-weight manner n Modeling principles  Model with a purpose  Use multiple models  Travel light (only keep models with long-term value)  Content is more important than representation  Know the models and tools you use to create them  Adapt locally