CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: 8-9509 March 19 th, 2002.

Slides:



Advertisements
Similar presentations
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Advertisements

The Web Wizards Guide to Freeware/Shareware Chapter Six Open Source Software.
Communicate Coordinate Collaborate Hawaii Strategy Institute 2011.
IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.
Jennifer Ayzen: Dr Miri Shonfeld.
Internet Online Safety How to have FUN and Stay in Control.
The Cathedral and the Bazaar: A Look at Open-Source ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
September 10 th, POSSE Portable Open Source Security Elements Jonathan M. Smith University of Pennsylvania
Open Source and the Bazaar Method. History of Software Development 1944, Harvard and IBM build first computer bundling Hardware and Software together.
OPEN DEVELOPMENT, AGILE, XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Open Source Projects Manage Themselves? Dream On! (Another take on CatB) Chuck Connell, Tufts Univ.
WOIS THE HIDDEN PATTERN OF INNOVATION. 1.What invention or innovation has changed the world the most, in your opinion? Explain why you think so. 2.Can.
Software is Social or Why its not all about programming Scott Wilson.
CS189A/172 - Winter 2008 Lecture 5: Project Management.
Data Mining.
3 April Maintenance Reverse Engineering Ethics Cathedral and Bazaar.
VT-NTUG | Jim Hall Building the Bazaar Open Source Software Development.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
What You Should Know About Open Source Software Iris K Stovall Director, Illinois Virtual Campus 2005 Faculty Summer Institute.
CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: April 16 th, 2002.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: April 2 nd, 2002.
CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: March 5 th, 2002.
The Evolution of Redwood Brian Westphal. Overview Motivation Multiphase Design Results Lessons Future Work.
Scams and Schemes. Today’s Objective I can understand what identity theft is and why it is important to guard against it, I can recognize strategies that.
Lessons Learned: The Evolving Nature of Mobile Websites Presented for The New England Chapter of ASIS&T (NEASIS&T) by Edward Iglesias Systems Librarian,
CUSTOMER SERVICE Diana Piraquive. CIS
Open Source Software Development (Adapted from Dr. Kostadin Damevski) Sung Hee Park Department of Mathematics and Computer Science Virginia State University.
Welcome. Who am I? Philip L. Sullivan MCT, MCSE, MCSA Microsoft Certified Trainer for 6 Years Work as a Lead Windows NT\2000\2003 Instructor for Clark.
1 Agile is Dumb. 2 Look at Moodle List of Essays Get in groups of 4-5 Divide and read the readings in the category “agile is dumb” – About 20 minutes.
Writing your own Madagascar applications Sergey Fomel University of Texas at Austin August 30, 2006 Vancouver, BC.
Computers and Society Examine the extent to which Richard Stallman’s GNU manifesto has succeeded in challenging the dominance of conventionally distributed.
3.44 Heidi Newton. What I am here to talk about I have had a look at some of the 3.44 submissions. I am going to share some of my observations from looking.
6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering
Designing in and designing out: strategies for deterring student plagiarism through course and task design Jude Carroll, Oxford Brookes University 22 April.
The Open Source Movement Information Technology and Social Life Apr. 25, 2005.
Outsourcing Software Development While Maintaining Core Competencies Jeff Moskow, President Ready-to-Run Software, Inc. The Industry's Leading Provider.
1 No Silver Bullet Brooks rides again…. 2 Essential Difficulties What are these “essential difficulties” that Brooks is referring to? Complexity Conformity.
Facts and Fallacies of Software Engineering (Rob Glass) CSE301 University of Sunderland Discussed by Harry R. Erwin, PhD.
NBA 600: Session 17 Free and Open Source Software 25 March 2003 Daniel Huttenlocher.
Hipikat: A Project Memory for Software Development The CISC 864 Analysis By Lionel Marks.
The Initial Problem Chapter 1, Section 1.6 #71 x = 793 x needs to be isolated on the left. Therefore, 341 should be subtracted from both sides: x.
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
YOU WILL ANYHOW CHAPTER 11 Plan To Throw One Away.
Open Source Software Architecture and Design By John Rouda.
Software Construction and Evolution - CSSE 375 Open Source 2 Shawn & Steve.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Week 3 Outline Post-Mortem By: Jamaral Johnson. 2 After Actions Review In this presentation I will do my best to highlight what went wrong. This is just.
Applying the Open Source development model ● Technologies ● Open Source? ● Drawbacks of Open Source ● Advantages of Open Source ● System outline.
Software Engineering CS3003 Lecture 4 Code bad smells and refactoring.
8 February 2000Manuel Delfino / CERN IT Division / CHEP 2000 A3971 Can HEP benefit from Open Source ? Manuel Delfino* European Organization for Nuclear.
March 20001© Dennis Adams Associates 10 False Reasons for using LINUX Or “Beware of Jumping on the Bandwagon” Dennis Adams.
Educational Networks What are they and why are they important?
SSGRR 2001 Developing Open Source Software SSGRR 2001 Jim Hall, Founder, coordinator The FreeDOS Project.
Working Wiki-ly An Information Tool for the Global Marketing Team April 18, 2012.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Unlocking the Community Toolchest Tony Atkins UHI Millenium Institute.
ACT AS A TEAM WITH CUSTOMER HOW TO BUILD THE CUSTOMER TRUST & LESSONS LEARNED.
DSD Course – Project Status Presentation 2 School of Innovation, Design and Engineering Malardalen University Dec 18 th,
1999 PI System Users’ Conference 1998 Year in Review and Look forward Phil Ryder Vice President, Sales and Marketing.
R&D Operation Best Practice for Start Up Start a Business And Change the world Alfred Boediman, Ph.D.
1 Welcome to COE 431: Computer Networks Instructor: Wissam F. Fawaz Office 103, Bassil Bldg. Required.
1 1.Log in to the computer in front of you –Temp account: 210class / 2.Update your in Cascadia's system –If I need to you I'll use.
10 Great Ways to Stop Procrastinating and Get More Done in Less Time Time Management Tips by Arman Sadeghi.
CSC 108H: Introduction to Computer Programming
Giving Back Contributing to Debian and the New Maintainer Process
PROJECT NAME POST-MORTEM
AppointmentmentPeach Appointment Manager
Project Name Post-Mortem
Presentation transcript:

CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: March 19 th, 2002

Administrative lFinal project code will be due by class time (9:00A.M.) on April 18 th (19 th ends classes) lDemos: Scheduled during final exam period One hour per group – presentation + demo All group members must be at demo lCan hand in any project experiences, documentation, “lessons learned” at demo

“The Cathedral and the Bazaar” lWritten by Eric S. Raymond (Penn!) lCodified much of the “open source” ideas, independent but cognizant of, FSF (inspired by Linux not Marx? ). lEpiphany came from own experience, with a tool called “fetchmail” lPrinciples inferred from experience

Experience with “fetchmail” lProgram to retrieve mail from a server lNeeds to get various things “right” to be seamless and easy to use lRaymond started out trying to solve his personal problem (often best motivation) but also wanted to experiment with methodology lBest ideas came from someone else, comments and suggestions from user community lJudgement: it worked!

Set of “lessons learned”, I: l“Every good work of software starts by scratching a developer’s personal itch” l“Good programmers know what to write. Great ones know what to rewrite (and reuse)” l“Plan to throw one away; you will, anyhow” (quote from Brooks, Ch. 11)

Set of “lessons learned”, II: l“If you have the right attitude, interesting problems will find you” l“When you lose interest in a program, your last duty is to hand it off to a competent successor” l“Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging”

Set of “lessons learned”, III: l“Release early. Release often. And listen to your customers.” l“Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone” (can be restated as “Given enough eyeballs, all bugs are shallow”)

Set of “lessons learned”, IV: l“Smart data structures and dumb code works a lot better than the other way around” l“If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource”

Set of “lessons learned”, V: l“The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.” l“Often the most striking and innovative solutions come from realizing that your concept of the problem was wrong.”

Set of “lessons learned”, VI: l“Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away” (Antoine de Saint-Exupery) l“To solve an interesting problem, start by finding a problem that is interesting to you.” (I skipped a few before this)

Set of “lessons learned”, VII: l“Provided the development coordinator has a medium as least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one” ( opposite Brooks )

Summary of “C&B” lRecounts experience with fetchmail lAbility to absorb ideas lRole, almost, of (self-elected?) “editor” lLove, not money evident lTest/debug in parallel is very important So-called “many eyes” hypothesis Is it true?

“Many eyes” analytic benefits: lGoal: deliver a “software product” lSteps:%effort| %life |----- Design 33.3%| 3.3% Implement (Code) 16.7%| 1.7% Test 50%| 5.0% Deploy | Maintain | 90.0%

Not a “silver bullet” “… As an experiment I also planted a comment which should raise eyebrows in some code I released years ago and which is fairly widely used just to see if I’d get any reaction from anyone (the comment says, in effect, ”Something really suspicious could happen here”, although that’s not the real text so you can’t just grep for it to find it :-). Noone has ever asked me about this, from which I assume that noone’s ever looked at the code they’re using. That’s kind of scary, because the comment isn’t in there just to annoy people, you really could build a rather nasty backdoor in there. There may actually be products out there which are released in binary-only form where the vendor has built in a backdoor at that point, although I saw a posting from in alt.2600 saying he’d looked at the product and it was fine, so it must be OK.” – Peter Gutmann, on Peter Neumann’s “Robust Open Source” mail exploder

“Open Source” Summary lNew software development methodology lEnabled by networks, interested community and IP licensing schemes lForces for and against – is it “Love vs. Money”, or something else entirely? lNext Tuesday: How Microsoft does it…