OKRs and agile

 

OKRs

Objectives and KRs for the team are the responsibility of the team. 

Goal setting and committing require collaboration, planning and estimating by the team doing the work.

Everyone is responsible, must stay engaged and communicate status to each other and their managers. 



All Objectives/KRs for the squad start as "Low Confidence"

  • This includes rolled over goals which reset back to low confidence on rollover from previous quarter.
  • They remain so until squad reviews, projects effort and delivery.
  • Product must get engineering projections for Goals before they can be published (otherwise it's Low Confidence) 


Objectives should be prioritized.

  • Critical Goals which are "must have" must be identified. A "must have" goal will require more buffer to ensure it's made.
  • Goals can also be classified as Stretch Goals for a time duration (e.g. quarter)


Progress needs to be re-evaluated during the work e.g. if a goal is projected to take 6 weeks then there should be a review after 3-4 weeks. If the goal is off schedule the team should decide how to deal with it.

  • The goal may need escalation, if so PM and Squad lead escalate to Product and Engineering management


It is inherently understood that the further out something is estimated/projected, the more inaccurate that projection will be. That should be reflected in confidence level and also communication to management and stakeholders.

Realistic expectation setting is critical for everyones health and wellbeing.


If new requirements are added to a squads workload after goal work is projected then it could impact delivery of goals.   

  • Product and Eng may need to tradeoff new requests against committed goals. 
  • This could be one big requirement or lots of small requests which come in over time
  • note: a squad should set aside buffer for the unexpected (which will happen) e.g. 10-15% of quarter dev time.



How do we factor OKRs long term goals into an Agile way of working with frequent releases and getting customer feedback sooner?

A natural fit would be to break down KRs into smaller deliverables e.g. "Objective: integrate with all UK POSs within 1 quarter"  has to be broken down further into smaller deliverables (sub objectives perhaps) with their own KRs which squads can iterate on and deliver to customers and get feedback sooner. Again, the team has to project and commit to these. 

note: this Objective & KR decomposition is critical because many KRs are still too large/high level (imo) for an agile process with frequent release cycles


Max showcased an example recently of a team who created an Epic for each Objective and then created and linked in sub-Epics for work within each Epic Objective. One appeal of such is it establishes clear linkage/traceability between ORKs and work the squad is doing which in some cases is missing. I tried that approach for Onb Billing and created this "OKR Epic" last week and linked sub-epics in it as an experiment to try it out (I like how it works)

One thing to me it highlights is this KR: "95% of non-group restaurants have access to self-service billing/payment" can be decomposed to better match the deliverables: launch AU, GB, DE, 3DS etc.



team/squad used interchangeably, goals/objectives used interchangeably (though not equivalent)

Comments

Popular posts from this blog

angular js protractor e2e cheatsheet

angularjs ui-router query string parameter support

Notes on interview with Kent Beck about AI and why it's like a "genie"