Productivity starts in our mind
Grzegorz Miejski
Productivity
productivity =
*definitions for the sake of this presentation
effectiveness * efficiency
99% of time we
say productivity
but we mean
efficiency
is how fast we’re
doing proper stuff
how fast/smoothly
we achieve it
achieving the right goals
Productivity
productivity =
*definitions for the sake of this presentation
effectiveness * efficiency
If already
efficient in the
tooling, focus
on doing the
right stuff
achieving the right goals
3 steps in any problem
implement
the solution
plan your
solution
understand
the problem
and choose
solution
effectiveness effectiveness effectiveness +
efficiency
Our focus today
Part 2.Solving the right problem
implement
the solution
plan your
solution
understand
the problem
and choose
solution
Each problem can have multiple“causes”
Problem that once was presented at work:
“The problem is we need faster computers for work”
But…
- is it because the codebase compile too long?
- or the test suite runs too slow?
- …?
Problems are are often solutions in disguise
“The problem is we need faster RAM in our computers”
“we need to have a QA in our team”
“developers don’t how their software run in production, they need to learn”
“we need to start this project of…”
understand and define the
problem together
instead of accepting
somebody’s solution
if it’s not the main
problem
we’ll be solving
a wrong problem
How to increase chances that we solve the right problem?
1. Explore: Why is that a problem? Is this a problem or a symptom? Is it a
problem at all?
2. Define: What are we trying to achieve? - State the problem as expected
outcome, not output
3. Always find at least 2 possible solutions to the problem
Understand what the real problems is.
Efficiency 101
Part 2.Solving the problem -planning
implement
the solution
plan your
solution
understand
the problem
and choose
solution
How to plan the solution?
Problem: we have a problem defined
Solution: we’ve choose the best solution
Next decision: how to deliver solution?
What kind of decision is it?
analyse and
act quickly
careful
analysis
decide now
decide now
painful consequences
if we’re wrong
How to get it right
For consequential and hard to revert decisions
1. make the decision easier to revert
2. postpone the decision to as late as possible - maximize
learning on the way (for example do an experiment)
Making it easier to revert
choose
database for
the project
Use repository
pattern
use high-level
tests with NO
assertions on DB
level (just API)
How to increase chances of getting it“right”?
postpone DB
choice just
before release
run performance
tests
run real PoC for
clients
How to increase chances of getting it“right”?
chances that we’ll pay
the cost of wrong
decision
How?
Make consequential and irreversible decisions
easier to revert and
maximize learning before deciding
to increase chances that we’re right
Efficiency 101
Part 3.be more productive with just one word
“NO”
*of course saying it like this is not the best strategy to be successful in any
matter 😁
I think you can solve your
problem by…
Hey, i have this problem, could
you…?
you accept that
you are the solution!
(remember part 1)?
When you accept the
request automatically
Experiment this week
● What problem do I solve?
○ when somebody approaches you with a problem, notice if it’s a
solution in disguise
○ notice when YOU push solutions instead of problems onto others
● How do I plan to solve the problem?
○ Where on the quadrant (reversible and consequential) is my current
decision?
○ How to ⬆ reversibility and ⬆ chances that we got it right
● How often am I being the solution?
Thanks
https://www.linkedin.com/in/grzmiejski/

Productivity starts in our mind - Dev productivity meetup

  • 1.
    Productivity starts inour mind Grzegorz Miejski
  • 2.
    Productivity productivity = *definitions forthe sake of this presentation effectiveness * efficiency 99% of time we say productivity but we mean efficiency is how fast we’re doing proper stuff how fast/smoothly we achieve it achieving the right goals
  • 3.
    Productivity productivity = *definitions forthe sake of this presentation effectiveness * efficiency If already efficient in the tooling, focus on doing the right stuff achieving the right goals
  • 4.
    3 steps inany problem implement the solution plan your solution understand the problem and choose solution effectiveness effectiveness effectiveness + efficiency Our focus today
  • 5.
    Part 2.Solving theright problem implement the solution plan your solution understand the problem and choose solution
  • 6.
    Each problem canhave multiple“causes” Problem that once was presented at work: “The problem is we need faster computers for work” But… - is it because the codebase compile too long? - or the test suite runs too slow? - …?
  • 7.
    Problems are areoften solutions in disguise “The problem is we need faster RAM in our computers” “we need to have a QA in our team” “developers don’t how their software run in production, they need to learn” “we need to start this project of…”
  • 8.
    understand and definethe problem together instead of accepting somebody’s solution if it’s not the main problem we’ll be solving a wrong problem
  • 9.
    How to increasechances that we solve the right problem? 1. Explore: Why is that a problem? Is this a problem or a symptom? Is it a problem at all? 2. Define: What are we trying to achieve? - State the problem as expected outcome, not output 3. Always find at least 2 possible solutions to the problem Understand what the real problems is.
  • 10.
    Efficiency 101 Part 2.Solvingthe problem -planning implement the solution plan your solution understand the problem and choose solution
  • 11.
    How to planthe solution? Problem: we have a problem defined Solution: we’ve choose the best solution Next decision: how to deliver solution?
  • 12.
    What kind ofdecision is it? analyse and act quickly careful analysis decide now decide now painful consequences if we’re wrong
  • 13.
    How to getit right For consequential and hard to revert decisions 1. make the decision easier to revert 2. postpone the decision to as late as possible - maximize learning on the way (for example do an experiment)
  • 14.
    Making it easierto revert choose database for the project Use repository pattern use high-level tests with NO assertions on DB level (just API)
  • 15.
    How to increasechances of getting it“right”? postpone DB choice just before release run performance tests run real PoC for clients
  • 16.
    How to increasechances of getting it“right”? chances that we’ll pay the cost of wrong decision
  • 17.
    How? Make consequential andirreversible decisions easier to revert and maximize learning before deciding to increase chances that we’re right
  • 18.
    Efficiency 101 Part 3.bemore productive with just one word “NO” *of course saying it like this is not the best strategy to be successful in any matter 😁
  • 19.
    I think youcan solve your problem by… Hey, i have this problem, could you…?
  • 20.
    you accept that youare the solution! (remember part 1)? When you accept the request automatically
  • 21.
    Experiment this week ●What problem do I solve? ○ when somebody approaches you with a problem, notice if it’s a solution in disguise ○ notice when YOU push solutions instead of problems onto others ● How do I plan to solve the problem? ○ Where on the quadrant (reversible and consequential) is my current decision? ○ How to ⬆ reversibility and ⬆ chances that we got it right ● How often am I being the solution? Thanks https://www.linkedin.com/in/grzmiejski/