Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "James Nowotarski 27 April 2004 IS 553 Advanced Systems Development Practices."— Presentation transcript:

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

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

3 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 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 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 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 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 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 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 10 ApproachReferences XPwww.extremeprogramming.org www.xprogramming.com M. Marchesi et al, Extreme Programming Perspectives, Addison-Wesley, 2002. CrystalA. Cockburn, Agile Software Development, Addison-Wesley, 2001 SCRUMK. Schwaber and M. Beedle, Agile Software Development with Scrum, Prentice Hall, 2001. Adaptive Software Development J. Highsmith, Adaptive Software Development, Dorset House, 2000. FDDS. Palmer, A Practical Guide to Feature-Driven Development, Prentice Hall, 2002. Agile - Generalhttp://www.agilealliance.org/home http://www.agilemodeling.com Agile/Lightweight Methods

11 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 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 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 14 Phase boundaries in waterfall are activities System requirements Software requirements Analysis Program design Coding Testing Operations Phase

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

16 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 17 Anatomy of XP Planning Terminology Release Iteration StoryActivity consists of is produced by

18 18 What is XP First Principles

19 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 20 What is XP “What is the simplest thing that could possibly work?” Flattened change curve Assume Simplicity Embrace Change

21 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 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 23 ADI Version 1 ADI Version 2 ADI Version 3 What is XP Incremental Change

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

25 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 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 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 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 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 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 31 What is XP Faster Better quality Cheaper Reduced risk More likely to be followed than a heavyweight methodology More fun Benefits

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

33 33 XP vs. Heavyweight: What’s Different

34 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 35 Planning XP ChoicesVotesPercent < 1 week00% 1 week719% 2 weeks1438% 3 weeks1232% 4 weeks38% 1 month13% > 1 month00% Source: www.egroups.com/group/extremeprogramming Question: How Long Do Your Iterations Last?

36 36 When to Use XP

37 37 When Not to Use XP

38 38 Quiz 2 Recap

39 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 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 41 Term Paper Processes/ Frameworks/Standards Business/ Technology Trends Quality/Metrics/ Project Management SCRUM Feature Driven Development Adaptive Software Development Crystal ISO 9000-3 ISO 15504-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 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 43 Topics for May 4


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

Similar presentations


Ads by Google