Outline Your questions Upcoming milestone deliverables Testing in the project lifecycle Analyzing scenarios using inference diagrams Mistakes to avoid.

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

Iteration Planning.
Test process essentials Riitta Viitamäki,
Acceptance Testing.
Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
12 Aug 2005CSE403, Summer'05, Lecture 15 Updated Schedule of Remaining Class-Related Deliverables Fri, Aug 10pm: hw#4 responses due Sun, Aug
March 25, 2002R McFadyen a lightweight approach to software development. about 5 years old has been used at: Bayerische Landesbank, Credit Swiss.
Testing: Who 3, What 4, Why 1, When 2, How 5 Lian Yu, Peking U. Michal Young, U. Oregon.
Motivation Lecture Master seminar, January Contents Introduction Importance of regular work Theses with programming Publishing your work Conclusion.
Software Engineering.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
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:
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Valentin Razmov, Richard Anderson {valentin,
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Development Processes and Product Planning
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Software Engineering 1 The Life Cicle of Software Lesson 5.
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
Software Development Process and Management (or how to be officious and unpopular)
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Valentin Razmov, CSE403, Sp'05 CSE403 Section 1: The Fate of Software Projects Learning = Practice + Feedback Desirable Qualities in Teammates Team-Building.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Jeffrey Murray Test Manager PowerPoint Microsoft Silicon Valley.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Behavioral Management in your Classroom Created by: Lauren Bamsey.
INFO 424 Team Project Practicum Week 2 - Launch report, Project tracking, Review report Glenn Booker Notes largely from Prof. Hislop.
A Practical Guide To Unit Testing John E. Boal TestDrivenDeveloper.com.
T Iteration demo T Iteration Demo Team Balboa I1 - Iteration
Test-Taking Skills and Preparation. Test-Taking Skills Skills related not to subject knowledge but attitude and how a person approaches the test. Skills.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
INFO 638Lecture #91 Software Project Management Conclude Adaptive Project Framework INFO 638 Glenn Booker.
T Project Review Wellit I1 Iteration
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Week # 4 Quality Assurance Software Quality Engineering 1.
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
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:
Outline Your one-minute feedback from last week
Lecture 3 Prescriptive Process Models
Software Engineering (CSI 321)
Managing the Project Lifecycle
Continuous Integration and Testing
Lecture 11: Scheduling, Estimation, and Prioritization
Taking an Iteration Down to Code
CHAPTER 2 Testing Throughout the Software Life Cycle
Section 01: Life Cycle Objectives Review
Outline Your one-minute feedback from last week Peer reviews
CSE 303 Concepts and Tools for Software Development
Baisc Of Software Testing
Section 01: Life Cycle Objectives Review
Jamie Cool Program Manager Microsoft
Presentation transcript:

Outline Your questions Upcoming milestone deliverables Testing in the project lifecycle Analyzing scenarios using inference diagrams Mistakes to avoid

Your Questions On class? On project? On homework? On material we’ve discussed? Other?

Next Milestone – Preliminary Release Deliverables: Application sources and binaries One-step build for all sources Latest spec & design documents Keep it short! Consider the feedback I gave in the informal discussions about what is and isn’t important for customers / devs Release notes Detailed instructions on how to run a (small) demo of your app Known issues with prioritization Automated (unit and acceptance) tests 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 a preliminary release? What defines success?

In Contrast with Final Release Deliverables… All of the above plus: Separate distributions for customers and developers Separate user and technical documentation Latest test plan Automated tests (unit, acceptance, etc.) that have wider coverage Known issues with priorities, expressed using Bugzilla tasks/tickets Using some other professional bug tracking system is okay too CVS & Bugzilla "snapshots"

Valentin Razmov, CSE403, Sp'05 CSE403 Section 6: Testing in the Project Lifecycle Bonus: Common Mistakes to Avoid Bonus: Influence Diagrams

Testing (recap) Testing helps to establish if _____________________________________, because ______________________________. Testing begins (when?) _____________________________________, because ______________________________.

Testing (recap) How much does each dollar invested in early defect tracking save the project later on? (A) $0.25 (B) $1.00 (C) $7.00 (D) $50.00 Answer: $3 - $10 What does that imply for how much emphasis you need to put on testing?

The V-Model and Testing throughout the Lifecycle User requirements; Acceptance test planning Functional requirements; System test planning Architecture design; Integration test planning Detailed design; Unit test planning Coding Unit testing Integration testing System testing Acceptance testing

Why Test? More stress you feel => less testing you do “Testing takes precious time.” Less testing => more bugs left in your code More bugs => more stress How do we break this positive feedback loop?

Influence Diagrams – Examples Third world population Affluence relationship to education Family funds available Student’s focus on education Likelihood for success in studies Bright job prospects Availability of food and health care Survival rate of children Number of children in family

Test-Driven (a.k.a. Test-First) Development Why does it work? The sooner a defect is found, the cheaper it is. Less stressful programming experience Not putting off the biggest unknown till last moment Predictable quality at all times. Product can ship on a short notice without stress. Increased quality of programmers’ work; increased respect from others Customers have higher confidence in product.

Mistakes Students in Previous SwEng Classes Have Made Testing-related: Not creating a testing framework from the start Much harder to integrate later on You’d be playing a catch-up game, which creates a significant disincentive and feels like wasting time. Tests should be written at the same time that you write the code, ideally even before you write the code Tests then serve as post-conditions Psychologically advantageous No automated tests => it’s hard to make any claim about code quality You may have overlooked something. You can’t convince anyone else. Not having a version to play with (and test) until late For games this is critical - you need time before the final release for hallway testing.

Mistakes to Watch Out for Now Scheduling-related: Not leaving enough "safety net" time before major releases in case something unexpected happens It often does happen in the most inopportune moment. Leaving too few resources (people) for a critical task that can't be delayed Communication-related: Failing to submit key required components (e.g., documentation, tests, etc.) Submitting code without clear instructions about how to run it if one starts from scratch Not having a backup person who knows how to put together deliverables and submit

New Concepts One-step build Very effective together with automated tests Requires a “toolsmith”, but can be simplified and done once or twice a day, starting it manually Code / module invariants Repeated / regression testing checks if the invariants in the code still hold Test-first programming Reduces stress and may increase code quality

Favorite Related Quotes “Doing things right is not as important as doing the right things.” (Drucker's Dictum) "Verification == Did we build the product right? Validation == Did we build the right product?" (Barry Boehm) “Doing things at the last minute is much more expensive than just before the last minute.” (Randy Pausch) “If you haven't got time to do it right, you don't have time to do it wrong.” “Good judgement comes from experience. Experience comes from bad judgement.” “Failing to plan is planning to fail.” “Work expands so as to fill the time available for its completion.” (Parkinson's Law, 1957)

One-minute Feedback What one or two ideas discussed today captured your attention and thinking the most? List any ideas / concepts that you would like to hear more about. Be specific.