Top Ten S Econcepts V11.1

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Top Ten S Econcepts V11.1 - Presentation Transcript

    1. Top 10 Soft ware Engineering Concepts (even in hard times) Ed Yourdon email: ed@yourdon.com Website: www.yourdon.com Blog: www.yourdonreport.com, Twitter, Flickr, Facebook, LinkedIn: “yourdon” Version 11.1, spring 2009 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)
    2. Publication Details, and General Disclaimer This 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 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 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 material (or any subsequent drafts). Neither Ed, nor any of the contributors, collaborators, nor anyone else connected with this 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 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 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 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)
    3. Top Ten Eleven Items Introduction 1. You can’t control what you can’t measure 2. Peopleware 3. Incrementalism 4. Iteration 5. Repair costs if defects leak downstream 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 11. Be transparent, conceal nothing (Kent Beck, Ron Jeffries, Ward Cunningham) Conclusions 3 Published under the GNU Free Documentation License (GFDL)
    4. Introduction Why does this matter? • We live in “interesting” times — which could continue for several years • Business needs IT innovation, but also needs cost-cutting, “back to basics” • 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 4 Published under the GNU Free Documentation License (GFDL)
    5. 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 Ray Madachy’s new book, “Soft ware Process Dynamics”) New t wist: evidence-based scheduling Take advantage of potential positive aspect of Heisenberg Uncertainty Principle. 5 Published under the GNU Free Documentation License (GFDL)
    6. 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 (assuming they have a choice)? 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’ing on their iPhone/Android 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.” 6 Published under the GNU Free Documentation License (GFDL)
    7. 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, and continuous integration (thanks to Joe Chavez) Promote change management, beware scope creep and “scope churn” See also the related concept, “economics of nudging.” Here’s an article and a book: Nudge: improving decisions about health, wealth, and happiness 7 Published under the GNU Free Documentation License (GFDL)
    8. 4. Iteration See classic (i.e., “prehistoric”, pre-Internet) 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 nothing” all fashion More recent OO version: “refactoring” Use modern tools (Twitter, Wikis, etc) to support rapid, collaborative iteration 8 Published under the GNU Free Documentation License (GFDL)
    9. 5. Repair costs increase if efects “leak” downstream Increases tenfold with each lifecycle phase First documented by Barry Boehm in early 1980s Agile crowd disagrees (see this great new collection of agile links), emphasizes continuous refactoring But Boehm disagrees; may depend on project size. See “Balancing Agility and Discipline: A Guide for the Perplexed” (2004) 9 Published under the GNU Free Documentation License (GFDL)
    10. 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 10 Published under the GNU Free Documentation License (GFDL)
    11. 7 Reuse is important . Don’t just reuse code; also design, specs, processes, plans, budget templates, teams, 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 • Important work being done now by IBM, Yahoo (Pipes) Microsoft (PopFly), etc • 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 11 Published under the GNU Free Documentation License (GFDL)
    12. 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 and political, not technical (just as with 2007-2008 bank crisis) 12 Published under the GNU Free Documentation License (GFDL)
    13. 9. Consistency trumps brilliance + death-march Except in Silicon Valley (maybe) Global recession will probably increase the number of death-march projects for at least the next few years...  Instead, focus on approaches like SEI- CMM, ISO-9000, six-Sigma, ITIL, etc, etc. 13 Published under the GNU Free Documentation License (GFDL)
    14. 10. Don’t Reinvent the Wheel Best Practices (bottom-up!) Worst Practices (233 blogs!) SWBOK 14 Published under the GNU Free Documentation License (GFDL)
    15. 11. Be Transparent, conceal nothing Thanks to Kent Beck, Ron Jeffries, and others via Twitter dialogue on Feb 18, 2009 Kent Beck: “sw eng improves when we stop trying to ‘protect’ customers from the process & invite them to view the sausage factory.” Ron Jeffries: “Absolute agreement on concealment. Conceal nothing. Transparency rules.” Ward Cunningham: “Clean code can still have technical debt and that might be good. Watch to understand why.” 15 Published under the GNU Free Documentation License (GFDL)
    16. 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 16 Published under the GNU Free Documentation License (GFDL)
    17. Top 10 Soft ware Engineering Concepts (even in hard times) Ed Yourdon email: ed@yourdon.com Website: www.yourdon.com Blog: www.yourdonreport.com, Twitter, Flickr, Facebook, LinkedIn: “yourdon” Version 11.1, spring 2009 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)

    + yourdonyourdon, 8 months ago

    custom

    1107 views, 1 favs, 1 embeds more stats

    Fixed a few typos, added a couple new bullet points more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1107
      • 1101 on SlideShare
      • 6 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 42
    Most viewed embeds
    • 6 views on http://blog.chavez.ws

    more

    All embeds
    • 6 views on http://blog.chavez.ws

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories