Software Engineering Lecture No:12. Lecture # 7

Slides:



Advertisements
Similar presentations
Chapter: 3 Agile Development
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Agile Development : an introduction
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
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)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
03/12/2001 © Bennett, McRobb and Farmer Managing Object-Oriented Projects—DSDM and XP Based on Chapter 21 of Bennett, McRobb and Farmer: Object.
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:
Chapter 3 CS435: Introduction to Software Engineering Dr. M. Zhu
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.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2, 3, &4 Process copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter-3 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.
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.
Current Trends in Systems Develpment
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
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.
Software Engineering Lecture 7 Lecture # 7 Agile Software Development Fahim Khan Assistant Professor of Computer Science UOL, Sargodha
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
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)
Chapter 3 Agile Development
44222: Information Systems 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.
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
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.
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 3 An Agile view of process.
Introduction to Agile Software Development
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)
Agile Software Development
Chapter 3 Agile Development
How to Successfully Implement an Agile Project
Chapter 3 Agile Development
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 CS435: Introduction to Software Engineering Dr. M. Zhu
Chapter 3 CS435: Introduction to Software Engineering
Chapter 3 Agile Development
Presentation transcript:

Software Engineering Lecture No:12. Lecture # 7 Agile Software Development Fahim Khan Assistant Professor of Computer Science UOL, Sargodha fahim.khan@iiu.edu.pk

XP Testing All unit tests are executed daily and ideally should be automated. Regression tests are conducted to test current and previous components. “Acceptance tests” are defined by the customer and executed to assess customer visible functionality

The XP Debate Requirements volatility: customer is an active member of XP team, changes to requirements are requested informally and frequently. Conflicting customer needs: different customers' needs need to be assimilated. Different vision or beyond their authority. Requirements are expressed informally: Use stories and acceptance tests are the only explicit manifestation of requirements. Formal models may avoid inconsistencies and errors before the system is built. Proponents said changing nature makes such models obsolete as soon as they are developed. Lack of formal design: XP deemphasizes the need for architectural design. Complex systems need overall structure to exhibit quality and maintainability. Proponents said incremental nature limits complexity as simplicity is a core value.

Adaptive Software Development (ASD) Originally proposed by Jim Highsmith (2000)focusing on human collaboration and team self-organization as a technique to build complex software and system. ASD - distinguishing features: Mission-driven planning Component-based focus Uses “time-boxing” Explicit consideration of risks Emphasizes collaboration for requirements gathering Emphasizes “learning” throughout the process. ASD have three phase.

Speculation: When the project is initiated then an adaptive cycle planning is conducted. Adaptive cycle planning uses project initiation information, the customer’s mission statement, project constraints (e.g. delivery date), and basic requirements to define the set of release cycles (increments) that will be required for the project. Based on the information obtained at the completion of the first cycle, the plan is reviewed and adjusted so that planned work better fits the reality.

Collaborations Motivate peoples to use Collaborations in a way that multiples their talent and creative output beyond absolute number (1+1>2). It encompasses communication and teamwork, but it also emphasizes individualism, because individual creativity plays an important role in collaborative thinking. People work together must trust one another to: 1) criticize without animosity, 2) assist without resentments, 3) work as hard as or harder than they do, 4) have the skill set to contribute to the work at hand, 5) communicate problems or concerns in a way that leads to effective action.

Learning As members of ASD team begin to develop the components, the emphasis is on “learning”, as much as it is on progress towards a complete cycle. Highsmith argues that software developers often overestimate their own understanding of the technology, the process, and the project and that learning will help them to improve their level of real understanding. Three ways: focus groups, technical reviews and project postmortems..

Adaptive Software Development

Dynamic Systems Development Method It is an agile software development approach that provides a framework for building and maintaining systems which meet tight time constraints through the use of incremental prototyping in a controlled project environment. Promoted by the DSDM Consortium (www.dsdm.org). DSDM—distinguishing features Similar in most respects to XP and/or ASD Nine guiding principles Active user involvement is imperative. DSDM teams must be empowered to make decisions. The focus is on frequent delivery of products. Fitness for business purpose is the essential criterion for acceptance of deliverables. Iterative and incremental development is necessary to converge on an accurate business solution. All changes during development are reversible. Requirements are baseline at a high level Testing is integrated throughout the life-cycle.

Dynamic Systems Development Method DSDM Life Cycle (with permission of the DSDM consortium)

Feature Driven Development Originally proposed by Peter Coad et al as a object-oriented software engineering process model. FDD—distinguishing features Emphasis is on defining “features” which can be organized hierarchically. a feature “is a client-valued function that can be implemented in two weeks or less.” Uses a feature template <action> the <result> <by | for | of | to> a(n) <object> E.g. Add the product to shopping cart. Display the technical-specifications of the product. Store the shipping-information for the customer. A features list is created and “plan by feature” is conducted. Design and construction merge in FDD

Feature Driven Development

Quiz number 2 What are the problems with agile methods. State the main difference between conventional software engineering development and agile development?

Describe in detail Scrum, which is an agile software method. Assignment 2 Describe in detail Scrum, which is an agile software method.