Skip to content

Delivery Models

  1. Product strategy. A written strategy which outlines the environment and way forward.
  2. Standards. Rules that define guardrails in team behavior and force conversations about non-standard choices.
  3. Tenets. Mental shortcuts to help people globally make tradeoff decisions.
  4. Goal frameworks. A way to set goals that attempt to be coherent across the organization, and translate across the functions to coordinate work.
  5. Metrics. Track numbers to drive particular outcomes, add observability, or force attention to an area.
  6. Centralized/decentralized prioritization. Cut through cross-team projects gridlock by providing prioritization for critical projects and a way to break ties in prioritizations between decentralized teams.

https://www.rubick.com/coordination-models/

Roles

  1. Program manager. A role that runs programs (projects containing projects) and coordinates efforts across teams.
  2. Integrator. A role that solicits information from a broad variety of sources and synthesizes them into prioritization and plans.
  3. Controller. A role that has explicit authority to demand behavior in a particular arena.
  4. Standard definer. A role that defines guidelines and guardrails that constrain behavior that can be done without discussion.

https://www.rubick.com/coordination-models/

The flow

A person in flow state is no longer thinking of multiple things, or even their sense of self, but is singularly focused on a task or challenge. Many people report it is the happiest feeling in their lives.

Being in the flow is the state when people are more efficient

  • You can concentrate for an extended period of time
  • The task has a clear goal
  • You receive immediate feedback on your progress
  • You feel a sense of control
  • You’re absorbed, and it feels effortless. You’re singularly focused instead of focused on many things and distracted
  • Your sense of time is altered; time passes quickly or it is slowed in a good way
  • You don’t feel self-conscious, and your sense of self emerges stronger
  • You desire to repeat the task

Getting people in the flow

  1. Communicate purpose
  2. Define purpose
  3. Challenging work, but not impossible
  4. Split work into doable goals
  5. Build trust, and give people sense of control over their work
  6. People can make changes, if accidents happen we find a fix to the situation
  7. fast feedback cycles: A person in flow state should get immediate feedback on their process.
  8. Technical feedback (lint, tests, etc)
  9. Human feedback (Know if we are on track with our work or if something needs to be adjusted)
  10. A person will struggle to reach flow state if they are not compensated fairly.
  11. Salary
  12. Promotion
  13. Clear expextations of what will take to get a team member to the next level.
  14. A manager has to believe in their staff.
  15. The Pygmalion effect. This is when our belief in each other’s potential brings that potential to life.

Source: https://leaddev.com/culture-engagement-motivation/why-flow-matters-more-passion

Wrong abstractions work against this goal. Right abstractions help us to achieve it.

Abstractions can give us optionality. And optionality enables us to react to new challenges and changing requirements faster.

I think there is so much poor code out there because we somehow got convinced that things like refactoring and testing are extras. Things that we can do later. They are not! They are part of a professional coding workflow!

https://future.a16z.com/the-case-for-developer-experience