1 Microsoft’s Process Redmond in the 90’s Article by Roger Sherman, Director of Testing, Worldwide Products Group, Microsoft.

Slides:



Advertisements
Similar presentations
What is Test Director? Test Director is a test management tool
Advertisements

Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
CS 221/ IT 221 Lecture 14 Software Engineering Dr. Jim Holten.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Agile Testing with Testing Anywhere The road to automation need not be long.
Quality Assurance: Early Work Items. Introduction: Ian King Software Test Lead, Microsoft Corporation Manager of Test Development for Windows CE Base.
Software Engineering Institute Capability Maturity Model (CMM)
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
SAIC-F QA Internal Process (DRAFT ) Sudha Chudamani QA Team, Frederick National Lab Jan 2, 2013.
Software Development Life Cycle (SDLC)
1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Continuous Integration and Testing
Extreme Programming Software Developing Methodology.
© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software Development Lifecycle Cindy Barry Senior Product Manager Martha.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 Lecture 19 Configuration Management Software Engineering.
CS351/ IT351 Modeling and Simulation Software Engineering Dr. Jim Holten.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
Functional Automation Testing Case Study 360logica Software Testing Services.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CSE 308 Software Engineering Software Engineering Strategies.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
DLoo 2002-Mar-08Software Engineering Best Practices - (c) 2002 IMS Health1 Software Engineering Best Practices Practical things we can all do David Loo.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Week # 4 Quality Assurance Software Quality Engineering 1.
Jeffrey Murray Principle Test Manager – PowerPoint Problems with PowerPoint? … you can blame me!
Controls Software Migration Duplex Consoles. Goal of the MigrationGoal of the Migration –Move the accelerator controls system from Vax/VMS to PC/Linux.
Internal developer tools and bug tracking Arabic / Hebrew Windows 3.1Win95 Japanese Word, OneNote, Outlook
AM10 AUTOMATED TESTING IN DYNAMICS NAV Luc van Vugt, MVP – fluxxus.nl.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Software Development.
Constructing Deploying and Maintaining Enterprise Systems
Exam 0 review CS 360 Lecture 8.
Managing the Project Lifecycle
Quality Assurance: Early Work Items
The Software Development Cycle
The V Model The V Model Damian Gordon Damian Gordon.
Quick Start Guide for Visual Studio 2010
Software life cycle models
Testing and Test-Driven Development CSC 4700 Software Engineering
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
CSE 403, Software Engineering Lecture 2
Walking dead. How to save project?
The Software Development Cycle
Presentation transcript:

1 Microsoft’s Process Redmond in the 90’s Article by Roger Sherman, Director of Testing, Worldwide Products Group, Microsoft

2 What did you think was interesting about MS process? What did you like? What didn’t you like? What was surprising?

3 Why isn’t it waterfall? Milestones – Several per customer release Goal – fix bugs early – Stages the features – Acceptance testing toward the end of each Test release document – scope – “Post-mortem” after each, also plans next This is an “spiral” development approach When “code complete” goes to mfg.

4 Let’s talk “requirements” These are what you do “acceptance testing” against! Final acceptance criterion – 5 days of testing without a “must fix” bug Reliability = “code stability” Microsoft’s “client” is a product manager  See next slide!

5 What is “reliability” here? At Microsoft: Rate at which the end user will encounter anomalies. Goal is to maintain a product’s reliability while new features are being added. And to increase reliability in the system testing phase until “good enough”. Right – This is the classic reliability “U- curve” used in all of engineering. Does the “Wear out” phase happen with software? “Bug convergence”

6 Let’s talk “requirements” - process Vision statement Analysis of competitors products Satisfaction surveys Annotated user studies New technologies Brainstorming to get great new features

7 From spec to schedule Product specification Divided into features Milestones ReliabilitySchedule Feature Set

8 Tools Source control – “Source Library Manager” Bug tracking – RAID – Does problem-resolution work-flow – Also links issues to “release-ability” of the product – And – can test hypotheses about causes! Automated “project testing” by each developer Putting “asserts” into debug versions of the code Overnight “teacher pupil” test runs – Automated tests – nearly 100% coverage – UI testing with “monkeys” Above – This is one of the bug tracking work flows you can choose today, built into Visual Studio.

9 Do they have Configuration Management? Assumed to be a part of their bug resolution and feature selection processes for a release Each developer also appears to have a “sandbox” for testing their own code in a build

10 Deciding what to launch Reliability Schedule Feature Set

11 How many different kinds of testing are there? Teacher/Pupil Automated Regression Testing Beta Testing Monkey Testing Intelligent Monkey Testing Resource Constraint Testing Daily Build Testing Smoke Testing Likely a bit of manual testing although they don’t talk about it too much

12 What different forces does MS have vs. more agile-oriented places? They have to decide what works best, over a huge customer base – E.g., tool bars vs menus vs hot keys They are the “experts” on new features – Propose these to management – Must “exceed customer expectations” – want “best of breed” – Their product experts challenge a product vision Don’t put out partial products – Do put out “betas” High cost of recalls

13 Update on Microsoft’s Process See 08/slides/MSdev.pdf 08/slides/MSdev.pdf