James Nowotarski 27 April 2004 IS 553 Advanced Systems Development Practices.

Slides:



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

A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Software Life Cycles ECE 417/617: Elements of Software Engineering
James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.
SE 470 Software Development Processes James Nowotarski 2 June 2003.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Agile Methodology: The New Wave in Software Development By Patricia Cleary Thesis Hypothesis: The agile methodologies are better than the current methodology.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Agile Software Development Matt Rice November 27, 2006.
James Nowotarski 19 September 2006 SE 325/425 Principles and Practices of Software Engineering Autumn 2006.
SE 470 Software Development Processes James Nowotarski 05 May 2003.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Agile Software Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
James Nowotarski 04 May 2004 IS 553 Advanced Systems Development Practices.
SE 470 Software Development Processes James Nowotarski 28 April 2003.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
An Agile View of Process
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering Modern Approaches
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
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.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha.
James Nowotarski 11 September 2008 SE 425 Principles and Practices of Software Engineering Autumn 2008.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming David Li CTO, DigitalSesame. Problem in Developing Software The Basic Problem - Risk –Schedule slips –Project canceled –System goes.
Extreme Programming and Systems Engineering Similarities and Synergy (based on talk given to INCOSE New England Chapter) Joseph (Yossi) Weihs Sept 10 th,
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 3 Agile Development
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
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.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
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.
Manifesto for Agile Software Development
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
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.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Waterfall and Agile Quality Techniques
Agile Development Agile Development Damian Gordon Damian Gordon.
Agile and XP Development
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: Agile Software Processes
Coming up: What is Agile?
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Appendix B Agile Methodologies
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

James Nowotarski 27 April 2004 IS 553 Advanced Systems Development Practices

2 Course Map Underpinnings. Introduction. Essentials Content. Rational Unified Process. Agile Implementation. Metrics. CMM. Distributed development. Tools & training Briefings (Term Papers) Assignments Quizzes Week (RUP)(Agile)(CMM) (Distr. Dev.)

3 Background on Agile Methods Understand basics of Extreme Programming Guiding Principles Benefits What’s Different Applicability Track Record Key Players & Products References Today’s Objectives

4 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

5 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

6 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

7 Agile/Lightweight Methods Just enough process Emphasis on the people on the team Embrace change (adaptive/agile vs. predictive) Frequent testing Frequent releases Much less documentation Key Principles

8 Agile/Lightweight Methods Extreme Programming (XP) (Kent Beck) Crystal (Alistair Cockburn) Adaptive Software Development (Jim Highsmith) SCRUM (Ken Schwaber) Feature Driven Development (Peter Coad, Ken DeLuca, Steve Palmer) Several methodologies fit under this lightweight banner

9 Agile/Lightweight Methods On February 11-12, 2001 seventeen proponents met at Snowbird ski resort and what emerged was the: Agile “Software Development” Alliance “We have come to value: Individuals and interactionsoverprocesses and tools Working software overcomprehensive documentation Customer collaborationovercontract negotiation Responding to changeoverfollowing a plan”

10 ApproachReferences XPwww.extremeprogramming.org M. Marchesi et al, Extreme Programming Perspectives, Addison-Wesley, CrystalA. Cockburn, Agile Software Development, Addison-Wesley, 2001 SCRUMK. Schwaber and M. Beedle, Agile Software Development with Scrum, Prentice Hall, Adaptive Software Development J. Highsmith, Adaptive Software Development, Dorset House, FDDS. Palmer, A Practical Guide to Feature-Driven Development, Prentice Hall, Agile - Generalhttp:// Agile/Lightweight Methods

11 XP Background Developed by Kent Beck and Ward Cunningham Based on Beck and Ward’s experiences developing Smalltalk software at Tektronix First large project was the C3 Payroll Project at Chrysler 1993 project started with Business Modeling 1994 development begun with a small 40 person consulting firm & Smalltalk 1995 performance problems - Kent Beck brought in to improve quality 1996 Kent Beck took over project and began implementing project in a new method that we now call Extreme Programming

12 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

13 XP Conceptual Framework Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Practices ____________ ______________

14 Phase boundaries in waterfall are activities System requirements Software requirements Analysis Program design Coding Testing Operations Phase

15 Phase boundaries in RUP are milestones System requirements Software requirements Analysis Program design Coding Testing Operations RUP Phase Milestone

16 XP winds the RUP model more tightly System requirements Software requirements Analysis Program design Coding Testing Operations Each day on an XP project Functioning Code

17 Anatomy of XP Planning Terminology Release Iteration StoryActivity consists of is produced by

18 What is XP First Principles

19 What is XP “Don’t ask me, ask the system” “Have you written a test case for that yet” Put in production as soon as possible i.e., don’t “shelter” your code “Without this first pass, the project manager is at the mercy of human judgment. With this first-pass ‘simulation,’ he can at least perform experimental tests of some key hypotheses and scope down what remains for human judgment, which in the case of computer program design... is invariably and seriously optimistic” – Royce, 1970 Rapid Feedback

20 What is XP “What is the simplest thing that could possibly work?” Flattened change curve Assume Simplicity Embrace Change

21 What is XP Life cycle phase Cost of change Req Anal.Des. Impl.Test Prod y = ax p RUP – “In general, as the project progresses, you should be more careful about introducing change”

22 What is XP Time Cost of change XP purports to change the curve so that the cost to find and repair software problems does not rise dramatically over time

23 ADI Version 1 ADI Version 2 ADI Version 3 What is XP Incremental Change

24 What is XP Quality is assumed Excellent, or Insanely excellent Quality Work

25 What is XP Test all the time Continuous integration Pair programming Coding standards Collective ownership Do simplest thing that will work today “design tomorrow for tomorrow’s problems” Metaphor to aid in understanding the architecture Refactoring and evolutionary design Key Practices/Features

26 What is XP Customer on-site as integral part of team Incremental planning learning to drive programmers provide estimates Short iterations, small releases 2 month releases, 2 week iterations 40-hour week Key Practices/Features (cont.)

27 What is XP Start design with a test Start coding with a test Test things that might break Testing is isolated Testing is integrated Testing is automated At least one dedicated tester Begin with the end in mind...

28 “Cruft is not allowed to accumulate” Definition An unpleasant substance, e.g., the dust that accumulates under your bed Results of shoddy construction Excess, superfluous junk, e.g., redundant or superseded code Which XP practice(s) does this pertain to?

29 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

30 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

31 What is XP Faster Better quality Cheaper Reduced risk More likely to be followed than a heavyweight methodology More fun Benefits

32 XP vs. Heavyweight: What’s the Same

33 XP vs. Heavyweight: What’s Different

34 Anatomy of XP Planning Terminology Release Iteration StoryActivity consists of is produced by 1-6 months 1-3 weeks 1 day – 2 weeks

35 Planning XP ChoicesVotesPercent < 1 week00% 1 week719% 2 weeks1438% 3 weeks1232% 4 weeks38% 1 month13% > 1 month00% Source: Question: How Long Do Your Iterations Last?

36 When to Use XP

37 When Not to Use XP

38 Quiz 2 Recap

39 Topic Duration Assignment 2 Recap15 minutes Agile/XP45 minutes *** Break15 minutes Current Event Reports15 minutes Agile/XP (cont.)60 minutes Term Paper15 minutes Today’s Agenda

40 Term Paper Summary: A briefing on a significant, currently relevant software development methodology, process-related framework, or business/technology trend and its impact on systems development Deliverables: Assignment 3 (due May 4) Title Abstract Reference Presentation and Discussion (20 minutes max) Pick date: June 1 or June 8 DL Students: Use Impatica Term Paper (due June 8) Development Process: Individual OR in pairs

41 Term Paper Processes/ Frameworks/Standards Business/ Technology Trends Quality/Metrics/ Project Management SCRUM Feature Driven Development Adaptive Software Development Crystal ISO ISO SPICE SEI's Team Software Process SEI's Personal Software Process Web services Collaboration tools Wireless/Mobile systems development Embedded software development RFID Outsourcing/Offshore Security Build vs. Buy vs. Open Source Function points Six Sigma Quality function deployment Testing approaches Project offices Project management tools Project portfolio management tools Potential Topics

42 Term Paper Paper Outline: 1.Abstract 2.Historical Background 3.Description Philosophy/Principles Components Benefits 4.Usage Guidelines When to use/avoid Success factors/Challenges 5.Marketplace Analysis Key Players/Products/Gurus Market data/forecasts 6.References Books, articles, web sites Extra credit: Interview a practitioner and/or faculty member

43 Topics for May 4