How To Manage A Project



Similar documents
Agile Projects 7. Agile Project Management 21

The Basics of Scrum An introduction to the framework

Writing a Requirements Document For Multimedia and Software Projects

15 Principles of Project Management Success

Agile So)ware Development

Risk Assessment Worksheet and Management Plan

Software Engineering and Scientific Computing

Start Learning Joomla!

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

The ITIL Guide to DevOps

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

JROTCDL.com CADET 105 Time Management 1

Mike Cohn - background

MIKE COHN. Software Development Using Scrum. VAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

TIME MANAGEMENT FOR COLLEGE STUDENTS

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Basic Trends of Modern Software Development


Creating The Work Breakdown Structure By Kim Colenso, Managing Principal, Artemis Management Systems

Would you like to have a process that unlocks ability to learn and produce faster?

Welcome to the Data Analytic Toolkit PowerPoint presentation an introduction to project management. In this presentation, we will take a brief look

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Kanban kick- start. By Tomas Björkholm at Crisp, April 2011

Introduction to Open Atrium s workflow

Agile Development. Redefining Management in Project Management. Neil Stolovitsky

Better Business Analytics with Powerful Business Intelligence Tools

Mobile Application. Development Life Cycle. A Definative Guide to Controlling your App Development

ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS. Dwayne Read Strategic Systems (WA) Pty Ltd

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Large Scale Systems Design G52LSS

Scrum. in five minutes

The Blending of Traditional and Agile Project Management

10 Steps Process to your LMS

Business Process Optimization w/ Innovative Results

B2C Marketing Automation Action Plan. 10 Steps to Help You Make the Move from Outdated Marketing to Advanced Marketing Automation

How to Outsource Inbound Marketing Services to Other Agencies

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

The Agile Project Management Bill Gaiennie, Davisbase Consulting. Copyright 2011 Davisbase LLC. Distribution without express permission is forbidden

MS Project 2007 Quick Guide

Quality Assurance Software Development Processes

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

USING YOUR TRAFFIC SYSTEM TO MAKE SMARTER CREDIT DECISIONS. Tricia Patterson, WideOrbit Sharon Simmers, Imagine Communications

IMPLEMENTING SCRUM. PART 1 of 5: KEYS TO SUCCESSFUL CHANGE

Accounts Payable Invoice Processing. White Paper

RUP and XP, Part I: Finding Common Ground

Join Your Accountant And Jump

Software Development Process

How to Select and Implement an ERP System

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Governments information technology

Developing for the App Store. (Legacy)

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Be visual all the time, and be verbal when labeling because explanations help clarify ideas.

Mobile Friendly Design

Creating a High Maturity Agile Implementation


Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Mastering Marketing Questions & Answers

Converting a Scrum team to Kanban

Prioritization. Edwina Jones RN, BSN

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Introducing GPS Tracking Technology to Employees

Web Application Development Process

Stride Methodology Lean Agile Development in a Dual Dual-Shore Environment Yash Talreja HethaTech

Agility in Fixed-Price Projects

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

How to Create Winning Joint Ventures

How To Find A Job

MONEY MANAGEMENT WORKBOOK

Paid Advertising on Search Engines: Tips on how to create and manage a successful pay-per-click marketing campaign

Top 10 Tips for Successful Software Development Management

Project Management. Interview Questions

Agile Project Management with Scrum

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Transforming Your Patient Data from Paper to Electronic Medical Records. Part of the Power2Practice Practice Management and Efficiency Series

Scaling Agile Is Hard, Here s How You Do It!

Project Management in Software: Origin of Agile

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Contents.

Agile vs. Waterfall. Why not both. Arnold Okkenburg PMP

Choosing IT Service Management Software

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

22 nd -24 th July 2015

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Using Adaptive Web Design to Increase E-Commerce Sales & Lead Generation

Student Academic Learning Services Page 1 of 8. Time Management & Organization. A Student Academic Learning Services Workshop

Today: Software Development Models (cont)

Knee Deep in Debt. Self-help

Scrum Is Not Just for Software

Scope Of Services At Dataflurry Prospectus

Social Networking Sites like Facebook, MSN

Waterfall to Agile. Colin Kelley CTO & Cofounder Invoca, Inc. colin@invoca.com. UCSB CS 189a January 13, 2015

Planned Methodologies vs. Agile Methodologies under the Pressure of Dynamic Market

Chapter 10. Becoming an Agile Enterprise

Managing a Project Using an Agile Approach and the PMBOK Guide

Transcription:

PROJECT MANAGEMENT

Project Management One of, if not the most important aspect of software development It is also one of the most neglected Programmers aren't good at it But it s not too hard if you've done the prep work We'll describe something light and easy, suitable for your type of project Inspired by agile methods, particularly Scrum

Overview The creative aspects of game development resist heavy up- front, on paper design Iterative methods embrace the chaos more effectively We've broken up your assignments into several milestones A working version of a game that incrementally converges to the final product So, how could you go about working on your milestones?

Creating a Feature List First, define the features that comprise your game This includes any documents, designs, art, sounds, code, etc. And assignments! Derive this from your high concept (assignment #1) Get as much detail as you can, but keep in mind there are a lot of unknowns at this point The whole team should agree with this list

Estimation and Prioritization For all the features, estimate time to complete all aspects of the feature Coding, tuning, testing, documentation, integration Be conservative Adjustments can and will be made throughout the project Assess risks unforeseen circumstances will come up Consult with us if you need help Determine how important the feature is to the quality of the final product (impact) Priority is a function of cost (time) to complete and the impact to the project Watch for high-impact, low-cost features (high priority),and low- impact, high-cost features (low priority)

Risk Management Why? Why? Risk analysis is a requirement of the technical design process Games are never finished early Not everything can be known in advance People tend to be optimistic with estimates Specifications change People quit, get sick, have family obligations For you: other courses, midterms Identified risk can be managed Unknown risk will bite you at some point

Risk Management Process Identify risk Decide: Will deal with it proactively, i.e. eliminate it upfront Adding contingency padding to the schedule is the default option Try to be smarter than that Usually still need a reactive plan Will deal with it reactively, i.e. when it happens Requires clearly defined triggers Requires a contingency plan upfront Usually still need contingency padding to execute the backup plan

Milestone Definition Get the team together Examine the feature list Agree to the features that can be completed for the milestone Pull them off the feature list Agree who owns each feature Typically features need further breakdown into multiple tasks Determine dependencies between tasks Leave paper trail

Task Breakdown and Estimates Break down features into 1 hour to 3 day tasks If a feature requires a technical design, make this a task Don't forget non-code content Don't forget about integration, testing and tuning Try to balance work so everyone finishes at the same time Easier to do the less territorial the code is

Task Breakdown and Estimates Beware of vague tasks e.g. Graphics Engine: 2 weeks If a task estimate is longer than three days, break it up into smaller subtasks and track individually Graphics Engine: 3 weeks mesh rendering: 3 days background rendering: 1 day vehicle rendering: 3 days text system: 2 days etc.

Dependencies Task A has to be completed before work on Task B can begin Dependencies lengthen the schedule Track across tasks and across people Avoid log jams Utilize flexibility in the order tasks can be completed

Creating a Schedule First pass: 1. List all tasks to be completed in breakdown 2. Determine who will complete each task 3. Add up completion estimates This will generate an initial completion date for the milestone at the current level of scope The first estimate will be: Very late Wildly optimistic

Scoping Scoping is the process of dropping tasks/features of the game to make the milestone schedule achievable. Importance of features determined by the priorities in the master feature list. Start with lowest priority features first. Re-evaluate schedule after each scoping pass. Scoping can happen at the feature (pre-milestone), or task level (during milestone).

Creating a Schedule After the first pass of scoping: 1. Add 30-50% contingency padding 2. Determine and balance dependencies Iterate until it works Variables: Number of tasks Scope of each task Person assigned to the task

Tracking Progress Scrum style Get together every day for a 15 minute meeting Everyone answers three questions: What did you do since the last meeting? What are you doing until the next meeting? Is there anything impeding your progress? The first two questions are used to track the progress of the milestone (are you late?) The third identifies issues that require additional action (recall risk analysis) Leave paper trail

Adjustment What do you do when things start to go off the rails? Use up some of the contingency time Redefine the task (make it smaller) Steal time from another task Work longer hours to "make up the time" What you do depends on the task in question Is the task related to a critical, or optional feature?

Adjustment cont d Projects that are behind schedule stay that way unless swift action is taken to fix the problem Daily meetings catch problems quickly Excessive overtime creates stress, degrades morale, and ultimately lowers the quality of the product It would be nice if it could be totally avoided Honest project management works

Shipping a Milestone Give yourself a couple of days before the milestone date for integration and testing Last second feature additions will destabilize the build Get ready for the next one Were any features incomplete? Throw them back onto the master feature list Conduct a post mortem...adjust the process Revisit master feature list Examine priorities, make adjustments, estimate with new refined knowledge If adding features to the game, use a zero-sum approach An equivalent cost feature has to be removed Repeat!

A Good Overview http://codebetter.com/blogs/darrell.norton/articles/50339.aspx

Conclusion Agile project management accounts for the inherent unknowns of game development It's not hard to employ in practice Fine grained estimation, tracking and adjustment keeps you honest Problems are found early You aren't flying blind