Скачать презентацию IS 553 Advanced Systems Development Practices James Nowotarski Скачать презентацию IS 553 Advanced Systems Development Practices James Nowotarski

5babcf0788bdad8f8994c9b1397d98de.ppt

  • Количество слайдов: 43

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

Course Map Underpinnings. Introduction. Essentials Week 1 2 3 4 5 6 7 8 Course Map Underpinnings. Introduction. Essentials Week 1 2 3 4 5 6 7 8 9 10 Content. Rational Unified Process. Agile Implementation. Metrics. CMM. Distributed development. Tools & training Briefings (Term Papers) Assignments Quizzes (RUP) (Agile) (CMM) (Distr. Dev. ) 11

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

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

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

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

Agile/Lightweight Methods ¢ On February 11 -12, 2001 seventeen proponents met at Snowbird ski 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: l l Individuals and interactions Working software over Customer collaboration over Responding to change over processes and tools comprehensive documentation contract negotiation following a plan”

Agile/Lightweight Methods Approach References XP www. extremeprogramming. org www. xprogramming. com M. Marchesi et Agile/Lightweight Methods Approach References XP www. extremeprogramming. org www. xprogramming. com M. Marchesi et al, Extreme Programming Perspectives, Addison-Wesley, 2002. Crystal A. Cockburn, Agile Software Development, Addison-Wesley, 2001 SCRUM K. Schwaber and M. Beedle, Agile Software Development with Scrum, Prentice Hall, 2001. Adaptive Software Development J. Highsmith, Adaptive Software Development, Dorset House, 2000. FDD S. Palmer, A Practical Guide to Feature-Driven Development, Prentice Hall, 2002. Agile - General http: //www. agilealliance. org/home http: //www. agilemodeling. com

XP Background ¢ ¢ ¢ Developed by Kent Beck and Ward Cunningham Based on 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 C 3 Payroll Project at Chrysler l l 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

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

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

Phase boundaries in waterfall are activities e s System requirements a Ph e Software Phase boundaries in waterfall are activities e s System requirements a Ph e Software requirements s ha P se a Ph Analysis e as h P Program design se ha P e as h Coding P Testing Operations

Phase boundaries in RUP are milestones System requirements RU P Software requirements Ph as Phase boundaries in RUP are milestones System requirements RU P Software requirements Ph as Analysis e Program design Milestone Coding Testing Operations

XP winds the RUP model more tightly System requirements Ea c Software requirements h XP winds the RUP model more tightly System requirements Ea c Software requirements h da Analysis yo n Program design an XP Functioning Code Coding pr oj ec t Testing Operations

Anatomy of XP Planning Terminology Release consists of Iteration consists of Story is produced Anatomy of XP Planning Terminology Release consists of Iteration consists of Story is produced by Activity

What is XP First Principles ¢ ¢ ¢ What is XP First Principles ¢ ¢ ¢

What is XP Rapid Feedback ¢ ¢ “Don’t ask me, ask the system” “Have What is XP Rapid Feedback ¢ ¢ “Don’t ask me, ask the system” “Have you written a test case for that yet” Put in production as soon as possible l 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

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

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

What is XP Cost of change XP purports to change the curve so that What is XP 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 Time

What is XP Incremental Change Version 1 A D I Version 2 A D What is XP Incremental Change Version 1 A D I Version 2 A D I Version 3 A D I

What is XP Quality Work ¢ Quality is assumed Excellent, or l Insanely excellent What is XP Quality Work ¢ Quality is assumed Excellent, or l Insanely excellent l

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

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

What is XP Begin with the end in mind. . . Start design with What is XP Begin with the end in mind. . . 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 ¢

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

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

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

XP vs. Heavyweight: What’s the Same ¢ XP vs. Heavyweight: What’s the Same ¢

XP vs. Heavyweight: What’s Different ¢ XP vs. Heavyweight: What’s Different ¢

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

Planning XP Question: How Long Do Your Iterations Last? Choices Votes Percent < 1 Planning XP Question: How Long Do Your Iterations Last? Choices Votes Percent < 1 week 0 0% 1 week 7 19% 2 weeks 14 38% 3 weeks 12 32% 4 weeks 3 8% 1 month 1 3% > 1 month 0 0% Source: www. egroups. com/group/extremeprogramming

When to Use XP ¢ When to Use XP ¢

When Not to Use XP ¢ When Not to Use XP ¢

Quiz 2 Recap Quiz 2 Recap

Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes Today’s Agenda Topic Duration ¢ Assignment 2 Recap ¢ Agile/XP *** Break 15 minutes 45 minutes 15 minutes ¢ Current Event Reports 15 minutes ¢ Agile/XP (cont. ) 60 minutes ¢ Term Paper 15 minutes

Term Paper Summary: A briefing on a significant, currently relevant software development methodology, process-related 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

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

Term Paper Outline: 1. Abstract 2. Historical Background 3. Description • Philosophy/Principles • Components Term 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

Topics for May 4 Topics for May 4