SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
Planning for Uncertainty
Marcin Czenko
Any questions or ideas ?
info@redgreenrefactor.eu
listen to the research
complexity is not a legend
complexity is a science
Henri Poincaré (1854-1912)
The father of chaos theory: chaotic deterministic
systems (three-body problem).

Chaotic systems remain deterministic, though their
long-term behavior can be difficult to predict with
any accuracy.
Ilya Prigogine (1917-2003)
Nobel Laureate noted for his work on dissipative
structures, complex systems, and irreversibility.

Complexity is non-deterministic, and gives no way
whatsoever to precisely predict the future.
Chaotic behavior pushes a system in equilibrium
into chaotic order, which means, in other words, out
of what we traditionally define as 'order'.
Complex systems evolve far from equilibrium at the
edge of chaos. They evolve at a critical state built
up by a history of irreversible and unexpected
events.
Complexity is about how a huge number of
extremely complicated and dynamic sets of
relationships can generate some simple behavioral
patterns.
Chaotic behavior, in the sense of deterministic
chaos, is the result of a relatively small number of
non-linear interactions.
Chaos

Complexity
Ralph Stacey

Although short term developments are predictable,
new forms emerge unpredictably over the long term.
Edge of Chaos: between deterministic
order and unpredictable complexity:
regular irregularity, predictable
unpredictability.

Things at the edge-of-chaos seem optimized for
adaptation and information-processing, and so
natural selection would favor things near there...
Ralph Stacey

The organizational reality is that members of the
organization are not rule-following entities and they all
do choose their own goals and actions to some extent.
The systemic approach is not
applicable to humans.
Complex organizational reality

many influence, nobody knows the outcomes
we are in charge but not in control
understanding complexity is hard!
that’s why demagogy often wins with logic
“agile” estimating and planning is full of inspiring stories
if you try hard you may even convince
yourself that they are real
Is your estimating and planning aligned with reality?
or you’re still dreaming?
many practices, different philosophies
remember: practices are context dependent
planning game (eXtreme Programming)
is a great example of an “agile” practice
often used for “non-agile” purposes
Estimation Poker

0 1 2 3 5 8
13 20 40

?

∞
Estimating Time

How much time do you
need to run 100m?

http://www.brandeis.edu/studentaffairs/health/healthandwellness/nutrition/sportsnutrition.html
Estimating Time

9.58s
http://wall.alphacoders.com
Estimating Time

How much time do you
need to dig a 1x1x1m hole?
Estimating Time
It depends...

http://www.cyclone.com.au
http://www.made-in-china.com
Estimating Time

People...
Estimating Time
When you estimate time needed to finish an activity, you
make a number of assumptions:
• who will be doing the job?
• what will be his or her productivity?
• which tools will be available?

You cannot control these hidden factors...
...yet creating the estimate costs lots of your energy.
Estimation Poker

0 1 2 3 5 8
13 20 40

?

∞
What is size?

• Is it effort?
• Is it complexity?
• Is it risk involved?
• ....
What is size?

SIZE

=

∑

we・effort
wc・complexity
wr ・risk
size=5

size=2

size=8
size=1

size=3
Estimation Poker

0

1

8

2 3?
1 0 40 5 ∞
32

5
Estimation Poker
0

1

8

• Great communication tool.

2 3?
1 0 40 5 ∞
32

• Reveals the differences in understanding the scope
of the expected delivery.
• Helps in realizing and removing fluctuations - the
size of the Product Backlog Items considered
ready to be taken into the Sprint should converge
to a similar size in a longer perspective.
Can we do the same, while still
estimating in time?

No. We can’t control productivity,
we do not know who will be doing
the job, we do not know which tools
will be there.
The actual number is not important.
it comes handy only during the negotiation phase
How do we know the velocity without
a number?

Significant fluctuations in the
number of delivered product
backlog items is the real
information here.
But then, how can we use estimates
to find out when will we be done?

We don’t.
this is where agile estimating and
planning looses contact with logic
why?
How accurate is your estimate?

2
1

3
How accurate is your estimate?

20
13

40
Estimation Poker

0 1 2 3 5 8
13 20 40

?

∞

from all available numbers...
Estimation Poker

13

20
...some are as good as...

40
Estimation Poker

?
Estimation Poker
how much certainty
do you have about
Product Backlog
Items of this size?*

5 8
13 20 40

*) assuming your
reference is 2 or 3?
Predictable estimates?
Product Backlog
1

2

3

5

8
13
20

???

How far can you look into the
future before loosing Agility?
Predictable estimates?
Product Backlog
1

2

3

5

8
13
20

???

How far can you look into the
future before loosing Agility?
Not too far...1,2 Sprints if you
have one Development Team.
You simply do not know...
You are
here

Work Remaining

SPECULATION !
YOU HAVE NO IDEA WHAT WILL
HAPPEN HERE!

This is
where
you
know...

Extremely
inaccurate!
Sprint 1

...this is
where you
can still
forecast...

Sprint 2

Sprint 3

Sprint 4

Sprint 5

Sprint 6

Sprint 7

Sprint 8
Does it mean I should not bother
estimating the bigger items in the
product backlog?

You won’t loose too much anything
if you don’t, but you may not be able
to escape from it the very first time.
Science:
short-term planning is (partly) predictable
long-term planning is not.
Digression

Do you think that the fact that Scrum Guide focuses
on Sprints (thus short-term) is an accident?
If complexity is a fact: why do we still ignore it!
There is no way one can use long-term
estimates to have even a rough indication
of what’s gonna happen in the future!
Tracking Progress?
Difference between planned and delivered.
You are continuously delivering less than planned:
you are too slow, you have to adapt!
You are delivering what you plan:
are you satisfied with the progress?
can you do better than that?
adapt!
Tracking Progress?
The rest is speculation !

you do not know how far are you now

because you do not know how
much is still ahead of you
Your only weapon

Regularity
Predictability
Continuous Improvement

QUALITY
External and Internal Quality
QUALITY
EXTERNAL

INTERNAL

How well the system
meets the needs of the
customers and users.

How well the system meets the
needs of the developers. How
easy it is to extend the system.
do the right thing in the right way

• Acceptance Test Driven Development
• Test Driven Development
• Continuous Integration
• Pair Programming
Facts
• If your customer does not have interest in a honest
collaboration - the risk is already on your side.
• You can’t win your customer collaboration without
predictability.
• Predictability is unachievable without quality.
• Quality is illusion without discipline and structured
approach to engineering.
Facts
• Estimating an appropriately detailed Product

not

Backlog will
give you any dependable data
about the scope, cost, and deadline.
• In a complex environment - the cost cannot be
predicted.
• Doing fixed-price contracts is gambling. And

nothing is going to change that.
still doing fixed-price?
STEP 1
Buy the best Random Number Generator you
can. Spend extra miles from your educational
budget. Make it look good, make it look
serious.
STEP 2

always start with one development team
STEP 3
always start with the walking skeleton
where you trigger an initial architectural
discussion, you set up an initial
infrastructure, and deliver a working
architecture
before finishing walking skeleton

estimating is a waste of time anyway

0

1

8

2 3?
1 0 40 5 ∞
32
STEP 4
Inspect and adapt and at the same time
educate your customer and stakeholders.
Measure, and learn fast
Tom Gilb
Other considerations
• Development may be cheaper than analysis - run a
couple of Sprints on your own expense before
making an offer.
• This will give you more confidence, and will lower
the risk of underestimating the amount of work.
• Remember: there is no certainty!
Embrace uncertainty and start preparing your
business for a change.

Per-Sprint finance.
?
http://creativecommons.org/licenses/by-sa/3.0/

This presentation was inspired by the works of many people, and we cannot possibly list them all. Though we did our very best to
attribute all authors of texts and images, and to recognise any copyrights, if you think that anything in this presentation should be
changed, added or removed, please contact me at marcin.czenko@redgreenrefactor.eu.

Contenu connexe

Similaire à Planning for Uncertainty

Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsyasinnathani
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)Rodrigo Vieira
 
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...Story boarding, Handwritten recognition, Inductive, subductive, abductive met...
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...Faisal Shahzad Khan
 
Software estimation is crap
Software estimation is crapSoftware estimation is crap
Software estimation is crapIan Garrison
 
Mqug2015 july richard whyte
Mqug2015 july richard whyteMqug2015 july richard whyte
Mqug2015 july richard whyteRichard Whyte
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?Alexandre Cuva
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folksVishwas N
 
Blameless system design - annotated
Blameless system design  - annotatedBlameless system design  - annotated
Blameless system design - annotatedDouglas Land
 
Architecting a Post Mortem - Velocity 2018 San Jose Tutorial
Architecting a Post Mortem - Velocity 2018 San Jose TutorialArchitecting a Post Mortem - Velocity 2018 San Jose Tutorial
Architecting a Post Mortem - Velocity 2018 San Jose TutorialWill Gallego
 
(PROJEKTURA) agileadria agile for corporations
(PROJEKTURA) agileadria agile for corporations(PROJEKTURA) agileadria agile for corporations
(PROJEKTURA) agileadria agile for corporationsRatko Mutavdzic
 
500 Prompts For Narrative And Personal Writing. 500
500 Prompts For Narrative And Personal Writing. 500500 Prompts For Narrative And Personal Writing. 500
500 Prompts For Narrative And Personal Writing. 500Deana Villanueva
 
Innovation in the Agile Age
Innovation in the Agile AgeInnovation in the Agile Age
Innovation in the Agile AgeScott Neilson
 
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...Analytics India Magazine
 
Estimation myths debunked
Estimation myths debunkedEstimation myths debunked
Estimation myths debunkedNetguru
 
Story points vs hours choose wisely; turn the bane of project estimation into...
Story points vs hours choose wisely; turn the bane of project estimation into...Story points vs hours choose wisely; turn the bane of project estimation into...
Story points vs hours choose wisely; turn the bane of project estimation into...Katy Slemon
 
I, project manager, The rise of artificial intelligence in the world of proje...
I, project manager, The rise of artificial intelligence in the world of proje...I, project manager, The rise of artificial intelligence in the world of proje...
I, project manager, The rise of artificial intelligence in the world of proje...PMILebanonChapter
 

Similaire à Planning for Uncertainty (20)

Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story points
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
 
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...Story boarding, Handwritten recognition, Inductive, subductive, abductive met...
Story boarding, Handwritten recognition, Inductive, subductive, abductive met...
 
Software estimation is crap
Software estimation is crapSoftware estimation is crap
Software estimation is crap
 
Mqug2015 july richard whyte
Mqug2015 july richard whyteMqug2015 july richard whyte
Mqug2015 july richard whyte
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?
 
Testing for the deeplearning folks
Testing for the deeplearning folksTesting for the deeplearning folks
Testing for the deeplearning folks
 
Blameless system design - annotated
Blameless system design  - annotatedBlameless system design  - annotated
Blameless system design - annotated
 
NoEstimates @ miniIAD
NoEstimates @ miniIADNoEstimates @ miniIAD
NoEstimates @ miniIAD
 
Architecting a Post Mortem - Velocity 2018 San Jose Tutorial
Architecting a Post Mortem - Velocity 2018 San Jose TutorialArchitecting a Post Mortem - Velocity 2018 San Jose Tutorial
Architecting a Post Mortem - Velocity 2018 San Jose Tutorial
 
The #NoEstimates Debate
The #NoEstimates DebateThe #NoEstimates Debate
The #NoEstimates Debate
 
(PROJEKTURA) agileadria agile for corporations
(PROJEKTURA) agileadria agile for corporations(PROJEKTURA) agileadria agile for corporations
(PROJEKTURA) agileadria agile for corporations
 
C programming guide new
C programming guide newC programming guide new
C programming guide new
 
500 Prompts For Narrative And Personal Writing. 500
500 Prompts For Narrative And Personal Writing. 500500 Prompts For Narrative And Personal Writing. 500
500 Prompts For Narrative And Personal Writing. 500
 
Estimations
EstimationsEstimations
Estimations
 
Innovation in the Agile Age
Innovation in the Agile AgeInnovation in the Agile Age
Innovation in the Agile Age
 
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...
Deciphering AI - Unlocking the Black Box of AIML with State-of-the-Art Techno...
 
Estimation myths debunked
Estimation myths debunkedEstimation myths debunked
Estimation myths debunked
 
Story points vs hours choose wisely; turn the bane of project estimation into...
Story points vs hours choose wisely; turn the bane of project estimation into...Story points vs hours choose wisely; turn the bane of project estimation into...
Story points vs hours choose wisely; turn the bane of project estimation into...
 
I, project manager, The rise of artificial intelligence in the world of proje...
I, project manager, The rise of artificial intelligence in the world of proje...I, project manager, The rise of artificial intelligence in the world of proje...
I, project manager, The rise of artificial intelligence in the world of proje...
 

Dernier

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Dernier (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Planning for Uncertainty