15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Acceptance Testing.
CS487 Software Engineering Omar Aldawud
SSA 2013 Software Development Lifecycle (and how to make the best of it) Mono d.o.o.
The Joel Test: 12 Steps to Better Code By Tim Denton.
Stoimen Stoimenov QA Engineer SitefinityLeads, SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Cadle & Yeates Ch 5 Revised by Ivor Perry Sept Detailed Planning - 1.
Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student Connect->Classroom 2.
Outline (Mis)communicating expectations Schedule of class-related deliverables Specific final release deliverables Your questions Intellectual activity:
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 26 Delivering the System.
Outline Your questions Upcoming milestone deliverables Testing in the project lifecycle Analyzing scenarios using inference diagrams Mistakes to avoid.
12-February-2003cse Construction © 2003 University of Washington1 Construction CSE 403, Winter 2003 Software Engineering
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Software Testing Life Cycle
Incell Phonium Processor Project Plan Document Dale Mansholt Aaron Drake Jon Scruggs Travis Svehla.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
The Joel Test 12 Steps to Better Code. Readings The Joel Test (by Joel Spolsky) 043.html.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Deliverable Readiness Review LexEVS 5.1 December 17, 2009.
1 Lecture 19 Configuration Management Software Engineering.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
T Project Review WellIT PP Iteration
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
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.
Suite Rates System Design Specification (SDS) and Planning Document.
Week 7-10 MondayTuesdayWednesdayThursdayFriday Joel test & interviewing No reading GroupsReviewsSectionProgress report due Readings out Reading dueGroups.
Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
07 Aug 2006CSE403, Summer'06 Final Exam: Take-home versus In-class Valentin Razmov Take-home No rush to complete in 1 hour at 9:40am More realistic (but.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
Software Engineering (CSI 321)
Managing the Project Lifecycle
Project Center Use Cases Revision 2
Quality Assurance: Early Work Items
Lecture 11: Scheduling, Estimation, and Prioritization
Project Center Use Cases Revision 3
Project Center Use Cases Revision 3
Strategies For Software Test Documentation
Lunch & Learn: Are you letting your users be your testers?
Lecture 02: Software Lifecycle Models
Lecture 03: Software Lifecycle Models
Outline Your one-minute feedback from last week Peer reviews
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Project Iterations.
Presentation transcript:

15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov

15 Jul 2005CSE403, Summer'05, Lecture 10 Outline Why Incremental Releases? Deliverables for Zero-Feature, Alpha/Beta, and Final Releases “The Joel Test: 12 Steps to Better Code”

15 Jul 2005CSE403, Summer'05, Lecture 10 Resources Rapid Development, by Steve McConnell The Joel Test: 12 Steps to Better Code, by Joel Spolsky, Lectures from Winter 2004, by David Socha Discussions with James Bullock

15 Jul 2005CSE403, Summer'05, Lecture 10 Why Incremental Releases? To reduce the risks Manage customer expectations Have something shippable / shipped at all times Allow the development team to quickly identify and correct/recover from early failures Closely related to evolutionary prototyping, evolutionary delivery, staged delivery, and design-to-schedule

Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests yet and no tickets in the bug tracking system Installation package Includes all of the items below Demo of one-step build and component communication Checks out all sources from repository, compiles and builds binaries, packages them along with all existing documentation and automated tests, and places the result on a known site ready for downloading Shows that your main components identified in the design can successfully communicate (be integrated) with each other Latest specification, design, and test plan documents Keep them short! Consider what is / isn’t important for customers / devs. Up-to-date schedule Includes what has been done and what remains to be done Release notes Detailed instructions on how to run the demo Known issues with prioritization

Deliverables: Alpha/Beta Releases Installation package Application sources and binaries One-step build for all sources Latest spec & design documents Keep it short! Consider what is/isn’t important for customers/devs. Release notes Detailed instructions on how to run a (small) demo of your app Known issues with prioritization, expressed in a bug tracking system Up-to-date test plan Automated tests (unit and acceptance) Up-to-date schedule Including what has been done and what remains to be done Issues to consider: Who is your audience – customers or developers? What do they expect from this release? What defines success for them?

Deliverables: Final Release Installation packages That include all of the items below Application sources and binaries Separate distributions (installation packages) for customers and developers One-step build – from compiling all sources to creating installation packages User & technical documentation (separate) User doc: What does my mom need to know (and do) in order to run this product? Technical doc: What does a support team need to know in order to work on ver2? Release notes Known issues with associated severities & priorities Include a link to your bug tracking system’s tasks/tickets that reflect those issues Specify where your current (CVS) repository is Instructions on running the installer and your app are now part of the user doc. Latest test plan Automated tests (unit and acceptance) Test coverage would be a very welcome addition. Up-to-date schedule Things that have been accomplished (of those that were planned) Features (of those initially planned) that are now pushed to ver2 or abandoned How much would each such feature cost (in terms of dev effort)?

15 Jul 2005CSE403, Summer'05, Lecture 10 The Joel Test: 12 Steps to Better Code Which of the 12 steps will your team follow? Do you use source control? …………………………………………………… Can you make a build in one step? ………………………………………… Do you make daily builds? ……………………………………………………… Do you have a bug database? ………………………………………………… Do you fix bugs before writing new code? ……………………………… Do you have an up-to-date schedule? ……………………………………… Do you have a spec? ……………………………………………………………… Do programmers have quiet working conditions? ……………………… Do you use the best tools money can buy? ……………………………… Do you have testers? ……………………………………………………………… Do new candidates write code during their interview? ……………… Do you do hallway usability testing? …………………………………………

15 Jul 2005CSE403, Summer'05, Lecture 10 The Joel Test: 12 Steps to Better Code Are there important missing steps (that you do or need to do, but that aren’t mentioned among the 12 Joel talks about)?