Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.