Presentation is loading. Please wait.

Presentation is loading. Please wait.

SE 470 Software Development Processes James Nowotarski 28 April 2003.

Similar presentations


Presentation on theme: "SE 470 Software Development Processes James Nowotarski 28 April 2003."— Presentation transcript:

1 SE 470 Software Development Processes James Nowotarski 28 April 2003

2 Course Map Overview. Introduction. History Content. Rational Unified Process. Extreme Programming Implementation. Tools, Training, Roles. CMM, Metrics. Selection & Evaluation Briefings (Term Papers) 1234678910115 Assignments Quizzes Week Memorial Day

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

4 Topic Duration Quiz 2 and Assignment 1 Recap10 minutes Lightweight Methods30 minutes Extreme Programming45 minutes *** Break10 minutes Assignment 5 reports15 minutes Extreme Programming (cont.)60 minutes Term Project15 minutes Today’s agenda

5 Topic Duration Quiz 2 and Assignment 1 Recap10 minutes Lightweight Methods30 minutes Extreme Programming45 minutes *** Break10 minutes Assignment 5 reports15 minutes Extreme Programming (cont.)60 minutes Term Project15 minutes Today’s agenda

6 Rational Unified Process

7 Assignment 1 Recap

8 Topic Duration Assignment 1 Recap10 minutes Lightweight Methods30 minutes Extreme Programming45 minutes *** Break10 minutes Assignment 5 reports15 minutes Extreme Programming (cont.)60 minutes Term Project15 minutes Today’s agenda

9 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

10 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

11 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”

12 ApproachReferences XPwww.extremeprogramming.org www.xprogramming.com 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 Lightweight Methods

13 Topic Duration Quiz 2 and Assignment 1 Recap10 minutes Lightweight Methods30 minutes Extreme Programming45 minutes *** Break10 minutes Assignment 5 reports15 minutes Extreme Programming (cont.)60 minutes Term Project15 minutes Today’s agenda

14 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

15 What is XP Rapid feedback Assume simplicity Incremental change Embrace change Quality work First Principles

16 What is XP Pair programming Test all the time –unit testing –functional testing –continuous integration Short iterations, small releases –2 month releases, 2 week iterations Incremental planning (learning to drive) Customer on-site as integral part of team Do simplest thing that could possibly work Key Features

17 What is XP 40-hour week Coding standards Refactoring and evolutionary design Metaphor to aid in understanding the architecture Only highest priority tasks are worked Collective ownership Key Features

18 What is XP Life cycle phase Cost of change Req Anal.Des. Impl.Test Prod y = ax p

19 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

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

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

22 When to Use XP Small to medium sized teams Vague or rapidly changing requirements 2-10 programmers Responsible and motivated developers Not sharply constrained by existing computing environment A reasonable job of executing tests can be done in a fraction of a day Customer who understands and will get involved

23 When Not to Use Culture –Pointing the car –Big specification –Long hours 20 or more programmers –though projects are emerging with up to 50 developers More than 15 months’ duration More than 50K source lines of code (SLOC) Fixed price contracts Technology barriers –Exponential cost curve –Long time needed to get feedback Geographic separation Architecture not well established Developers are low quality and motivation

24 What’s the Same

25 What’s Different

26 RUP vs. XP AttributeRUP (“Heavyweight”)XP (“Lightweight”) Time and Effort Allocation 2 weeks-6 months2 weeks - 2 months ArchitectureStabilized during Elaboration phase Just enough to support functionality Scope of Activities and Artifacts BroadNarrow Omits: Business modeling Deployment Project sizeSmall to Very LargeSmall to Medium Artifacts25-30 in small project roadmap roughly 30 Roles~ 30 (5 in small project roadmap) 7

27 Assignment 1 Recap

28 Topic Duration Quiz 2 and Assignment 1 Recap10 minutes Lightweight Methods30 minutes Extreme Programming45 minutes *** Break10 minutes Assignment 5 reports15 minutes Extreme Programming (cont.)60 minutes Term Project15 minutes Today’s agenda

29 Term Paper Summary: A briefing on a significant, currently relevant software development methodology or process-related framework not covered in class Deliverables: Paper Presentation and Discussion (30 minutes) Topic Ideas: SCRUM Feature Driven Development Adaptive Software Development Crystal SEI Team Software Process SEI Personal Software Process

30 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 Need to interview a practitioner and/or faculty member

31 Kruchten, Chapter 17 Quiz #3 –XP –Implementing Methodology Topics for May 5

32 Extra Slides

33 Anatomy of Terminology Product Development Cycle Phase Iteration Workflow Activity Step ThinkingPerforming Reviewing Artifact Worker/Role


Download ppt "SE 470 Software Development Processes James Nowotarski 28 April 2003."

Similar presentations


Ads by Google