OKRs

These OKRs are for in fiscal year 2021, which runs from to . This is the first quarter we are using the new February-through-January fiscal year.

CEO

  1. CEO: Grow ARR consistently
    1. $N IARR => X% to goal
    2. Sales leadership owns revenue targets and hiring plan => Ownership established, COVID-19 adds uncertainty
    3. Sales, engineering, and product have a working process for prioritization and delivery => In progress
  2. CEO: Aspirational, efficient all-remote team
    1. Roles and responsibilities are documented and maintained in handbook => Not yet
    2. Team members rely on the handbook for cross-functional info and processes => Handbook is not yet updated by all functions
    3. The handbook is fast to browse and search => Yes

Sales and marketing

  1. Sales (Closing Deals): $L new IARR (per plan)
    • Close at least 2 Tier 1 deals and get at least 10 new logos (new deals)
    • Get 70% of companies on a free trial to convert to paid customers.
  2. Sales (Pipeline Optimization): Hire at least 2 SDRs and 3 AEs (at least 1 Enterprise AE)
    • Begin dedicated outbound efforts by identifying the outbound criteria (both ICP and potential triggering events), at least 10 accounts that match it, and at least 2 touch points for each of those accounts
  3. Sales (Playbook): Work with marketing to identify/create key materials needed to move deals forward
    • Be able to present to prospects compelling value of Sourcegraph
  4. Customer Engineering: Build a Customer Engineering organization that drives higher and faster user engagement.
    • Generate at least $M in expansion IARR from existing accounts (per plan) => Closed Q% of plan as of the end of February 2020.
    • Hire at least two Customer Engineers => No CEs hired yet.
  5. VP Marketing: Deliver sufficient MQLs to sales to reach $L new IARR goal.
    • Deliver P MQLs to sales (a 28% increase from CY19-). => Not on track. MQL generation barely above last quarter
    • Start developer ad programs with 3 leading dev media sites and SEM programs with an outside agency. => Done
    • Execute the initial version of three major marketing functions: a sponsored booth (at GitLab Commit), a webinar, and an eBook. => Done
  6. VP Marketing: Launch our new category on March 4. ==> Done
    • Conduct research and deliver initial decision presentation to the executive team by end of January =>. Done
    • Develop at least 12 content pieces explaining the new category by March => Done
    • Have the press publish at least 3 articles explaining the category by end of March => Done
  7. VP Marketing: Demonstrate leadership in our category. ==> Will happen by end of
    • Agree on a plan for what we do with sourcegraph.com going forward. ==> Not Done
    • Choose a metric with which we can compare ourselves to other options ==> Done
    • Have at least one press asset document our statistic by March 2020. ==> Done

Product

  1. Product: Create a customer driven product process
    1. All product engineering work has a delivery plan (where “delivery plan” links to a new handbook page that defines it, based on RFC 97). => customer repository. We learned that not all engineering efforts require a delivery plan, and that it is specifically customer facing projects that need it. It’s important that this is a cross-functional effort, so that all functions contribute to executing the delivery plan. These are more successful when a clear owner is identified to drive the process forward.
    2. Handbook describes the lifecycle of a feature and who is responsible for each part of the lifecycle. => Prioritizing issues.
    3. Handbook describes product planning processes and API between product and engineering. => Planning (page deleted)
  2. Product: Build the product and design team to support engineering and ARR growth
    1. Hire +1 Product Designer. => +2-1 designers , (tehnically in , from effort)
    2. Hire +1 Product Manager. => +0 Job req still open.

Engineering

VP Eng

  1. Build a world class engineering team.
    1. Grow team to plan (+1 code intel, +2 distribution, +2 web, +1 core services). => +1-1 code intel, +2 distribution, +1 web, +2-1 core services
    2. Transition an existing teammate to be (or hire) an Engineering Manager of the distribution team. => Beyang managing distribution team, started hiring pipeline for manager.
    3. Document how we do performance reviews and determine compensation for teammates in engineering roles. => Reviews, compensation, updated offer bands.
  2. Identify long term owners for new engineering functions
    1. Hire someone to own security now and who has the potential to lead a team in the future. => Posted job description, hiring deprioritized in .
    2. Hire someone to own internal developer productivity now and who has the potential to lead a team in the future. => Drafted job description, hiring deprioritized due to growth and change of focus on distribution team.
  3. Create a data driven planning process.
    1. Each team commits to a written work plan for each release cycle. => All eng teams have now adopted automated tracking issue tool.
    2. Each team completes >80% of the work that they committed to at the beginning of the release cycle each iteration. => For teams that have used the automated tracking issue tool multiple months, they have accomplished >80% of the listed work on the monthly tracking issue.

Distribution

  1. Resolve issues for major customers
    1. Ensure that no technical issue blocks a deal for any tier 1 or tier 2 customer. => 100%: We have not yet lost a deal due to a technical blocker that fell under the purview of Distribution.
  2. Improve developer productivity
    1. Automate away release captain role and adopt continuous releases (no human in loop required by default). => 20%: We have reduced the end-of-cycle release time from 5 days to 3 days. However, the release captain role remains necessary and we have not adopted continuous releases.
  3. Improve installation and site admin onboarding process
    1. Track time to important admin setup milestones (i.e. instance started, admin account created, >1 repositories added) are tracked in pings. => 0%: We do not yet have tracking for these milestones.
    2. Make at least one improvement that decreases overall time from instance installation to completion of site admin setup. => 100%: We simplified the setup of external services and eliminated one step from the site admin setup process.

Code intelligence

  1. LSIF is adopted by customers

    1. At least three customers have > 50% of code intel queries powered by LSIF (excluding fallback references). => Tracking implemented in 3.13, data cleanup needed before analyzing, currently focused on getting LSIF adopted in targeted open source projects before pursuing individual customers.
    2. At least one customer has > 90% of code intel queries powered by LSIF (excluding fallback references). => Same result of previous KR.
    3. 99th percentile end-to-end latency of hover tooltips, go to definition, and find references is tracked in pings and under 2 seconds. These metrics are inclusive of all of these user actions, regardless of how code intelligence is implemented. => Pings are implemented, and dashboard shows that all companies that have adopted LSIF fall far below our 2 second goal.
  2. Increase user confidence in code intelligence provided by LSIF

    1. Code intelligence UI (tooltips, references panel, etc.) indicates whether or not results are precise. => Implemented in the extension host and the code intelligence extensions.
    2. Make use of LSIF data when the current line is not part of the diff since the last LSIF upload. => Implemented in the code intel GraphQL resolvers.
    3. Fall back to fuzzy if the file has been modified since the last LSIF upload. => Implemented as a consequence of key result #2.

Web

  1. Make users aware of advanced search features
    1. Interactive search is available to all users by default (not feature-flagged) => Interactive mode has been available by default since 3.13.
    2. Smart search is available to all users by default (not feature-flagged) => Functionality is still hidden behind a feature flag.
  2. Enable data driven product development
    1. Search daily, weekly, monthly active users are tracked in pings. => Available in pings since 3.14.
    2. Search filter usage is tracked in pings. => Available in pings since 3.14.
    3. Search mode usage is tracked in pings. => Available in pings since 3.14.
  3. Identify and start addressing pain points in our onboarding
    1. Run 5 user tests to gather feedback on our user onboarding => 3 user tests conducted (see design execution: onboarding).
    2. Improve in-app documentation for site admin onboarding steps => Released in 3.15 (#9628).

Core services

  1. Increase adoption of search at customers

    1. Write at least 2 pieces of technical documentation (docs, walkthroughs, blog posts) about search functionality. => (i) Structural search blog post (ii) Revamped search syntax docs (iii) Added basic operator syntax docs.
    2. 99th percentile of time to first result is below 3s across all search types. => Added latency to track all search types via pings as of 3.14.
    3. At least four customers are running structural searches and metrics to validate this KR are tracked in pings. => Usage at existing and prospective customers confirmed.
    4. At least four customers are running AND/OR/NOT queries. => Validated customer need and use cases. AND/OR operators are feature flagged as of 3.15, thus usage tracking is limited.
    5. Metrics to validate four customers are running AND/OR/NOT queries are tracked in pings. => AND/OR/NOT queries are not tracked in pings yet.
  2. Transparent and scalable code-host permissions syncing

    1. 95th percentile latency of authorization on the read path (i.e. authzFilter) is below 10ms. => Prometheus metrics in place, not able to add to ping because of technical difficulties. Instead, will add alerts to Grafana.
    2. Admins can force the refresh of permissions of individual users. => Reached agreement on UI/UX design, actual work is on-going.
    3. Admins can see the progress of permissions syncing in the admin UI. => Grafana dashboard in place, missing progress information in the status indicator bar.
    4. Admins can see when a repository or user’s permissions were last updated and when they are scheduled to be updated again. => Added UI in repository settings page, work for adding the same UI in user settings page is on-going.

Campaigns

This OKR is a joint effort between web and core services.

  1. Campaigns are polished and adopted by customers
    1. Document campaigns and write a blog post about it. => Documentation has been greatly improved (see documentation here. No blog post.
    2. Campaigns are enabled by default and not behind a feature flag. => Campaigns menu item is visible on all instances, leads to splash page on sourcegraph.com, but actual functionality is still hidden behind a feature flag.
    3. Run 3 user tests with Sourcegraph colleagues, collect issues and fix them. => Ran 3+ tests (Joe, Ryan B., Erik), collected a lot of issues and fixed most of them.
    4. 3 different customers have together run at least 10 campaigns. => 4 customers with 122 campaigns.

Operations

  1. Business: Make Sourcegraph a lean organization that uses data and budgets to guide decision making.
    1. Provide a board-approved budget (including spending and hiring plans) to each department head. => Preliminary hiring and spend plan is done, but remains flexible in the face of COVID-19-related turbulence this year.
    2. Provide dashboards to each department head that are used on at least a weekly basis (prioritizing sales, marketing, and customer success). => Done for Marketing (created, and used on a weekly basis), created for Sales, draft for CE.

People Ops

  1. People Ops: Build a consistent hiring process that supports candidates, interviewers, and hiring managers.

    1. A scheduling coordinator is brought on to take over scheduling and candidate interfacing. ==> Done, scheduling coordinator started March 18.
    2. Each open role has its own customized hiring flow, clearly assigns owners to each stage, and is fully documented in our interview repository. ==> In progress as of March 18.
    3. Our interview repository documents interviewing best practices for all roles and instructions for interviewers. ==> Not done.
  2. People Ops: Build an onboarding process that sets teammates up for success in a global, all-remote environment.

    1. Each team has its own customized onboarding process, specific to the roles’ functions. ==> Not done.
    2. Our handbook describes updated, all-remote policies and offers resources for newly remote teammates, internationally based teammates, etc. ==> Not done.
  3. People Ops: Create an inclusive people-ops operating system.

    1. The structure and setup for contracting and cross border payments is documented. ==> In progress.
    2. Providing benefits to all teammates (regardless of location) is researched and implemented if available on a global scale. ==> In progress.
    3. There is a documented process for teammates to raise questions or concerns and get answers. == > Not done.