DOC PREVIEW
ODU CS 350 - Lecture Notes

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1CS 350, slide set 12M. OverstreetOld Dominion UniversityFall 2005Final Exam Comprehensive Take-home part & in-class part Final is 8:30 - 11:30, Tuesday, Dec. 13 Take-home due at start of in-class finalRefs 1. http://www.agilealliance.org Agile alliance manifesto:• Individuals and interactions over processes andtools• Working software over comprehensivedocumentation• Customer collaboration over contract negotiation• Responding to change over following a plan XP series of books from Addison-Wesley McBreen: Questioning Extreme Programming2Topic: Views on ExtremeProgramming (XP) Loved by programmers Factor 6 improvement in productivity! No documentation needed: code isdocumentation If not, bad code. Recode. Glorifies “cowboy coders” Hackers paradise Sets software engineering back 30 years! I.e., lots of flame wars!Agile Programming Small agile team – 5 to 10 Dominated by people with extensive project experience Can only tolerate a few inexperienced enthusiasticbeginners Regular delivery schedule – incremental systemdelivered to customer every few weeks Customer co-located with development team Customer decides what to include in nextincrement “Must have,” “should have,” “can have” With advice from team (feasibility, difficulty)XP & CMM Characterizations - 1 In 60’s, big software systems werereplacing existing manual systems What was needed was pretty wellunderstood Today’s systems (web apps, e.g.)are fundamentally different. Requirements cannot be known at start3CMM & XP characterizations – 2(as seen by XP advocates) CMM designed by managers Addresses management needs Traditional SE processes minimize risk of makingmistakes even at cost of making proceed at glacial pace CMM is based on fear: Don’t let what happened on last project happen on thisone Need reviews, approvals, committees, forms to avoidproblems XP designed by programmers Based on Smalltalk development systems• Programming env. developed at Xerox Parc• Apple stole interface from Xerox for Lisa (before Mac)• Windows stole interface from Apple. Apple sued. & lost Addresses programmer needsHow to decide what’sbetter? Fact: Hawthorne Effect (Western Elec. plant inChicago, 1930’s) Beginning of industrial engineering Goal: improve worker productivity• Increase light levels: prod. up• Give rest breaks: prod. up• Decrease light levers: prod. up• Decrease again: prod. up• Put light levels back to original: prod. up What’s going on? Expectations effect results? Excitement of participating in a study? Knowing people are watching? Makes medical experimentation more difficult!Perceived problem: change expensive,get it right the first time Do exhaustive analysis; build system so that allforeseeable changes made with configurationchanges Smalltalk problem: programmers tended to build awonderful environment for developing a product ratherthan developing a product. Do analysis; build system so that likelychanges can be made easily Write components so that dependencies areminimized; easy to change parts as necessary Focus on getting current version shipped;changes, if needed, will come from anotherbudget4XP influenced byprogrammer worries: Schedule slippages Cancelled project System goes sour Defect rate Problem misunderstood World changes Feature-rich software Staff turnover If you’ve been part of a failed project,damages your career for a long timeXP “solutions” - 1 Schedule slippages Deliver new version every few weeks Cancelled project Get product in hands of users System goes sour Tight delivery schedule Tight coupling with customer on site Feedback from usersXP “solutions” - 2 Defect rate Extreme unit testing Problem misunderstood Customer co-located with developmentteam World changes Customer co-located with developmentteam5XP “solutions” - 3 Feature rich software(Fun for inexperienced programmers; feared byexperienced programmers) Customer selects features based on need Staff turnover(More concern about other people leaving) People stick with exciting successful projects• They’re challenging and funXP life cycle - 1 Exploration - short period. teamexperiments with technology to gainconfidence in estimating what’sneeded to satisfy customer desires Planning - very short; team createsinitial release plan for the date atwhich the smallest, most valuablecapabilities will be doneXP life cycle - 2 Iteration to First Release - teamworks in short iterations to deliverytested functionality. Every 3 or 4releases, release plan (step 2) isupdated to reflect team performanceand changed requirements Productizing – End game of initialiteration, leads to 1st release ofproduction version6XP life cycle - 3 Maintenance – normal state of an XPproduct. regular iterations resulting innew and changed features for productionuse Death of project – customer cannotthink of any more features (or unwillingto pay for more). team writesdocumentation needed for futureenhancements then is disbandedWhat’s XP missing? No efficiency gains through specialization Part of the fun of XP is that every teammember designs, codes, tests No detailed project plans How do we know when we’re 50% done? No comprehensive documentation toensure auditability and traceability (Almost) no second set of eyes checkingpeople’s work Though XP uses “Pair Programming:” peoplework in pairsOther developmentmethodologies Game development Driven by predictable delivery of a stableproduct Why? Marketing budgets See http:/www.gamasutra.com Open source (linux primary example) No shortage of developers People develop many competing, duplicateitems Management committee then selects the best7Is XP the solution? Sometimes. Programmers really like it. What if you need 200 people? What about software to fly new Airbus orBoeing aircraft? Requirements relatively well understood Many organizations will not put customeron site with developers, too expensive


View Full Document

ODU CS 350 - Lecture Notes

Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?