Date post: | 16-Dec-2015 |
Category: |
Documents |
Upload: | todd-youngman |
View: | 215 times |
Download: | 0 times |
Advanced Scheduling ConceptsSoftware can land an aircraft. Why can’t it plan a project?
Shane Archibald, Managing PrincipalArchibald Associates &Spider Project USA
SESSION FRI35
Advanced Scheduling Concepts
In this session, we will Review some significant advances in software and
computing capabilities… and how they came about
Review what we think we know about scheduling… and maybe learn otherwise
Shift our way of thinking and take a giant step forward
Review some interesting and unique functionality in a very special Scheduling tool
The Evolution of Computers
Computers have never been good at finding answers to complex questions
The very best can only comprehend and answer simple, straightforward questions but still get them wrong nearly one third of the time
Search engines don’t answer a question–they deliver thousands of search results that match keywords
Are we satisfied? If so, then Why?
IBM’s R&D Challenge
The grand challenge driving IBM’s project was to win on the game show Jeopardy!
The broader goal was to create a new generation of technology that could find answers in unstructured data
A Significant Step in Computing Evolution – IBM’s Watson
Fed mountains of information, including text from
Commercial sources, such as the World Book Encyclopedia
Sources that allow open copying of their content, such as Wikipedia and books from Project Gutenberg
A Significant Step in Computing Evolution – IBM’s Watson
Programed it to respond based on rank of findings
Tested it in a mock game of Jeopardy!
Failed miserably!
Watson
They tried Again. And again. And failed each time.
Asked themselves how people learn and improve
The Paradigm Shift
Watson – Early Lessons Learned
Why was the Team successful?
Didn’t settle for existing “reality”
Stopped doing the same thing, expecting different results
Team asked themselves what the difference was between people and Watson
Understood a minor change in approach can lead to a significant change in outcome
What does all this have to do with Scheduling?
IBM’s Watson – Relevant to Scheduling?
Traditional CPM Software
Uses a single predefined formula; no heuristics
Uses heavy human intervention; no automated adjustments or changes
Results require significant analysis, validation & manual adjustments; “I’ll take it from there…”
Process is cumbersome, inefficient and inaccurate
Cumbersome Process?
Collect information and estimates (duration, effort, resource, cost, risk, etc.)
Enter into scheduling system, calculate, validate; plan and schedule produced!
Work
Update for progress, recalculate, validate
Analyze results and identify issues
Meet with team to mitigate issues; make decisions and new plans
Enter decisions / changes to schedule, recalculate, validate
Repeat …For the life of the project!
Cumbersome Process?
What if we are talking about aircraft autopilot?
Collect information
Enter into system
Fly (for a second)
Update information for flight progress, recalculate forecast, validate
Analyze results and identify issues
Meet with team to mitigate issues; make decisions and new plans
Enter decisions / changes to flight controls, recalculate, validate
Repeat …For the life of the flight!
The Variables
Internal variables
Elevator (Pitch)
Rudder (Yaw)
Aileron (Roll)
Flaps (Lift)
Ground & Air speed
Thrust
Gross weight
Drag / Friction
External variables
Wind speed
Wind direction
Air pressure
Weather
Altitude
Destination (location, altitude, etc.)
Other aircraft
Other changes
The Algorithm
If
Air Speed < X and Flaps < Y
Then
Increase Thrust until Air Speed => X
OR
Lower Flaps until Flaps => Y
Or…
Immediately measure again and repeat
Software Can Land an Aircraft!
If a computer can land a 450 ton aircraft full of human life with zero intervention, then why can’t it correctly re-sequence a few thousand activities and resources?
IT CAN!But it needs the variables, rules, and algorithms to do so
Existing “Reality”
Standard Schedule Input for an Activity
Duration
Logic
Resources
Cost
Baseline
*Timeframe (Calendar window)
Existing “Reality”
What are we trying to represent?
Duration – Amount of work (and resource capacity)
Logic – Relationship to other work
Resources – People, Equipment & Materials used to complete that work
Cost – Cost of the work (and overall Spending Plan)
Baseline – Target of the work; success criteria
*Timeframe (Calendar window) – When the work will take place
Existing “Reality”
What are the maintenance requirements?
Duration – Amount of work (and resource capacity)
Logic – Relationship to other work
Resources – People, Equipment & Materials used to complete that work
Cost – Cost of the work (and overall Spending Plan)
Baseline – Target of the work; success criteria
*Timeframe (Calendar window) – When the work will take place
Shifting The Paradigm
Didn’t settle for existing “reality”
Stopped doing the same thing, expecting different results
Asked themselves what the difference was between
human-decision and software-output processes
Understood that a minor change in approach could lead to
a significant change in outcome
Let’s Think About This…
What are the Variables?
What information do we, as a team and in a meeting, use when determining the best current plan or solution?
What are the Rules?
How do we, as a team, chose alternatives when tasked with changing our plan?
What should the Heuristic algorithm target?
The target is determined by the user
The algorithm is proprietary
Variables
Internal Variables those that are completely self-contained within the subject, are directly related and work together to achieve some result
External Variables IMPACT the Internal Variables in some way, shape or form
Our Challenge…
…Is to develop the Internal Variables and related Rules such that they react to impacts from External Variables without human intervention
Assumption: The Schedule “Activity” is the basic building block of a Schedule and will be our focus
What are the Internal Variables of our Activity?
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
*Scope of Work* (volume)
What are the External Variables?
Labor Availability
Equipment Availability
Availability of Supplies & Materials
Space limitations
True Predecessors
Special Events
Weather or Season
Site Conditions
Target or Baseline
Management “preference”
Primary Foundational Building Block
Volume
is an attribute of each activity, representing the amount of work to be done
Let’s Start SLOW, From The Top and Automate our Internal Variables
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
Imagine…
What if we could wrap Rules around the activity, like…
You should delay the work until the last minute
You cannot pause the work; it must be fully completed in a single pass
If Site A has standing water, you must remove that water before digging the trench
We Will Have Automated…
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
Imagine Complex Logic…
What if Logic could be used to represent complex relationships to other work, like…
You MUST do the work IMMEDIATELY following completion of predecessor Y
You can start the work as soon as predecessor X is 30 yards down the road but you cannot pass 50-yards until predecessor X is 10 yards from completion
If Z happens, then we need to do B, C, & D before A
We Will Have Automated…
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
Then Hours Required…
…would be the result of Volume of work divided by individual Resource Productivity
Hours = Volume / Resource Productivity
And
Duration = Hours / Resource Workday
Then Hours & Duration…
…Would be
Self-Adjusting
based on Resources Assigned
But we would still need to manually assign them
We Will Have Automated…
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
Imagine Resources…
…With attributes describing their
specialized Skill
…That could be automatically
assigned to activities based on Skill
required
We Will Have Automated…
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
Are we there yet?
And…
Cost of the work was based on
Forecasted hours and true rates of automatically assigned “named” resources
Overhead costs were applied by hour or flat rate or quantity of material or use of equipment
Materials consumed by Equipment and was automatically applied
Then TOTAL Cost…
…Would be
automatically calculated
based on the
specific Resource
that has been
automatically assigned
We Will Have Automated…
Unique characteristics
Timeframe
Effort (Hours)
Duration
Responsibility (Resources)
Cost to Complete the Work
How Long…?
How long do you think it will take
companies to develop software
that will let us use
Variables?
Spider Does!
Spider allows Multi-Resources too
Connect your Named Resources (e.g. Bricklayer, Bricks, Masonry, and Mixer) to create a multi-resource and make just a single assignment for brick work
Maybe you have multiple mixers and bricklayers…
Use Skills as part of your Multi-Resource to let Spider pick the best named resource for the assignment
Spider Does!
Teams of Resources can be:
Assigned to activities so the activities will start only when the whole Team is available to work
…Or Resources can be described as “able to do the work” and the software would pick the “best” or available team to complete the work, make the assignment, calculate the costs, and consume the materials
Teams can consist of may different Resources, Equipment, Materials, Multi-Resources or Skills
Spider Does!
Resource assignments can carry Rules such as…
“You MUST have at least 2 of this type of resource to start the task. You can have more resources but cannot exceed 5 at any given time during performance of the task due to space or other limitations”
Spider will start the task when it can find two resources that are ready to perform and will ADD up to three additional resources if and when they become available, to complete the task faster
Spider Does!
Spider supports TRUE Risk Management
Insert REAL Risk Events into your activity network
Attach Mitigation Plans to those Risk Events using conditional logic
Built-in Monte Carlo will consider these events and mitigation plans when calculating probabilities of success for At Complete dates and costs
Spider Does!
Baseline values… Can be driven by confidence levels, which can be
driven by MC statistical analysis
Can easily compare values, in your schedule, ON YOUR SCREEN (and NOT in a 2,394 page text file!)
Can be easily updated
Spider Does!
Spider supports the 3-Senarios Method
Build Optimistic, Pessimistic, and Most Likely schedules- Spider will automatically maintain synchronization from a single update
Provide the Pessimistic version to the owner or Client
Provide the Most Likely version to the Project Manager
…But drive the Team towards the Optimistic version
Spider Does!
Algorithms are based on Heuristics
heu·ris·tic 4. Computers, Mathematics. pertaining to a trial-and-
error method of problem solving used when an algorithmic approach is impractical.
-dictionary.com
Spider Does!
Schedule Optimization
Spider is the ONLY Project Management software that optimizes resource, cost, and material constrained schedules and budgets for projects and portfolios
Spider Does!
Monte Carlo & Schedule Optimization
Spider is the ONLY Project Management software that properly runs Monte Carlo on Optimized Schedules
Spider Does!
Spider will search through multiple combinations of variables to automatically assign the best Resource(s) to each activity, based on:
Type of Resource(s) needed
Availability of the Resource(s), when the work takes place (NOT when the project is initially planned)
Total Cost to complete the work, based on the cost and productivity of the Resources in the pool
Or on speed to complete the work, based purely on the productivity of the resources in the pool
…Based on your personal choice
Spider Does!
With the push of a button you can run a heuristics-based algorithm that will search through various combinations of all those variables to find the optimal schedule to give us:
The shortest possible schedule?
The lowest possible Cost?
The greatest return on investment?
The quickest release of key Resources?
The most Payment Milestones by the end of the year?
What is your priority?
What will it be tomorrow?
Conclusion
Paradigm Shifts ARE possible
Don’t settle for existing “reality”
Stop doing the same thing, expecting different results
Ask yourselves what the difference is between human-decision and
software-output processes
Understand that a minor change in approach can AND DOES lead to a
significant change in outcome
Conclusion
Project Schedules can self-adjust if given variables, rules, and heuristic algorithms instead of static values and simple equations
Spider Project employs significantly advanced heuristic-based functions and algorithms to support
Dynamic Variable Scheduling
Contact
Shane Archibald, Managing PrincipalArchibald Associates & Spider Project
USA