CS 382.001 JANUARY 28, 2016 TEAMS AND PROCESSES • SOFTWARE ENGINEERING METHODS • PRODUCTION TEAM MEMBERS PART 3.1 SOFTWARE ENGINEERING METHODS SEVERAL SOFTWARE ENGINEERING CREATE VIDEO GAMES. METHODS ARE COMMONLY USED TO METHOD 1: EXTREME GAME PROGRAMMING (AKA: “CODE LIKE HELL, FIX LIKE HELL”) DESIGN CODE TEST DELIVER ARGUMENTS FOR… ARGUMENTS AGAINST… • CODING WITH TOO MUCH PLANNING • THE FRANTIC PACE OF THE PROCESS IS CAN BE AS BAD AS CODING WITH NO PLANNING AT ALL TOO STRESSFUL FOR MOST DEVELOPERS • 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 TEAMS AND PROCESSES PAGE 70 • ERRORS ARE NOT SYSTEMATICALLY ELIMINATED AND SOMETIMES ARE NOT DETECTED AT ALL • ONLY SUITED FOR SMALL PROJECTS WITH SIMPLE REQUIREMENTS (I.E., NOT GAMES) METHOD 2: CLEANROOM SOFTWARE ENGINEERING (AKA: “INCREMENT-TO-COMPLETION”) GAME DESIGN – HIGH LEVEL REQUIREMENTS INITIAL LOWER LEVEL DESIGNS KEY SYSTEM DESIGN A (E.G., RENDERING) CODE KEY SYSTEM DESIGN B (E.G., GAME LOGIC) CODE TEST PRE-INTEGRATION SYSTEM TEST INTEGRATE WITH FULL GAME TEST PRE-INTEGRATION SYSTEM TEST INTEGRATE WITH FULL GAME ARGUMENTS FOR… ARGUMENTS AGAINST… • PROMOTES PARALLEL DEVELOPMENT • PARALLEL EFFORTS REQUIRE HIGH DEGREE OF INDEPENDENT FEATURES OF COORDINATION TO BE SUCCESSFUL • RELIES HEAVILY ON SYSTEM INTEGRATION, SO A PLAYABLE • LOWER LEVEL DESIGN IS ALWAYS IN FLUX, VERSION OF THE GAME IS AVAILABLE EARLY IN THE PROCESS TEAMS AND PROCESSES PAGE 71 WITH SPECIFICATIONS THAT ARE HARD TO DOCUMENT UNTIL AFTER FULL IMPLEMENTATION 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… ARGUMENTS AGAINST… • ELIMINATES COMMON • RELIES HEAVILY ON CORRECT UNCERTAINTIES BY REQUIRING EXTENSIVE UP-FRONT PLANNING • YIELDS ACCURATE SCHEDULE AND COMPLETION ESTIMATION TEAMS AND PROCESSES PAGE 72 DECISIONS AT THE BEGINNING OF THE DEVELOPMENT PROCESS • DOES NOT ACCOMMODATE SIGNIFICANT ALTERATIONS TO GAME FEATURES 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 HIGHLEVEL DESIGN IN FAVOR OF AD HOC ADJUSTMENTS TEAMS AND PROCESSES PAGE 73 METHOD 5: AGILE PROJECT MANAGEMENT (AKA: “ADAPTIVE SOFTWARE DEVELOPMENT”) ARGUMENTS FOR… ARGUMENTS AGAINST… • SIMPLIFIES THE DEVELOPMENT PROCESS TO • DOES NOT PRESCRIBE SPECIFIC PRACTICES, SO A MINIMAL SET OF PRACTICES THAT MAY BE ADAPTED FOR EACH PROJECT AND EACH DEVELOPMENT ENVIRONMENT • WELL SUITED TO PROJECT MOBILITY AND SPEED TEAMS AND PROCESSES PAGE 74 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 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 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 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.) TEAMS AND PROCESSES PAGE 77 PRODUCT PLANNER • 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 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. TEAMS AND PROCESSES PAGE 79