Sprint - May 27 to June 7, 2024
Global Sprint Planning
3 things that might take us down
Team sprint planning
For your team sprint planning copy this template into a comment below for each team.
# Team ___
**Support hero:** ___
## Retro
<!-- Grab the high and low priority items from last time and add whether that item was completed or not -->
-
## Hang over items from previous sprint
<!-- For each item, decide to re-prioritise (and add below) or deprioritise -->
- Item 1. prioritised/deprioritise
## OKR
1. OKR, status (red/yellow/green) and action points if yellow/red
### High priority
-
### Low priority / side quests
-
Team A nightmare on CSS parsing street
Support hero: @manoel
- bank holiday monday
- manoel out a few days
- paul out for week 1
items from previous sprint
High priority
- π‘ hiring (@pauldambra)
- handed mobile engineer tech screens to Manoel - it was silly me doing them
- three more FS engineer tech screens booked
- hogql filters (@daibhin with @pauldambra supporting)
- this is out for a percentage of traffic
- it is at least twice as slow
- person properties are expressed as two joins between events and persons/pdi
- repeated parsing is ~30% of processing time
- π Replace posthog-java with posthog (The core of the Android SDK written in Kotlin) issue. (@marandaneto )
- on course - Neil and I being mean :p
OKR
- OKR, status (red/yellow/green) and action points if yellow/red
- π‘ quality and consolidation
- mobile replay open beta
- out free and being promoted in onboarding
- replay captures every site
- David working with rrweb to improve CSS parsing, already a major reduction in issues as a result
- people can find the valuable recordings
- queued behind the others
- mobile replay open beta
- π‘ Error tracking MVP
- need to decide if we start
- π‘ Hire at least 2 amazing colleagues
High priority
- hiring (@pauldambra)
- hogql filters performance (@pauldambra )
- intercept person property queries and convert them to subquery not join (housewatch thinks 14x faster)
- can't roll out as is
- users like the screenshot option for android - so add it to iOS (@marandaneto)
- continuing CSS issues as most important customer problem (@daibhin)
Low priority / side quests
- mobile usage report stuff @pauldambra
- persistent replay queue in posthog-js @pauldambra
- Remove last of the antd components @daibhin
- masking text in the screenshot images on mobile (@marandaneto)
- improved UI filtering using HogQL (@daibhin)
- e.g. can we use one set of filters everywhere?
Team Data Shack
OKR Q2 2024
Objective
Release data warehouse to everyone
-
Key Results:
- Integration first experience
- schemas are reliable
- modeling of each integration is clear
- Good automatic roll up views and joins
- Wizard to onboard people
- Establish a solid pattern to build integrations
- Complete data warehouse experience in the rest of the app (insights, feature flags, experiments)
- Integration first experience
James as a Service -> Clickhouse as a Service
-
Key Results:
- Better Visibility
- Regularly testing backups
- Monitoring/alerting
- Mutations
- Moves
- Management
- Managing/killing mutations
- Self Serve
- Schema design feedback (James non blocking
- Schema management
- Automation
- Replace/Upgrade replicas
- Upgrading to 24.04
- Disk configs
- Better Visibility
Retro
- offsite
Product
- making the UI changes to move sources into pipeline 3000
- Hackathon
- [x] logic refactors and cleanup @Gilbert09
- [x] progressing through https://github.com/PostHog/posthog/issues/22001 @EDsCODE
Infra
- [x] Hackathon
- [x] CH8 and CH7 drama (replicas were killed and re-replicated for
sharded_events) - [x] Manually run Deletes!
High priority
Product
- [ ] complete https://github.com/PostHog/posthog/issues/22001 (decide on pricing, UI changes, instrumentation) @EDsCODE
- [ ] Warehouse props in breakdown filters
- [ ] warehouse props in feature flags and experiments
Infra
- [ ] Fix delete code path
- [ ] Move parts around so last 3 months of data are on NVME on US
- [ ] Upgrade EU CH version Must complete
- [ ] Cluster instance upgrades and config cleanups
Team Internal Tools / CDP / Hog / QL
High priority
-
HogQL-related performance fixes
- Session replay filters
- Product analytics "person properties into subquery"
- https://github.com/PostHog/posthog/issues/22427
-
Figure out what to build
- and in what order
- and get going.
Low priority / side quests
- Read about compilers and type systems.
Team Infra
Hang over items from previous sprint
- π‘ CDP v1.5 - Webhooks destination filtered by Action @benjackwhite
- Just waiting on merges now
- π‘ Get as many other log sources into Loki as possible (Kubernetes audit logs, Cloudtrail, SQL/Clickhouse queries, Metabase, HogQL queries) @danielxnj
- K8s audit logs, cloudtrail β
- Metabase - just needs a license
- HogQL - needs our own implementation
- π΄ Get more useful auditing logs out of Django (auth attempts, access logs, HogQL queries) @benjackwhite
- π΄ Get Metabase setup to tick the audit boxes (auditing, SSO etc.) @frankh @danielxnj
- π’ Continue with Soc2 Audit follow up @danielxnj
- π’ Fix all remaining High/medium pen test outcomes @benjackwhite
- π’ Offsite!
OKR
- πͺ Deploy with confidence π’
- Finalize our Canary Deploy process π‘
- π¨ Improved alerting and monitoring π’
- SIEM work has made this a priority
- π Deeper Security π‘
- π° Continued cost control π’
High priority
- Daniel - vacation
- Metabase setup and auditting / SSO / move to internal ELB @frankh
- Reverse proxy with release @frankh
- Investigate canary deploy rollback improvements @frankh
Team Growth
Retro
Retro items
Offsite sprint!
High priority
- @raquelmsmith
- [x] Get automatic provisioning feature gating out
- [ ] Personless events pricing UI on posthog.com and pricing tables
- @xrdt
- [x] Move remaining bits of sync_invoices to celery
- [x] Finish PRs for updating unsubscription flow with auto-payment of outstanding invoices
- [ ] Testing compare_prices
- [ ] Billing admin improvements - make plans_map a dropdown of selects, feature_override reason
- @zlwaterfield
- [x] Finish the 6 project limit migration
- [x] Migrating all enterprise customers to free teams addon + documenting for CS
- [x] Looking into
otherrevenue edge cases in reporting - [ ] Planning for subscribing to all products next week
Q2 Goals
β =finished π‘=in progress π΄=won't finish
- βͺ Create a flow in product analytics onboarding to fill out a dashboard template using actions (Raquel)
- π‘ Simplify our subscription flows (Zach, supported by Raquel)
- π‘ Launch pricing changes (Bianca, Raquel)
- π‘ Personless events - will help us reach more customers at an affordable price
- Data warehouse - it's becoming pretty useful, we should charge for it
- Session replay - we can reduce costs to improve retention and reach more people
This sprint
High priority
- @raquelmsmith
- [ ] UI for personless events
- [x] App billing page
- [x] App pricing tables
- [x] Onboarding instructions
- [ ] posthog.com pricing tables
- [ ] Launch personless events / project management
- [ ] Referrals: add/edit referrer and redeemer
- [ ] UI for personless events
- @xrdt
- [ ] Deprecate available_features
- [x] Support multiple org owners
- Can only invite at your perm level or lower
- Can set membership level when inviting
- [x] Billing admin improvements - make plans_map a dropdown of selects
- [x] Doc for how to use multiple stripe customers to a single django admin customer
- Not standalone doc
- [ ] Maintenance
- [ ] Track celery queue depth for billing workers
- [x] Check whether billing limits are being applied correctly - see https://posthog.slack.com/archives/C043VJ93L3B/p1715964424235799
- [x] Check whether mrr is being forecasted correctly for upcoming invoices
- [ ] Add a field to the DB model for the current accumulated total so we can more easily debug future issuesreason
- @zlwaterfield
- [ ] Finish teams addon changes
- remove old teams plan
- make sure enterprise customers are on proper plans
- Add
includesteam plan to enterprise plan in default config
- [x] Finish startup plan analysis
- how many credits are being used each month
- fix the starting/ending balance bug
- [ ] Stripe audit stuff
- mismatch subscriptions script
- emailing users for failed payments
- [ ] Start subscribing to all products
- Side quests:
- [ ] Teams annual plan
- [ ] Finish teams addon changes
Team Web Analytics
Support hero: n/a
Next sprint I'm off 5 days, 1 day for bank holiday and 4 for vacation
Retro
Sickonos + reprioritisation meant that I didn't get much done of what was in hindsight quite an ambitious sprint:
- π’ finish this spike on uuidv7s
- π΄ write the SQL for the new sessions table that uses it
- π΄ write and run a proper backfill job
- π΄ switch the hogql sessions table over to the new table
- π΄ make sure docs / sdks make it clear enough that session_ids should be a UUIDv7
- π΄ then roll out session properties elsewhere in the app
- π‘ mop up personless events, TBD(mykonos) what this involves
OKR
- Make querying fast enough for large customers
- Do personless events work where necessary (unknown amount of work)
- Iterate on customer feedback
- Product management work
High priority
- test left join changes on persons table
- run personless upgrading test
- write the SQL for the new sessions table that uses it
Low priority
- write and run a proper backfill job
- make sure docs / sdks make it clear enough that session_ids should be a UUIDv7
Team Analisi del Prodotto
Support hero: @Twixes
Retro
- Some of us had a great offsite
- Others didn't but that's okay
- We got to a bunch of issues in insights
Hang over items from previous sprint
- Bugs in insights
- Project environments
OKR
No major change here.
-
HogQL-based querying
- Convert the remaining legacy queries to HogQL and release to public (Thomas, Julian, Marius)
- π’ Insights β rolled out, although fixes needed to be rock-solid
- βͺ Cohorts
- Remove legacy querying backend (Thomas, Julian)
- π Clean up or rewrite dashboardLogic π this sprint
- π Convert filters to query (insights, notebooks, activity log, experiments)
- Missing Product Analytics features (Thomas, Julian)
- βͺ Breakdowns (multiple) in literally everything
- π Make a list based on GitHub issues from customer requestsβ¦
- βͺ Fix those issues
- Missing HogQL features (Tom, Marius)
- π Type system, JSON π Data Warehouse is on this
- βͺ Missing things when building funnels
- Convert the remaining legacy queries to HogQL and release to public (Thomas, Julian, Marius)
-
Querying and processing performance (Thomas, Julian)
- Global performance overview dashboards
- βͺ Insights
- βͺ Exports
- βͺ Cohort recalculations
- Query request tracing
- βͺ Possibly query runner Python optimizations
- βͺ Exports improvements
- βͺ Identify top 5 query optimizations in terms of impact
- Global performance overview dashboards
-
Artificial Hog / Post Intelligence (Michael)
- βͺ Ask a question to get a magical insight (aware of your taxonomy)
- βͺ Figure out infra for upgrading queries and models
- βͺ Product-wide framework for opting into sharing with OpenAI
-
Activation (side quest: Michael)
- βͺ Michael to work with Growth to identify optimizations to getting started with Product Analytics π pending the product manager hire a bit
High priority
- Fix the most painful bugs reported by users: (we're on the way down with the pile of open tickets, currently at 90) @all-of-product-analytics
- Related HogQL-based insights (actor modals, exports, caching reliability)
- Related to complexity in dashboardLogic
- Clean up the legacy ways of tracking performance
Low priority / side quests
- Loading Barβ’ @aspicer
- Ensure live events in the Activity view are shipped @Twixes
- Project environments on hold (also: need to figure out what team should that live in)
Team pipeline (WIP)
-
Tomas joining Data warehouse - collab with Jams on deletes?
-
Ted - TBD
-
Xavier and Brett are off this week, so we'll narrow down the details next week.
Items:
- customer.io plugin
- Hog
- PG running out of cpu
Team Feature Success
Support hero: @jurajmajerik
Days off:
Juraj: 5 days
Phani: 0 days
Dylan: 0 days
Neil: 2 days
Retro
- Offsite hackathon + wrapup - @jurajmajerik β / @neilkakkar - off sick, this will happen some other time.
- Surveys popup refactor - @jurajmajerik -- caught up on support instead, lots pending after offsite
- Make sure Dylan's onboarding goes well - @neilkakkar β
- Implement the RFC for repeatable surveys - https://github.com/PostHog/meta/pull/203 + some small bugs - @Phanatic π
- mostly done
- some excellent survey bugfixes - @dmarticus β
- https://github.com/PostHog/posthog/pull/22496 and some more in the queue
Hang over items from previous sprint
OKRs
- Make sure feature flags can handle 10x current scale
- Polish new experiments UI & collect feedback
- Add most requested surveys functionality
High priority
- Finish up repeated surveys - @Phanatic
- next start on Event based triggers for surveys - https://github.com/PostHog/product-internal/pull/556 - @Phanatic
- https://github.com/PostHog/posthog/issues/18102 - @dmarticus
- NPS survey result fix (ex: this survey ) - @dmarticus
- Surveys popup refactor - @jurajmajerik
- https://github.com/PostHog/posthog/issues/22131 continue on rewrite - @neilkakkar
Low priority / side quests / maybe Neil will get to this next year
- Temporal queues for feature success - @neilkakkar
- Setup instrumentation for flip-flopping problem of experiment significance - @neilkakkar