CSE403 Software Engineering Autumn 2001 When to call it a day and some no-no’s Gary Kimura Lecture #23 November 26, 2001.

Slides:



Advertisements
Similar presentations
ATS 5A - 1 The Art of Tech Support John Abbott College How to Work with Vendor Support M. E. Kabay, PhD, CISSP Director of Education, NCSA President, JINBU.
Advertisements

6.Quality, maintenance and documentation l Development cycle l Productisation l Plan for quality l Plan for maintenance; l Plan for documentation:
Which server is right for you? Get in Contact with us
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
© Paradigm Publishing, Inc Chapter 10 Information Systems Chapter 10 Information Systems.
1 RUP Workshop By George Merguerian Senior Partner Business Management Consultants
2/2/05lecture031 Deadlines! Kick-off task for today! You work at a private weather company. For the last 3 (three) months, you have been working on a task.
Process of Making Multimedia
5-March-2003cse ShipIt © 2003 University of Washington1 Ship It! CSE 403, Winter 2003 Software Engineering
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS CS 5150 Software Engineering Lecture 20 Acceptance and Delivery.
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.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Quality Assurance. Function Quality program Quality Assurance –Covers everything from raw materials and GMP verification through finished-product release.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
GLOBAL REGULATORY STRATEGY CONSIDERATIONS SCIENTIFIC SARAH POWELL EXECUTIVE DIRECTOR, REGULATORY STRATEGIES SEPTEMBER 14-17, 2008 BOSTON, MA.
Release & Deployment ITIL Version 3
We are here to Skyrocket your sales. About Us 2 We are a live chat and multi channel contact center Our service allows your potential and existing customers.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
11 The Ultimate Upgrade Nicholas Garcia Bell Helicopter Textron.
ENTREPRENEURS IN A MARKET ECONOMY
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
© Paradigm Publishing Inc Chapter 10 Information Systems.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Project Management Development & developers
Operating Systems. Operating systems  Between the hardware and the application software lies the operating system. The operating system is a program.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Dtengineering 1 of 16 The Product Development Process Introduction.
Doing Business in India Acme Manufacturing Company Auburn Hills MI USA.
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
2008 NAPHSIS Annual Meeting Celebrating 75 Years of Excellence Orlando, FL June 1 st – 5 th, 2008 The Kentucky Vital Records EVVE Experience.
 CS 5380 Software Engineering Chapter 8 Testing.
1 Maintain System Integrity Maintain Equipment and Consumables ICAS2017B_ICAU2007B Using Computer Operating system ICAU2231B Caring for Technology Backup.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
Applied Project Management MGT 461 Lecture #2 Ghazala Amin.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Virtis-Opis Beta Testing Todd S. Thompson, PE South Dakota DOT Office of Bridge Design August 3, 2011.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
Building Marketing Databases. In-House or Outside Bureau? Outside Bureau: Outside agency that specializes in designing and developing customized databases.
VENDORS, CONSULTANTS AND USERS. WHY CAN’T COMPANIES DEVELOP THEIR OWN ERP PACKAGES? To develop an ERP package is a complex & time consuming activity which.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
CSE403 Software Engineering Autumn 2000 Benchmark day Gary Kimura Lecture #23 November 17, 2000.
6.Quality, maintenance and documentation l Development cycle l Productisation l Plan for quality l Plan for maintenance; l Plan for documentation:
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
1 BSG LeatherLink Make IT Happen. 2 BSG LeatherLink About - BSG LeatherLink Founded and run by professionals with experience in Leather industry – 47.
Marketing In Today’s World Freshman Seminar - Introduction to Business Dr. Hays Freshman Seminar - Introduction to Business Dr. Hays.
SQL SERVER 2008 Installation Guide A Step by Step Guide Prepared by Hassan Tariq.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Computer Security Sample security policy Dr Alexei Vernitski.
Copyright © 2016 Curt Hill Enterprise Systems Doing the routine work.
RACHELLE BERRY COLLECTING INFORMATION TO PROVIDE SUPPORT TO CUSTOMERS.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Engineering (CSI 321)
Quality Assurance: Early Work Items
Applied Software Implementation & Testing
6. Quality, maintenance and documentation
Lecture 09:Software Testing
TechEd /11/ :44 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
CSE403 Software Engineering Autumn 2000 Dead or Alive
Extreme Programming.
Jamie Cool Program Manager Microsoft
Lesson 3.2 Product Planning
Presentation transcript:

CSE403 Software Engineering Autumn 2001 When to call it a day and some no-no’s Gary Kimura Lecture #23 November 26, 2001

Today Breaking the build Protecting your investment When to call it a day

Breaking the build Rule 1: Never ever break the build Rule 2: If you do break the build, fix it immediately and beg for forgiveness Rule 3: Don’t change other people’s files without their permission Rule 4: The closer one gets to the finish line the more important rule one becomes Rule 5: Don’t make superfluous last minute changes Rule 6: Whenever in doubt, see rule one

Consequences of breaking the build Increases development cost Adds risk to the project Undermines group synergy Personally you may –Receive 2:00 AM phone calls –Wear the goat horns –Paying $ into the build labs refreshment/antacid fund

Some ways to avoid breaking the build Do a clean build and run all the tests Buddy builds Have your changes reviewed Develop using separate development trees Others? Do what’s right by you and your teammates

Before we ship a word about intellectual property rights Copyrights and patents are legal ways to protect your investment –Copyright term (in the US) is 50 or 75 years –Design patent term (in the US) is 14 years The patent application itself is somewhat time consuming but can be worth quite a bit for its owner –Companies such as IBM are known for their liberal application of patents –Disclosure rules are different between US and European patents (12 months versus 0 months)

Is it ready to ship? Who decides when it is ready to ship? –The developer? –The customer? –The managers? –The executive? What factors are involved in the decision? –Is the software ready? –Do we need the revenue? –Is there an external factor that is setting the completion date?

It is not just the software being ready that determines when to ship Development and testing plays a big role in getting the product ready, but there is also… Documentation Manufacturing Sales and marketing Support and more

Does it meet the requirements Is the quality sufficient for the customer –PC mentality –Mission critical systems –Financial, medical, imbedded systems in planes, factories, safety critical equipment

Is the software ready and tested –What are the remaining bugs like Are there showstopper bugs (i.e., bugs that you cannot ship knowing it is in the product) What is the cost of keeping a known bug in the product –Is it an obscure bug –Are there easy workarounds for the bug –Is the product “bug free” –In house testing Is the daily pass rate acceptable? The definition of acceptable open to discussion. Has it successful run through its validation suite? Is everyone happy with the product –Off-site testing through release candidates Are the beta customers satisfied –Is the product stable enough for its intended market –What do we do when we stop finding bugs

Is the documentation done and accurate Is manufacturing ready for the release –There is physical manufacturing and shipping of the release media and documentation –Filling the distribution channel –Even with internet distribution there needs to be well planned capacity Is product support ready –Whether the support is “on-site”, “9 to 5”, “24 by 7”, “phone”, or “mail only”, the support staff needs to be trained and have adequate communication capacity. Is sales and marketing ready

Is the customer ready? A lot of this probably depends on the type of customer –The shrink warp market –ISV – More technical savvy than the regular shrink wrapped market, however also less tolerant of silly, stupid errors –IHV – They have a different set of issues from ISV including automated setup and installation, and customization support –Contract work – Various levels from delivering an entire turnkey system to only a small component that the buyer will integrate. –Internal technical support (e.g., an internal development tools group)

Ship mode In the Windows NT group, this was called “showstopper mode” or the “death march” a rather insensitive macabre term All source changes must be reviewed and approved. It must be for a specific showstopper bug. Bugs are recorded in a bug database called “raid”. Sometimes kept an open showstopper bug active just to check-in more “fixes” Daily builds and stress runs (yes, seven days a week including most holidays)

A typical day near the end 5 AM results are starting to be gathered for the previous night stress run 7 AM release of the previous nights stress results. Developers then have until noon or so to debug all the crashed machines. Sometimes you need to keep the machine a lot longer. 8 AM meeting of the development team managers looking at the nightly stress results and new bugs review (they decide which bugs need to be fixed, and when to ship the product). Near the very end this becomes a twice a day meeting 10 AM to 3 PM the build lab is willing to accept any bug fixes for approved showstopper bugs 5 PM dinner is served 6 PM the next build is released and everyone installs the new system and starts up stress, and those with showstopper bugs continue to work.

Finally When it is finally decided to ship the product then the bits go into escrow as the golden media is produced and manufacturing starts ramping up. Testing continues and if necessary the bits can be recalled from escrow and the release done over again. Work continues on the subsequent release for the various server editions and international language versions.

Ancillary issues Media hype –Setting expectations –Beta previews –Getting beta customer testimonials might be important Competitive pressure –Market share before quality –First one defines the market and grabs market share even with junk –The followers often play catch-up with mixed success (unless you are a monopoly) Timing the release When do we get paid and are we ready for the IPO? Major release vs. minor release –Big delta or small delta –Customer perception based on version number –Some IHV contracts are based on version number Where to have the ship party