Slideshow transcript
Slide 1: Top Ten Soft ware Engineering Concepts Ed Yourdon & hordes of collaborators worldwide email: ed@yourdon.com Website: www.yourdon.com Blog: www.yourdonreport.com, Twitter: “yourdon” Version 07 Google Docs version Slideshare.net version green stuff = “internal” links to other pages in this document blue stuff = “external” links -- i.e., URLs to pages on the Internet Published under the GNU Free Documentation License (GFDL)
Slide 2: Publication Details, and General Disclaimer This “Web 2.0” GoogleDocs presentation is an open-content collaborative document. Anyone with an Internet connection and World Wide Web browser may view and/or alter its content -- for better or worse -- within the constraints of Google’s access mechanisms for such documents. Please be advised that nothing in this document has necessarily been reviewed by Ed Yourdon ("Ed"); the theories and business practices expressed by the “Web 2.0” document are not necessarily his. This isn't to say you won't find valuable and accurate information herein; however, Ed cannot summarily guarantee the validity of this “Web 2.0” document. The content of any given page may recently have been changed, dumbed-down, or other wise edited by someone whose opinion does not correspond to Ed’s original “Web 2.0” material (or any subsequent drafts). Neither Ed, nor any of the contributors, collaborators, nor anyone else connected with this “Web 2.0” document, can in any way whatsoever be held responsible for the appearance of any inaccurate information, or for your use of the information contained in or linked from this document. You are being granted a limited license to copy anything from this document; it does not create or imply any contractual or extra- contractual liability on the part of Ed, nor any of the contributors, collaborators, or viewers of this material. There is no agreement or understanding bet ween you and Ed regarding your use or modification of this information beyond the GNU Free Documentation License (GFDL); neither is Ed responsible should someone change, edit, modify, or remove any information that you may post on this “Web 2.0” document. Any of the trademarks, ser vice marks, collective marks, design rights, personality rights, or similar rights that are mentioned, used, or cited in this “Web 2.0” document are the property of their respective owners. Their use here does not imply that you may use them for any purpose other than for the same or similar informational use -- as recognized under the GFDL licensing scheme. Unless other wise stated, Ed and this “Web 2.0” document are neither endorsed by nor affiliated with any of the holders of any such rights; as such, Ed cannot grant any rights to use any other wise protected materials. Your use of any such or similar incorporated property is at your own risk. 2 Published under the GNU Free Documentation License (GFDL)
Slide 3: 3 Published under the GNU Free Documentation License (GFDL)
Slide 4: 4 Published under the GNU Free Documentation License (GFDL)
Slide 5: Top Ten Items Introduction 1. You can’t control what you can’t measure 2. Peopleware 3. Incrementalism 4. Iteration 5. Repair costs 6. Tradeoffs are non-linear 7. Reuse is important 8. Risk management is key 9. Consistency trumps brilliance + death-march 10.Don’t reinvent the wheel Conclusions 5 Published under the GNU Free Documentation License (GFDL)
Slide 6: Introduction Why does this matter? • Global competition, pressure for faster/cheaper/better, etc • See “Shift Happens” and “Did You Know?” • Increasing complexity of systems, blah blah blah • Why aren’t we using these concepts already? See my blog here and here for possible answers • New issue (Web 2.0): users can control their own technology; revenge of the user Most key soft ware engineering ideas are not new But they never got implemented consistently It’s not rocket science... ... but common sense isn’t common Each new generation doomed to rediscover basics 6 Published under the GNU Free Documentation License (GFDL)
Slide 7: 1. You can’t control what you can’t measure Lots of good books, including Tom DeMarco’s 1982 classic, “Controlling Soft ware Projects,” and Paul Strassmann’s “The Squandered Computer” Cultural/management issues more important than technical issues (see 1987 classic by HP’s Robert Grady & Deborah Caswell, “Soft ware Metrics: Establishing a Company-Wide Program” Core metrics: size, effort, defects, turnover Soft metrics: morale, user satisfaction, etc. System dynamics -- e.g., Brooks’ Law (start with Tarek Abdel-Hamid’s “Soft ware Project Dynamics,” and watch for forthcoming Dec 1997 book, “Soft ware Process Dynamics,” by Ray Madachy) New t wist: evidence-based scheduling 7 Published under the GNU Free Documentation License (GFDL)
Slide 8: 2. Peopleware People are (and always have been) the biggest productivity factor in projects Hire the best people you can, and emulate Google’s HR strategy Question: would the brightest college graduates want to work for your company? Remember: most of them have never seen MS Outlook (and would be horrified if they did) They assume everyone is blogging on Facebook and IM’s on their iPhone They are staggered at the thought that anyone alive knows how to program in COBOL. Give them decent office space; and minimize interruptions in the work environment Avoid teamicide “Peopleware”: see report from ICSE 2007 panel session on “Celebrating Peopleware’s 20th Anniversary, in Sep 2007 IEEE Soft ware. Also available here (free!) on my blog. See “Meet the Life Hackers,” from Oct 16, 2005 New York Times. Based on 1,000 hours of obser vations of t wo West Coast high-tech firms: “Each employee spent only 11 minutes on any given project before being interrupted and whisked off to do something else. What’s more, each 11-minute task was itself fragmented into even shorter three-minute tasks, like answering e-mail messages ... And each time a worker is distracted from a task, it takes 25 minutes, on average, to return to that task.” 8 Published under the GNU Free Documentation License (GFDL)
Slide 9: 3. Incrementalism (vs. “big bang” development) Prototypes are invaluable; see “Object- Oriented Rapid Prototyping,” by John Connell and Linda Shafer Use the “daily build” approach Promote change management, beware scope creep and “scope churn” 9 Published under the GNU Free Documentation License (GFDL)
Slide 10: 4. Iteration See classic 1970 paper by Win Royce, “Managing the Development of Large Soft ware Systems: Concepts and Techniques” Make small mistakes early, rather than big mistakes later Concept doesn’t have to be applied in an “ or all nothing” fashion More recent OO version: “refactoring” 10 Published under the GNU Free Documentation License (GFDL)
Slide 11: 5. Repair costs increase if defects “leak” to later stages Increases tenfold with each lifecycle phase First documented by Barry Boehm in early 1980s Agile crowd disagrees, emphasizes continuous refactoring But Boehm disagrees; may depend on project size. See “Balancing Agility and Discipline: A Guide for the Perplexed” (2004) 11 Published under the GNU Free Documentation License (GFDL)
Slide 12: 6. Tradeoffs are Non-Linear Tradeoff bet ween people and time is a 3rd order polynomial Capers Jones (p. 110 of “Estimating Soft ware Costs”) says: Defects = k*function-points**1.25 Hard to compute this in your head! Need industrial-strength estimating tools (e.g., SLIM, Costar) for rational negotiation of non-trivial projects 12 Published under the GNU Free Documentation License (GFDL)
Slide 13: 7 Reuse is important . Don’t just reuse code; also design, specs, processes, plans, budget templates, etc. Web 2.0 version: API’s to support mashups • Example: 6,000 apps developed with Facebook API in 5 months (from Mary Meeker, at 2007 Web 2.0 Summit conference, p. 37 of presentation) • See also OpenSocial API recently announced for all social net works (e.g., Myspace, Bebo, Hi5, etc.) • Example: HousingMaps = Craig’s List + Google Maps. See also Google Maps NYC interactive transit map mashup • 275 Flickr Mashups • Funny example: Earth Sandwich • Funny example: George Bush + U2’s “Sunday, Bloody Sunday” • More amusement: Obama “1984” mashup Again: technology less important than business/ cultural issues Don’t ignore cost of reuse 13 Published under the GNU Free Documentation License (GFDL)
Slide 14: 8. Risk Management is key Common issue in failed projects; see Capers Jones’ “Assessment and Control of Soft ware Risks” (1994) Shared risk management is crucial Familiar techniques: R-Y-G list of top 10 risks (example) Remember: there are risks associated with process improvement, as well as traditional soft ware development projects. See “Identifying and Managing Risks for Process Improvements,” by Joyce Statz, Don Oxley, and Patrick O’Toole. Again: main issues are cultural, not technical 14 Published under the GNU Free Documentation License (GFDL)
Slide 15: 9. Consistency trumps brilliance + death-march Except in Silicon Valley (maybe) Instead, focus on approaches like SEI- CMM, ISO-9000, six-Sigma, ITIL, etc, etc. 15 Published under the GNU Free Documentation License (GFDL)
Slide 16: 10. Don’t Reinvent the Wheel Best Practices (bottom-up!) Worst Practices (233 blogs!) SWBOK 16 Published under the GNU Free Documentation License (GFDL)
Slide 17: Conclusions Technology is not the key issue Fred Brooks: “there are no silver bullets” Margaret Mead’s “prefigurative culture” • See Michael Wesch’s commentary, “Vision of Students Today,” on how today’s Web 2.0 technology is affecting education for college students (also watch “the machine is (us)ing us”! • Note Oct 3, 2007 announcement: UC Berkeley announces it will publish its university lectures on YouTube • You have no idea what the younger generation is thinking! See BRBOMGLOLROFLLMFAO and “Google, A Girl, and the Coming Apocalypse.” Don’t ignore new stuff -- e.g., Chandler 17 Published under the GNU Free Documentation License (GFDL)
Slide 18: 18 Published under the GNU Free Documentation License (GFDL)
Slide 19: Top Ten Soft ware Engineering Concepts Ed Yourdon & hordes of collaborators worldwide email: ed@yourdon.com Website: www.yourdon.com Blog: www.yourdonreport.com Version 07 Google Docs version Slideshare.net version green stuff = “internal” links to other pages in this document blue stuff = “external” links -- i.e., URLs to pages on the Internet Published under the GNU Free Documentation License (GFDL)




Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 3 (more)