Game Design, Development, and Technology

Slides:



Advertisements
Similar presentations
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Lecture 2 Title: PLC, SDLC, PMBOK
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
CS 5150 Software Engineering
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
 Contoso is working on Wireless 1xEvDo application to handle high speed 3G application data transfer (voice, video data) in mobile phones while working.
1 CMPT 275 Software Engineering Software life cycle.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
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.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
Lecture 3 Software Engineering Models (Cont.)
Slide 1 Construction (Testing) Chapter 15 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
An Introduction to Software Engineering
Software Development Life Cycle (SDLC)
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS J ANUARY 28, 2016 P ART 3.1 T EAMS AND P ROCESSES S OFTWARE E NGINEERING M ETHODS S OFTWARE E NGINEERING M ETHODS P RODUCTION T EAM M EMBERS.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Project Management Software development models & methodologies
Advanced Software Engineering Dr. Cheng
Methodologies/Life Cycle Models
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
CS223: Software Engineering
Software Development Overview
Methodologies and Algorithms
Roles and Responsibilities
Lecture 3 Prescriptive Process Models
Monitoring and Evaluation Systems for NARS organizations in Papua New Guinea Day 4. Session 12. Risk Management.
Assistant Professor of Computer Science Washington State University
CS 5150 Software Engineering
SNS College of Engineering Coimbatore
Software Processes (a)
Information Technology Project Management – Fifth Edition
Chapter 2 SW Process Models
Software Process Models
Software Life Cycle Models
Project & Program Governance
Rapid software development
Software Processes.
Introduction to Software Engineering
Software Development Process
Software life cycle models
Chapter 3 – Agile Software Development
Project Management Process Groups
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Software Process Models
Software Processes.
SNS College of Engineering Coimbatore
Agile Development – a new way of software development?
Extreme Programming.
Agile software development
Software Development Overview
Presentation transcript:

Game Design, Development, and Technology CS 382 Game Design, Development, and Technology Teams and Processes Software Engineering Methods Production Team Members Part 3.1

Software Engineering Methods Several software engineering methods are commonly used to create video games. Method 1: Extreme Game Programming (aka: “Code Like Hell, Fix Like Hell”) Design Code Test Deliver Arguments For… Coding with too much planning can be as bad as coding with no planning at all Tends to make programmers tackle the big problems earlier rather than coming up with (possibly faulty) solutions to the smaller problems that are discarded later Arguments Against… The frantic pace of the process is too stressful for most developers Errors are not systematically eliminated and sometimes are not detected at all Only suited for small projects with simple requirements (i.e., not games) Part 3.1 Teams and Processes Page 70

Method 2: Cleanroom Software Engineering (aka: “Increment-to-Completion”) Game Design – High Level Requirements Test Integrate with Full Game Initial Lower Level Designs Key System Design A (e.g., Rendering) Key System Design B (e.g., Game Logic) Code Pre-Integration System Test Arguments For… Promotes parallel development of independent features Relies heavily on system integration, so a playable version of the game is available early in the process Arguments Against… Parallel efforts require high degree of coordination to be successful Lower level design is always in flux, with specifications that are hard to document until after full implementation Part 3.1 Teams and Processes Page 71

Method 3: Cascade Development (aka: “The Waterfall Method”) High Level Game Design Lower Level Features Design Coding & Module Testing Integration & System Testing Delivery & Maintenance Arguments For… Eliminates common uncertainties by requiring extensive up-front planning Yields accurate schedule and completion estimation Arguments Against… Relies heavily on correct decisions at the beginning of the development process Does not accommodate significant alterations to game features Part 3.1 Teams and Processes Page 72

Method 4: Iterative Development (aka: “The Spiral Method”) Arguments For… Flexibly allows the definition, design, and development to be adjusted throughout the entire process Permits dynamic reaction to competitive market demands Arguments Against… Frequently results in “feature creep”, with constant changes to both budget and timeline Tempts developers to short-change high- level design in favor of ad hoc adjustments Part 3.1 Teams and Processes Page 73

Method 5: Agile Project Management (aka: “Adaptive Software Development”) Arguments For… Simplifies the development process to a minimal set of practices that may be adapted for each project and each development environment Well suited to project mobility and speed Arguments Against… Does not prescribe specific practices, so getting started can seem problematic Game publishers may have difficulty accepting this approach unless they view themselves as customers who control the list of priorities Part 3.1 Teams and Processes Page 74

Production Team Members Producer Day-to day supervision of direct reports Review of weekly task lists Evaluation of resource allocation Assignment of personnel to specific game features Maintaining cohesive and consistent team vision Management of outside contractors Facilitating communication and decision-making Proactive identification of potential problems Ensuring that the team is fully staffed and supplied Providing feedback and performance reviews for team Part 3.1 Teams and Processes Page 75

Assistant Producer Project management and game design evaluation Interfacing with and supporting developers, licensors, and marketing Design documentation review Tracking team members’ progress according to schedule Interacting with Quality Assurance team Coordinating information released to game fans Assisting in the fulfillment of the producer’s responsibilities Part 3.1 Teams and Processes Page 76

Executive Producer Offering creative input and direction to guide the brand to a successful place within the market Leading the global business effort and vision for a brand Clarifying the vision for the brand, conveying it to other department executives and internal leaders Receiving reports from producers and assistant producers, as well as various team leads (lead programmer, lead designer, lead artist, etc.) Part 3.1 Teams and Processes Page 77

Product Planner Program Manager Development Director Developing and defining the future of a game, a franchise, or even a product peripheral Planning for new consoles, controllers, headsets, networking capabilities, etc. Program Manager Communicating as the voice of the game team to other departments, including marketing Contributing to specification writing and managing dependencies between software groups Development Director Mentoring, training, and coaching developers Defining initial project scopes and delivery schedules Identifying risks and prioritizing objectives Part 3.1 Teams and Processes Page 78

Production Assistants Interning at the ground level, doing mundane tasks in administrative work, software testing, meeting preparation, note taking, etc. Learning the ropes to gain the experience needed to become assistant producer, producer, etc. Part 3.1 Teams and Processes Page 79