The Challenges of Developing Games and Other High-Resolution Graphics Applications February 2007.

Slides:



Advertisements
Similar presentations
Top 10 User Mistakes with Static Analysis Sate IV March 2012.
Advertisements

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.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Chapter 4 Quality Assurance in Context
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
Project Management Risk Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network analysis.
ITIL: Service Transition
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
How to: Design and Develop an Application to Ensure its Quality James Hippolite Senior.NET Developer Telecom New Zealand Limited James Hippolite Senior.NET.
W5HH Principle As applied to Software Projects
GAJAH ANNUAL REPORT 2015 | 1 Business Process Management Meghan Atkins Lohith Bangalore Omprakash John Doyle Rebecca Mazur.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
1 Testing. 2 About Testing  The reason the program is in testing is that it probably doesn’t work!  We test to find bugs before our users and hope that.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
University of Sunderland CIFM03Lecture 1 1 Quality Management of IT CIFM03 Introduction.
Quality Assurance and Testing CSE 403 Lecture 22 Slides derived from a talk by Ian King.
Software Process and Product Metrics
Agile Testing with Testing Anywhere The road to automation need not be long.
The Integration Story: Rational Quality Manager / Team Foundation Server / Quality Center Introductions This presentation will provide an introduction.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Parasoft ADP solutions Automated Defects Prevention for Embedded Systems Software Development by Wiktor Grodowski.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
CLEANROOM SOFTWARE ENGINEERING.
Ch 1: The Scope of Software Engineering
Copyright (c) 2003 CPTTM 1 Common fears of a software development manager Common fears of a software development manager: –Deadline.
Budgeting & Cash Control Maximizing Your Resources.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
VCU Information Systems Institute Advanced Delivery Methodology Courtesy of Data Management That Works.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
© 2012 About Me Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Project Management Risk Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network analysis.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
Using Service Level Agreements to Manage Outsourcers Dr. Adam Kolawa CEO Parasoft.
Service Level Agreements Service Level Statements NO YES The process of negotiating and defining the levels of user service (service levels) required.
THE SQA CHARTER Find defects so they can be REMOVED Anticipate defects so they can be PREVENTED.  Software Quality Assurance 
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Reduce Development and Testing Time on Embedded Space Programs With Auto- Generated Code Software Engineer Northrop Grumman Electronic Systems Matthew.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Jeffrey Murray Principle Test Manager – PowerPoint Problems with PowerPoint? … you can blame me!
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Stoimen Stoimenov QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Internal developer tools and bug tracking Arabic / Hebrew Windows 3.1Win95 Japanese Word, OneNote, Outlook
BUILDING INFORMATION SYSTEMS
Rapid Launch Workshop ©CC BY-SA.
Thanks to Atif Memon from UMD for disaster examples
Process improvements for better quality
Agile Metrics that Matter
Software Project Configuration Management
How To Apply Quality Management
Software Quality Engineering
Why Every Dev. Team Needs Static Analysis
Software Quality Engineering
Real Metrics for Real Decisions
Data Integrity Leadership Institute
WEBINAR: Becoming Agile In Software Testing: The Government Edition
Software Quality Engineering
Finding and Managing Bugs CSE 403 Lecture 23
Baisc Of Software Testing
Continuous Integration
What is Software Testing?
Project Management How to access the power of projects!
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Integration Testing.
Presentation transcript:

The Challenges of Developing Games and Other High-Resolution Graphics Applications February 2007

Application Developers Challenges  Tight Schedules

Application Developers Challenges  Tight Schedules  Inexperience

Application Developers Challenges  Tight Schedules  Inexperience  Application complexity

Application Developers Challenges  Tight Schedules  Inexperience  Application complexity  Hardware and 3 rd party library complexity

Application Developers Challenges  Tight Schedules  Inexperience  Application complexity  Hardware and 3 rd party library complexity  “Hello World”  100 DSO's  2GB RAM  Half dozen plugins

Application Developers Challenges  Tight Schedules  Inexperience  Application complexity  Hardware and 3 rd party library complexity  “Hello World”  100 DSO's  2GB RAM  Half dozen plugins  Geographically dispersed teams

Outcomes  Missed Deadlines  Loss of investment in R&D  QAS Software failure

Incorrect perceptions  “No time to test” syndrome  Mars Climate Orbiter  Metric vs English units in navigation software  Nav team unfamiliar with the spacecraft  Failed to detect the error  Loss of $125 million  Systemic failure to follow a process which would have prevented the error.

Developer Syndrome  I don't have time to test  It's not my job – it's QA's job  Standards “cramp my style”  My Pointy-Haired Boss doesn't have a clue what I do  It's a cavalier attitude which can cost millions of dollars, or even lives.

“Find and fix” is no longer relevant  Once an error is found usually don't stop to ask:  Have I made this error before?  Has anyone else on the team?  How would I know?  How can I prevent this error from happening again?

Automated Error Prevention  Early test-case development:  Validates the application  Reduces risk of “all nighters” and resulting additional bugs

Use “down time”  Don't negatively impact the already overburdened developers.  Nightly build  Nightly code review  Nightly Unit and regression testing

OpenGL ruleset  Use appropriate number and order of Begin() / End() and NewList() / EndList() function calls  Use GL command between only Begin() / End() or NewList() / Endlist() pairs  Don't use designated functions in Begin() / End() blocks or NewList() / Endlist() blocks

OpenGL rulesets (cont)  Don't use designated functions outside Begin() / End()  Don't use EndBlock() without a Begin().  Use appropriate vertex counts.  Don't use negative vertex or texture coordinates

OpenGL rulesets (cont)  Extend rules with custom rules eg: “Avoiding 16 OpenGL pitfalls”  Custom rules applied by the development teams

What's in it for me?  Reduce the risk of pulling an “all nighter”  Teams which implemented these practices spent 15%of their time finding and fixing bugs  Teams which did not spend up to 75% of their time finding and fixing bugs.

But.. tools alone won't help  Implementing these practices requires:  Team culture  Workflow  Supporting infrastructure  Enforcement tools show that there is a problem, but overwhelm the team unless there is additional support

Project Managers  Design and Implement the new workflows  Motivate the developers to accept them.  Don't “find and fix”, “test and build” instead.

Deming Principles  Detect an error  Isolate the cause  Locate the point in production that created or allowed the error  Implement practices which prevent the error from reoccurring  Monitor for improvements

The Cost of Defects

AEP implements the Deming principals  Apply industry best practices to prevent common errors and establish a foundation  Modify practices as needed to prevent unique failures  Ensure each group implements AEP correctly and consistently  Phase in each practice incrementally  Use statistics to stabilize each process.

Typical Software Lifecycle

With Automated tools in place.

With Automated Error Prevention Methodology

Parasoft's Process for Development  Nightly build  Nightly Regression and Integration tests  Adding a new feature? Fixing a bug?  Create a test-case which validates the new feature, then work on the feature itself.  When the test-case passes, we know it was implemented correctly  We also know that we haven't broken anything else.

Issues for senior management  Collaboration partners?  Outsourcing?  Strategic partnerships require a consensus not only of the development process, but of the testing processes too.

DirecTV Local channel Satellite Mission  Strategic Partners:  BBC  Telecom providers  Local Channel providers  Satellite launch and nav team

Consequences of failure  Loss of broadcast rights  Loss of millions of dollars  Lost revenue  Loss of orbital slot/satellite

Testing Strategy  Had to test early and often during development  Testing of the complete system before satellite was in position was impossible  Mission successful  Ground systems in place months before.  Concurrent testing is not only possible, it's good business.