advanced scheduling concepts software can land an aircraft. why can’t it plan a project? shane...

77
Advanced Scheduling Concepts Software can land an aircraft. Why can’t it plan a project? Shane Archibald, Managing Principal Archibald Associates & Spider Project USA SESSION FRI35

Upload: todd-youngman

Post on 16-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

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

The Evolution of Computers

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

IBM’s Answer

Watson

Watson

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!

A Significant Step in Computing Evolution – IBM’s Watson

Watson

They tried Again. And again. And failed each time.

Asked themselves how people learn and improve

The Paradigm Shift

February 2011 – Success!!

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?

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!

What if we are talking about aircraft autopilot?

What if we are talking about aircraft autopilot?

What if we are talking about aircraft autopilot?

Software Can Land an Aircraft!

But it needs the variables, rules, and algorithms to do so

The Mechanics

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 Rules

Gross weight –– Air Speed

Air speed –– Flaps

Pitch –– Thrust

Drag –– Thrust

Etc…

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

The Results

FAST response times

ACCURATE adjustments

REDUCED workload

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

The Challenge

How do we develop a

“Self-Correcting”Schedule?

A Sample Exercise: Re-pave Roadway

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

Existing “Reality”

A Sample Exercise

Are there opportunities for improvement??

Absolutely!

Remember the IBM R&D Team?

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

A Sample Exercise

Internal & External

Variables

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”

How do we Automate Internal Variables…

…So they

self-correct

when something changes?

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

Imagine that Resources…

…had unique

Productivity Valuesfor that type of 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?

Imagine Resources With…

Specifichourly and overhead

Rates

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?

Actually… It’s already here!

Spider Project

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?

Spider Does!

…SO much more

Visit

SpiderProjectUSA.com

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

[email protected]

[email protected]