Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
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
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Alternate Software Development Methodologies
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile
Extreme Programming Collaboration in Software Development Process.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
COMP 350: Object Oriented Analysis and Design Lecture 2
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
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.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Agile
Software Engineering Modern Approaches
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
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.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Agile
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 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
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.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Chapter 3 Agile Development
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
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.
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.
Agile
Rapid software development
What do you need to know about XP?
Agile Process: Overview
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.
Introduction to XP.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Agile

Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP) 1

2 WaterfallSpiralAgile Emphasizes:-Simplicity -Traceability -Risk management -Exploring alternatives -Flexibility -Immediacy Weakness:Requirement/design mistakes can be costly Exploring alternatives can be costly Continual rework can be costly Style:-Highly controlled -High ceremony -Moderately controlled -Moderate ceremony -Rapid & organic -Low ceremony Some definitions -“traceability”: relationships between requirements and system elements are documented -“immediacy”: getting some sort of working system to the customer as fast as possible -“rework”: redesigning the architecture and/or refactoring the program code -“controlled”: conformance to process is highly valued, even if it slows a project down -“ceremony”: how much analysis, documentation, and planning is involved

When to choose what Waterfall: good for smaller systems where requirements can be fully understood before design and implementation Spiral: good for larger systems with vague requirements and many alternatives for designing and coding Agile: good for systems where you can rapidly create something very small but useful and then expand from there 3

Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 4

Agile Processes 5 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests

Iterations Purpose Iterative gives you a few “oh drat”s instead of one OMG at the end. Timing Scrum: 1 month XP: 1-2 weeks Grouping Iterations can be grouped into releases Not ever iteration results in a new release Sub-dividing Each iteration has “micro-iterations” 6

Principles of DSDM (Dynamic Systems Development Method) Active user involvement is imperative The team must be empowered to make decisions Fitness for business purpose is the essential criterion for accepting deliverables Requirements are specified at a high level Focus on frequent delivery of products 7

Principles of DSDM (cont..) Iterative and incremental development necessary to converge on a solution All changes during development are reversible Testing is integrated throughout life cycle Collaboration and cooperation is essential 8

Key Practices of DSDM Ambassador users and facilitated workshops Users on-call and users en-masse (respectively) Stages of iterations: Pre-project exploratory phase (kick around ideas) Feasibility study (explore if ideas are doable) Business study (explore if ideas worth doing) Model, design, implement (a “timebox” of work) Post-project phase (what went well and what didn’t?) 9

Principles of XP (Extreme Programming) Communication- It’s good to talk with customer and between developers Simplicity- Keep it simple and grow the system (and models) when required Feedback- Let users provide feedback early and often Courage- Speak the truth, with respect 10

Practices of XP Whole team Metaphor The planning game Simple design Small releases Customer tests Pair programming Test-driven development Design improvement Collective code ownership Continuous integration Sustainable pace Coding standards 11

Practices of XP Whole team- Customer is part of team Metaphor- Design around a coherent idea The planning game- Be realistic re: meeting customer needs Simple design- Simple models, architecture, code 12

Practices of XP Small releases- Meet customer needs in small increments Customer tests- Customer participates in testing Pair programming- All code written with “co-pilot” Test-driven development- Write tests first, then code 13

Practices of XP Design improvement- Refactor only as needed Collective code ownership- Anyone can modify any code Continuous integration- Regularly check if system on track Sustainable pace- No all-nighters, no superheroes Coding standards- Pick a format, use it, move on 14

Agile Processes 15 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests

Agile Processes 16 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests collect user stories

Agile Processes 17 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests divide stories into tasks estimate effort

Agile Processes 18 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests customer selects stories allocate work among team

Agile Processes 19 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests write unit tests

Agile Processes 20 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests write and refactor code

Agile Processes 21 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests customer tests system

Agile Processes 22 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests customer uses system

Agile Processes 23 Customer provides short requirements System and acceptance tests evaluate & control risk Prioritize requirements and plan Implement Operation Write/run/modify unit tests collect user stories divide stories into tasks estimate effort customer selects stories allocate work among team write unit tests write and refactor code customer tests system customer uses system

Concerns About XP Constant refactoring can be expensive Pair programming can take extra effort XP is not very standardized Programmers don’t always specialize 24

Lessons from DSDM and XP Learn from: Users (DSDM) Customers (XP) Design based on: Business value (DSDM) Customer direction (XP) Requirements should be: High-level (DSDM) Succinct (XP) 25

Next Steps.. HW #4 (Design) due Friday!! Vision statement peer review next Tuesday!! Bring hard copy of rough draft Don’t forget your midterm!! Due 11/25 26