Thinking Agile A Milestonesbased Approach to Simulation Project
Thinking Agile: A Milestones-based Approach to Simulation Project Management November 7, 2010 Presented at: INFORMS 2010 Jim Sawyer – Managing Consultant, Advanced Analytics & Optimization Ben Fuqua – Sr. Managing Consultant, Advanced Analytics & Optimization IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Agenda § § § Keys to a Successful Simulation Project Model Building as Software Development Agile Simulation: The “Milestones” Approach Project Example Q&A IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Typical steps in a simulation project § § § § § Problem assessment Requirements gathering Functional specification Model design Model construction Model verification Model validation Scenario execution Statistical analysis Presentation of results IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Traditional Simulation Project Timeline Requirements Specification Detailed Design Model Building Testing (Verification & Validation) Planned Timeline Super Mega s Critical Reqs R That Reqs eq Deliver results to cust s You Never Reqs Heard Of Reqs A Little Reqs Design Reqs Building Model Reqs Analysis qs Re Reqs What Can Happen in Reality IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management How does this affect our typical project steps? § § § § § Problem assessment Requirements gathering Functional specification Model design Model construction Model verification Model validation Scenario execution Statistical analysis Presentation of results § Problems are not well-defined § Requirements change constantly § Specs are “living” docs not a fixed set of instructions § No time for separate design phase § Seeing what is being modeled changes what needs to be modeled § Testing is continually deferred § New analysis ideas emerge beyond what was initially conceived IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Dealing with changing requirements § Project Management 101 – – – That’s out of scope That’s not in the requirements specification You never told me about that before That’s going to require a Project Change Request We can’t do that § The “Agile” Simulationist – – Change is expected Change is welcomed Change is manageable Change is a positive sign of customer involvement IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Manifesto for Agile Software Development www. agilemanifesto. org IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Agile Simulation: Key Points § Iterative approach to simulation project management § Achieve customer satisfaction through rapid, continuous delivery of useful models and results § Develop frequent “milestones” that establish business rhythms § At each milestone, working models are the principal measure of progress § Acknowledge that you will learn more as the project proceeds § Milestones are opportunities: – – – – To demonstrate progress on a regular basis To engage business users and ensure stakeholder commitment To share initial findings and ask for feedback To confirm expectations and explicitly address mismatches To reassess what is really needed vs. what has been done To re-plan future milestones To deepen relationships with the internal project team via shared successes IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Milestones Approach Milestone 1 (internal) Design Construction Testing Design Milestone 3 (external) Design Construction Testing Design Milestone 2 (internal) Construction Testing Deliver to customer Construction IBM Global Business Services – Advanced Analytics and Optimization Testing
Thinking Agile: A Milestones-based Approach to Simulation Project Management What makes a good milestone? § § § Clear objective Self-contained Crosses all functional areas of the system being modeled Short in duration Results in working software – Can be demonstrated to the customer § Includes design, development, and testing § Allows for parallel development within a project team § Sequenced by importance to project – – Milestone 1 establishes the basic framework for the model Subsequent milestones add detail IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Setting up milestones § Identify all primary functional areas to be modeled § Identify other groups of tasks needed to complete the project – Inputs, outputs, scenario definition, documentation, deployment § Work backwards from end date to establish timeline and business rhythm – Sets up periodic review points to manage changes § Create specific objective for each milestone § Allocate specific implementation tasks to the appropriate milestone – – – Does it happen always, sometimes, or rarely? How critical is it to the process being modeled? Is it a normal or an exception condition? § Results in a Milestones Matrix for project planning IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Example § INFORMS Example § Simulation study for a redesign of a partially automated order fulfillment facility – – – Major functional components include Picking, Packing, and Shipping There is some movement or flow of objects between each of these components – may be manual or automated Demand for orders to be fulfilled may be historical data, or synthetic data based on a growth profile IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Example: Milestones Matrix for Project Planning Order Fulfillment Model -- Sample Milestones Matrix Functional Workstream Milestone 1 Milestone 2 Milestone 3 Objective: Basic system running Objective: Conveyors and UI complete, adding detail to Picking and Shipping Objective: Model complete and ready for analysis Target date: +2 weeks Target date: +4 weeks Target date: +6 weeks Picking Continuous Picking of orders Break order Picking down into waves Add details of Picking resources utilized Packing Black box delay Shipping All orders routed to same dock Add details of Shipping resources, all applied at same dock Orders routed to variety of shipping docks based on destination Order Generation Simple orders with 1 line per order Allow multiple lines per order Create orders based on probability table Material Flow Basic conveyor system constructed and functional Merge/split logic added to conveyors <no additional functionality> Model Testing Basic "what goes in must come out" testing Structured testing for new outputs, User Interface, and Picking, Shipping logic Model passes all structured unit and system tests Inputs Read basic parameters for order generation Read parameters for wave Picking, Shipping resources, and all conveyorrelated inputs Add Picking and Packing resource read routines, and parameters for Order Generation Outputs High-level statistics: # Orders picked, packed, and shipped More detailed statistics: resource utilization, orders per wave All required outputs implemented User interface Majority of User Interface mocked up Majority of User Interface functional <no additional functionality> Documentation Overall model logic flow and key assumptions documented and shared with customer Output metrics and input parameters documented in detail Detailed model logic completely documented; Next steps defined IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Highlights of the Milestones Matrix § Complete user interface is prototyped during the first milestone – Facilitates clear communication with the customer about the system “switches and dials” that will be available for the analysis § Creating the model inputs and outputs is listed explicitly – – Not just the simulation model logic The level of detail in the simulation inputs and output statistics increases along with the level of detail in the model logic. § Defer lower priority tasks to future milestones – sometimes they may not need to be modeled at all – For example, the Packing component was left as a “black box” delay § Some components may be 100% complete prior to the final milestone – – Development critical to the rest of the model Need extra testing time for (such as the user interface) IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Conclusion § Accept that change is a natural part of simulation practice § Leverage iterative, agile methods to manage this change § Consider agile approaches for your team to both plan and execute model development – – Frequent iterations Frequent deliverables Frequent demonstrations Frequent communications § Use a Milestones Matrix as a tool to help set up and manage your project § Promote agile approaches across business analytics projects § Continuous process improvement – Do it better on every single project, every single time IBM Global Business Services – Advanced Analytics and Optimization
Thinking Agile: A Milestones-based Approach to Simulation Project Management Thank you! <jim. sawyer@us. ibm. com> IBM Global Business Services – Advanced Analytics and Optimization
- Slides: 16