forget methodology
focus on what matters
Jack Humphrey
Keep Austin Agile
March 21, 2014
JACK
HUMPHREY
About Me
● I’ve been…
● a software developer for 19 years,
● a manager for 10 of those years,
● at companies including:
○ Trilogy (3 years)
○ Coremetrics (3 years)
○ Google (5 years)
○ Indeed (5 years and counting)
About Me
● I’ve worked on products like:
○ a web content management system,
○ enterprise software development frameworks,
○ a large online data collection platform,
○ features for online advertisers, and
○ a few large-scale consumer web applications
I help
people
get jobs.
About Indeed
More job searches worldwide than any other employment website
● Over 100 million unique users
● Over 3 billion searches/month
● Over 24 million jobs
● 50+ countries, 28 languages
Jun-07 Jun-08 Jun-09 Jun-10 Jun-11 Jun-12 Jun-13
Unique Visitors / Month
focus on what matters…
focus on what matters…
SUCCESS
success
for software products
build a solution
build a solution
to a real problem
build a solution
to a real problem
that people want to use
build a solution
to a real problem
that (enough) people want to use
● Planning (what to do)
● Process (how you do it)
Build a solution to a real problem…
● Timing
● Pricing
● Competition
● Promotion
● Quality
● Random chance
● etc.
… that enough people want to use.
We identified the problem, now where do we start?
Build a solution to a real problem…
STEP 1
define success
STEP 1
define success
STEP 1
build a great team
talent
+
passion
talent
+
passion
+
opportunity
STEP 2
define success
What is the overall mission?
Does everyone understand it and agree?
What is the overall mission?
Does everyone understand it and agree?
Does project success line up with the mission?
If not, then a) it’s not success, or b) wrong mission!
What is the overall mission?
● Not a subjective determination
Success should be quantifiable
● Not a subjective determination
● Shipping is not success
Success should be quantifiable
● Not a subjective determination
● Shipping is not success
● Prove success with data
Success should be quantifiable
I help
people
get jobs.
Job Search helps people get jobs
...by helping them find relevant job postings.
Success for Indeed Job Search
Success: Unique Visitors?
Success: Job Searches?
success?
● Demonstrate success with data
● Evaluate data objectively (unique visitors?)
Avoid Subjectivity
● You may need short-term approximations.
When Success is Hard To Measure
● Best metric for “help people get jobs”: hires
Success for Job Search, take 2
● Best metric for “help people get jobs”: hires
● What’s better than unique visitors & searches?
repeat visitors, bounce rate, click-through rate
Success for Job Search, take 2
● Best metric for “help people get jobs”: hires
● What’s better than unique visitors & searches?
repeat visitors, bounce rate, click-through rate
● What’s even better?
applies (IndeedApply)
Success for Job Search, take 2
● Measurement should be repeatable
● Analysis should be:
○ accurate: based on correct/complete data
○ consistent: metrics don’t change meaning
○ fast: seconds/minutes, not hours/days/weeks
Measure and Learn
Google Analytics
In-House Analysis Tools
● We use Google Analytics
● We build our own frameworks and tools
○ logrepo: capturing what happens
○ ramses, imhotep: detailed analysis in seconds
○ Demo of these tools @IndeedEng on April 30th
http://engineering.indeed.com/talks
Measurement & Analysis Tools
Use whatever tools work for you, but make sure:
● measurement is repeatable
● analysis is accurate, consistent, fast
Measurement & Analysis Tools
STEP 1
build a great team
STEP 2
define success
STEP 3
turn the crank
process can never replace
talent and passion
process won’t deliver a
successful product
but the right process
can help
Repeatable and predictable mechanisms for:
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
● Priority: do things in the right order
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
● Priority: do things in the right order
● Memory: what happened, what next
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
● Priority: do things in the right order
● Memory: what happened, what next
● Delivery: get it done as efficiently as possible
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
● Priority: do things in the right order
● Memory: what happened, what next
● Delivery: get it done as efficiently as possible
● Quality: it should work intended
How process can help
Repeatable and predictable mechanisms for:
● Communication: what, who, how, when
● Priority: do things in the right order
● Memory: what happened, what next
● Delivery: get it done as efficiently as possible
● Quality: it should work intended
● Risk: minimize the chance of bad things
How process can help
“forget about methodology” is an exaggeration
How methodologies can help
Can be templates for improving:
● communication
● priority
● delivery
How methodologies can help
Can be templates for improving:
● communication
● priority
● delivery
...helping your team iterate on process
How methodologies can help
Can help you think about
● What is working well for us?
● What could be better?
How methodologies can help
Can help you think about
● What is working well for us?
● What could be better?
… and offer prescribed process changes
How methodologies can help
Recently, an experienced engineering manager
described a process change that he loved:
An interesting anecdote
Recently, an experienced engineering manager
described a process change that he loved:
“we stopped tracking bugs”
An interesting anecdote
Ask yourself, what techniques can help your team:
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
● prioritize
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
● prioritize
● remember what has been done
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
● prioritize
● remember what has been done
● know what needs to be done
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
● prioritize
● remember what has been done
● know what needs to be done
● build solutions that work, efficiently
Focus on what matters.
Ask yourself, what techniques can help your team:
● communicate
● prioritize
● remember what has been done
● know what needs to be done
● build solutions that work, efficiently
● manage risk associated with changes
Focus on what matters.
Does your process (or lack thereof)
enable success or just get in the way?
Focus on what matters.
Start small and iteratively build process.
...or start big and iteratively reduce/modify process.
Focus on what matters.
the evolution of process
at Indeed
Process can be summarized simply:
GET STUFF DONE
Started Lean
Started Lean
Deliver
MeasureLearn
Started Lean
Quickly!
Deliver
MeasureLearn
Idea to implementation, as quickly as possible!
● Software Architecture (Service-Oriented)
● Tools, like automated translation
● Risk Management with Rapid Iteration
Engineering Velocity
@IndeedEng Talk:
http://go.indeed.com/velocity
Rapid Iteration… to production (multiple times a week)
Velocity and Delivery
Rapid Iteration… to production (multiple times a week)
● Don’t wait to fail: means no big failures
Velocity and Delivery
Rapid Iteration… to production (multiple times a week)
● Don’t wait to fail: means no big failures
● Work that’s ready doesn’t have to wait
Velocity and Delivery
Rapid Iteration… to production (multiple times a week)
● Don’t wait to fail: means no big failures
● Work that’s ready doesn’t have to wait
● More satisfying for developers
Velocity and Delivery
Rapid Iteration… to production (multiple times a week)
● Don’t wait to fail: means no big failures
● Work that’s ready doesn’t have to wait
● More satisfying for developers
● Less deadline pressure
Velocity and Delivery
Rapid Iteration… to production (multiple times a week)
● Don’t wait to fail: means no big failures
● Work that’s ready doesn’t have to wait
● More satisfying for developers
● Less deadline pressure
● Developers own quality
Velocity and Delivery
Velocity and Quality
● Encourages modular thinking
Velocity and Quality
● Encourages modular thinking
● Fewer integration issues
Velocity and Quality
● Encourages modular thinking
● Fewer integration issues
● Fewer changes → faster, comprehensive QA
○ Release multiple times a week for 12 weeks, vs.
○ Release once in 12 weeks
Velocity and Quality
● Encourages modular thinking
● Fewer integration issues
● Fewer changes → faster, comprehensive QA
○ Release multiple times a week for 12 weeks, vs.
○ Release once in 12 weeks
● Encourages automated testing
Velocity and Quality
● Team was small, talented, passionate, focused.
● They iterated quickly.
● Job search was successful.
Success...
Process was extremely ad-hoc
● not very consistent (e.g. bug tracking)
● not very repeatable or predictable
● wasn’t creating a memory for the future
...and Mess
Process was extremely ad-hoc
● not very consistent (e.g. bug tracking)
● not very repeatable or predictable
● wasn’t creating a memory for the future
… and that was fine. For a while.
...and Mess
...and develop predictable, repeatable ways to:
● Coordinate effort
● Improve communication and transparency
● Create a memory for the future
● Manage risk
● Ensure quality
Time to reflect on process...
Infrastructure for Process
Infrastructure for Process
Infrastructure for Process
...for everything!
Type: PRODUCT
Product Management in JIRA
Issue Type:
Initiative
requirements
Project Management in JIRA
Type: PROJECT
Issue Type:
New Feature
Issue Type:
Bug
Issue Type:
Improvement
Issue Type:
Task
developer work
deployable
component
“Incorporates”
Service A
Service B
Feature
Improvement
Product
Initiative
Webapp X
Feature
incorporates
“Depends Upon”
Service A
Service B
Feature
Improvement
Product
Initiative
Webapp X
Feature
depends
upon
Links are bidirectional
Service B
Improvement
Product
Initiative
Webapp X
Feature
is depended
on by
is incorporated by
When will the feature be ready?
Webapp X
Feature
Fix Version: 2014-03-20
target release
When will the initiative complete?
Product
Initiative
Fix Version: March 2014
completion timeframe
Self-Documenting Workflow
● Workflow states and actions should suggest a
clear meaning
● Custom workflows for different types of issues
Example: Project Issue Workflow
Pending Triage
Pending Acceptance
Accepted
Pending Verification
Pending Closure
Closed
Create
Triage
Accept
Resolve
Verify
Close
● Fix Version deployed to production
→ issues are closed
→ future code changes require new issues
● Every code commit references issue key
Closing the Memory Loop
Closing the Memory Loop
JASX-4643
Type: New Feature
Fix Version: 2011-04-21
is incorporated by
UPDOG-76
Type: Initiative
Fix Version: June 2011
iterate on process.
it’s never done.
translation process
production deploys
a/b testing
● Planning rapid international growth
Iteration: Translation Process
● Planning rapid international growth
● Need a localization strategy that wouldn’t slow
us down
Iteration: Translation Process
● Planning rapid international growth
● Need a localization strategy that wouldn’t slow
us down
● Must coordinate many translators
Iteration: Translation Process
● Planning rapid international growth
● Need a localization strategy that wouldn’t slow
us down
● Must coordinate many translators
● We modeled it in JIRA.
Iteration: Translation Process
Custom Translation Issues
Project
Explosion
Translation
(French)
Translation
(Spanish)
Translation
(Japanese)
incorporates
Translation
(*)
“Explosion” Issue Workflow
Pending Triage
Pending
QA Instructions
Pending Review
Pending
Issue Explosion
Pending Translations
Pending Verification
Create
Triage
Submit
Reviewed
Explode
Complete
Verify
…
“Explosion” Issue Workflow
Pending Triage
Pending
QA Instructions
Pending Review
Pending
Issue Explosion
Pending Translations
Pending Verification
Create
Triage
Submit
Reviewed
Explode
Complete
Verify
…
?
Translation Issue Workflow
Pending Acceptance
Accepted
Pending Verification
Pending Closure
Closed
Accept
Resolve
Verify
Close
1 issue per language
● Custom issue types and workflows
○ clear communication
○ smooth transitions
How JIRA helped Translation
● Custom issue types and workflows
● Automation → 1 issue per language
How JIRA helped Translation
● Custom issue types and workflows
● Automation → 1 issue per language
● Subsequent iterations:
○ machine translation
○ translation service integration
How JIRA helped Translation
Iteration: Production Deploys
Iteration: Production Deploys
50/week
● Require a lot of communication and
coordination between roles:
○ Create the release candidate deployable
○ Get it into a testing environment
○ Find the bugs
○ Fix the bugs
○ Declare it ready for production deploy
○ Deploy it to production
Iteration: Production Deploys
● Require a lot of communication and
coordination between roles
● Many people care about current deploy status
Iteration: Production Deploys
● Require a lot of communication and
coordination between roles
● Many people care about current deploy status
● We modeled it in JIRA.
Iteration: Production Deploys
Deploy Issue Workflow
Pre-Deploy
QA Ready
In QA
QA Complete
Deploy Ready
In Production
Ready
In QA
QA Complete
Ready
Deploy
Create
● Clear communication, smooth hand-offs
● Transparency for all stakeholders
● Ability to look at trends in deploys
How JIRA helped Deploys
● Proctor: data-driven framework for A/B testing
○ No full code deploy required for test updates
○ Lighter-weight, but still requires a process for
verification and deployment
Iteration: A/B Testing
● Proctor: data-driven framework for A/B testing
○ No full code deploy required for test updates
○ Lighter-weight, but still requires a process for
verification and deployment
● We modeled it in JIRA.
Iteration: A/B Testing
Managing Data-Driven A/B Tests
Experiments and “Pro(ctor)Tests”
Service A
ProTest
Product
Experiment
Webapp X
ProTest
incorporates
ProTest Issue Workflow
Pending
Requirements
Pending Triage
Pending Acceptance
Accepted
Submit
Triage
Accept
Resolve
Create
…
QA Ready
Managing Data-Driven A/B Tests
Managing Data-Driven A/B Tests
Managing Data-Driven A/B Tests
QA Ready
In QA
In QA
ProTest Issue Workflow (cont.)
QA Ready
In QA
Production Ready
In Production
Pending Closure
Closed
Deploy
Verify
Deploy
Verify
Close
Resolve
…
● Clear communication
● Tool integration saves time
● Manages risk through verification process
How JIRA helped A/B Testing
Indeed’s approach: Iterate. Iterate. Iterate.
Summary
Find the best process for your team’s success.
Iterate on process as necessary.
Stay focused on success.
Focus on Success
good luck,
and thanks!
Q & A
for more about Indeed Engineering:
engineering.indeed.com
for more about me:
indeed.com/me/JackHumphrey

Forget methodology. Focus on what matters.

  • 1.
    forget methodology focus onwhat matters Jack Humphrey Keep Austin Agile March 21, 2014
  • 2.
  • 3.
    About Me ● I’vebeen… ● a software developer for 19 years, ● a manager for 10 of those years, ● at companies including: ○ Trilogy (3 years) ○ Coremetrics (3 years) ○ Google (5 years) ○ Indeed (5 years and counting)
  • 4.
    About Me ● I’veworked on products like: ○ a web content management system, ○ enterprise software development frameworks, ○ a large online data collection platform, ○ features for online advertisers, and ○ a few large-scale consumer web applications
  • 5.
  • 6.
    About Indeed More jobsearches worldwide than any other employment website ● Over 100 million unique users ● Over 3 billion searches/month ● Over 24 million jobs ● 50+ countries, 28 languages Jun-07 Jun-08 Jun-09 Jun-10 Jun-11 Jun-12 Jun-13 Unique Visitors / Month
  • 7.
    focus on whatmatters…
  • 8.
    focus on whatmatters… SUCCESS
  • 9.
  • 10.
  • 11.
    build a solution toa real problem
  • 12.
    build a solution toa real problem that people want to use
  • 13.
    build a solution toa real problem that (enough) people want to use
  • 14.
    ● Planning (whatto do) ● Process (how you do it) Build a solution to a real problem…
  • 15.
    ● Timing ● Pricing ●Competition ● Promotion ● Quality ● Random chance ● etc. … that enough people want to use.
  • 16.
    We identified theproblem, now where do we start? Build a solution to a real problem…
  • 17.
  • 18.
  • 19.
    STEP 1 build agreat team
  • 20.
  • 21.
  • 22.
  • 23.
    What is theoverall mission?
  • 24.
    Does everyone understandit and agree? What is the overall mission?
  • 25.
    Does everyone understandit and agree? Does project success line up with the mission? If not, then a) it’s not success, or b) wrong mission! What is the overall mission?
  • 26.
    ● Not asubjective determination Success should be quantifiable
  • 27.
    ● Not asubjective determination ● Shipping is not success Success should be quantifiable
  • 28.
    ● Not asubjective determination ● Shipping is not success ● Prove success with data Success should be quantifiable
  • 29.
  • 30.
    Job Search helpspeople get jobs ...by helping them find relevant job postings. Success for Indeed Job Search
  • 33.
  • 34.
  • 35.
  • 36.
    ● Demonstrate successwith data ● Evaluate data objectively (unique visitors?) Avoid Subjectivity
  • 37.
    ● You mayneed short-term approximations. When Success is Hard To Measure
  • 38.
    ● Best metricfor “help people get jobs”: hires Success for Job Search, take 2
  • 39.
    ● Best metricfor “help people get jobs”: hires ● What’s better than unique visitors & searches? repeat visitors, bounce rate, click-through rate Success for Job Search, take 2
  • 40.
    ● Best metricfor “help people get jobs”: hires ● What’s better than unique visitors & searches? repeat visitors, bounce rate, click-through rate ● What’s even better? applies (IndeedApply) Success for Job Search, take 2
  • 41.
    ● Measurement shouldbe repeatable ● Analysis should be: ○ accurate: based on correct/complete data ○ consistent: metrics don’t change meaning ○ fast: seconds/minutes, not hours/days/weeks Measure and Learn
  • 42.
  • 43.
  • 44.
    ● We useGoogle Analytics ● We build our own frameworks and tools ○ logrepo: capturing what happens ○ ramses, imhotep: detailed analysis in seconds ○ Demo of these tools @IndeedEng on April 30th http://engineering.indeed.com/talks Measurement & Analysis Tools
  • 45.
    Use whatever toolswork for you, but make sure: ● measurement is repeatable ● analysis is accurate, consistent, fast Measurement & Analysis Tools
  • 46.
    STEP 1 build agreat team
  • 47.
  • 48.
  • 49.
    process can neverreplace talent and passion
  • 50.
    process won’t delivera successful product
  • 51.
    but the rightprocess can help
  • 52.
    Repeatable and predictablemechanisms for: How process can help
  • 53.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when How process can help
  • 54.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when ● Priority: do things in the right order How process can help
  • 55.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when ● Priority: do things in the right order ● Memory: what happened, what next How process can help
  • 56.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when ● Priority: do things in the right order ● Memory: what happened, what next ● Delivery: get it done as efficiently as possible How process can help
  • 57.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when ● Priority: do things in the right order ● Memory: what happened, what next ● Delivery: get it done as efficiently as possible ● Quality: it should work intended How process can help
  • 58.
    Repeatable and predictablemechanisms for: ● Communication: what, who, how, when ● Priority: do things in the right order ● Memory: what happened, what next ● Delivery: get it done as efficiently as possible ● Quality: it should work intended ● Risk: minimize the chance of bad things How process can help
  • 59.
    “forget about methodology”is an exaggeration How methodologies can help
  • 60.
    Can be templatesfor improving: ● communication ● priority ● delivery How methodologies can help
  • 61.
    Can be templatesfor improving: ● communication ● priority ● delivery ...helping your team iterate on process How methodologies can help
  • 62.
    Can help youthink about ● What is working well for us? ● What could be better? How methodologies can help
  • 63.
    Can help youthink about ● What is working well for us? ● What could be better? … and offer prescribed process changes How methodologies can help
  • 64.
    Recently, an experiencedengineering manager described a process change that he loved: An interesting anecdote
  • 65.
    Recently, an experiencedengineering manager described a process change that he loved: “we stopped tracking bugs” An interesting anecdote
  • 66.
    Ask yourself, whattechniques can help your team: Focus on what matters.
  • 67.
    Ask yourself, whattechniques can help your team: ● communicate Focus on what matters.
  • 68.
    Ask yourself, whattechniques can help your team: ● communicate ● prioritize Focus on what matters.
  • 69.
    Ask yourself, whattechniques can help your team: ● communicate ● prioritize ● remember what has been done Focus on what matters.
  • 70.
    Ask yourself, whattechniques can help your team: ● communicate ● prioritize ● remember what has been done ● know what needs to be done Focus on what matters.
  • 71.
    Ask yourself, whattechniques can help your team: ● communicate ● prioritize ● remember what has been done ● know what needs to be done ● build solutions that work, efficiently Focus on what matters.
  • 72.
    Ask yourself, whattechniques can help your team: ● communicate ● prioritize ● remember what has been done ● know what needs to be done ● build solutions that work, efficiently ● manage risk associated with changes Focus on what matters.
  • 73.
    Does your process(or lack thereof) enable success or just get in the way? Focus on what matters.
  • 74.
    Start small anditeratively build process. ...or start big and iteratively reduce/modify process. Focus on what matters.
  • 75.
    the evolution ofprocess at Indeed
  • 76.
    Process can besummarized simply: GET STUFF DONE Started Lean
  • 77.
  • 78.
  • 79.
    Idea to implementation,as quickly as possible! ● Software Architecture (Service-Oriented) ● Tools, like automated translation ● Risk Management with Rapid Iteration Engineering Velocity @IndeedEng Talk: http://go.indeed.com/velocity
  • 80.
    Rapid Iteration… toproduction (multiple times a week) Velocity and Delivery
  • 81.
    Rapid Iteration… toproduction (multiple times a week) ● Don’t wait to fail: means no big failures Velocity and Delivery
  • 82.
    Rapid Iteration… toproduction (multiple times a week) ● Don’t wait to fail: means no big failures ● Work that’s ready doesn’t have to wait Velocity and Delivery
  • 83.
    Rapid Iteration… toproduction (multiple times a week) ● Don’t wait to fail: means no big failures ● Work that’s ready doesn’t have to wait ● More satisfying for developers Velocity and Delivery
  • 84.
    Rapid Iteration… toproduction (multiple times a week) ● Don’t wait to fail: means no big failures ● Work that’s ready doesn’t have to wait ● More satisfying for developers ● Less deadline pressure Velocity and Delivery
  • 85.
    Rapid Iteration… toproduction (multiple times a week) ● Don’t wait to fail: means no big failures ● Work that’s ready doesn’t have to wait ● More satisfying for developers ● Less deadline pressure ● Developers own quality Velocity and Delivery
  • 86.
  • 87.
    ● Encourages modularthinking Velocity and Quality
  • 88.
    ● Encourages modularthinking ● Fewer integration issues Velocity and Quality
  • 89.
    ● Encourages modularthinking ● Fewer integration issues ● Fewer changes → faster, comprehensive QA ○ Release multiple times a week for 12 weeks, vs. ○ Release once in 12 weeks Velocity and Quality
  • 90.
    ● Encourages modularthinking ● Fewer integration issues ● Fewer changes → faster, comprehensive QA ○ Release multiple times a week for 12 weeks, vs. ○ Release once in 12 weeks ● Encourages automated testing Velocity and Quality
  • 91.
    ● Team wassmall, talented, passionate, focused. ● They iterated quickly. ● Job search was successful. Success...
  • 92.
    Process was extremelyad-hoc ● not very consistent (e.g. bug tracking) ● not very repeatable or predictable ● wasn’t creating a memory for the future ...and Mess
  • 93.
    Process was extremelyad-hoc ● not very consistent (e.g. bug tracking) ● not very repeatable or predictable ● wasn’t creating a memory for the future … and that was fine. For a while. ...and Mess
  • 94.
    ...and develop predictable,repeatable ways to: ● Coordinate effort ● Improve communication and transparency ● Create a memory for the future ● Manage risk ● Ensure quality Time to reflect on process...
  • 95.
  • 96.
  • 97.
  • 98.
    Type: PRODUCT Product Managementin JIRA Issue Type: Initiative requirements
  • 99.
    Project Management inJIRA Type: PROJECT Issue Type: New Feature Issue Type: Bug Issue Type: Improvement Issue Type: Task developer work deployable component
  • 100.
  • 101.
    “Depends Upon” Service A ServiceB Feature Improvement Product Initiative Webapp X Feature depends upon
  • 102.
    Links are bidirectional ServiceB Improvement Product Initiative Webapp X Feature is depended on by is incorporated by
  • 103.
    When will thefeature be ready? Webapp X Feature Fix Version: 2014-03-20 target release
  • 104.
    When will theinitiative complete? Product Initiative Fix Version: March 2014 completion timeframe
  • 105.
    Self-Documenting Workflow ● Workflowstates and actions should suggest a clear meaning ● Custom workflows for different types of issues
  • 106.
    Example: Project IssueWorkflow Pending Triage Pending Acceptance Accepted Pending Verification Pending Closure Closed Create Triage Accept Resolve Verify Close
  • 107.
    ● Fix Versiondeployed to production → issues are closed → future code changes require new issues ● Every code commit references issue key Closing the Memory Loop
  • 108.
    Closing the MemoryLoop JASX-4643 Type: New Feature Fix Version: 2011-04-21 is incorporated by UPDOG-76 Type: Initiative Fix Version: June 2011
  • 109.
  • 110.
  • 111.
    ● Planning rapidinternational growth Iteration: Translation Process
  • 112.
    ● Planning rapidinternational growth ● Need a localization strategy that wouldn’t slow us down Iteration: Translation Process
  • 113.
    ● Planning rapidinternational growth ● Need a localization strategy that wouldn’t slow us down ● Must coordinate many translators Iteration: Translation Process
  • 114.
    ● Planning rapidinternational growth ● Need a localization strategy that wouldn’t slow us down ● Must coordinate many translators ● We modeled it in JIRA. Iteration: Translation Process
  • 115.
  • 116.
    “Explosion” Issue Workflow PendingTriage Pending QA Instructions Pending Review Pending Issue Explosion Pending Translations Pending Verification Create Triage Submit Reviewed Explode Complete Verify …
  • 117.
    “Explosion” Issue Workflow PendingTriage Pending QA Instructions Pending Review Pending Issue Explosion Pending Translations Pending Verification Create Triage Submit Reviewed Explode Complete Verify … ?
  • 118.
    Translation Issue Workflow PendingAcceptance Accepted Pending Verification Pending Closure Closed Accept Resolve Verify Close 1 issue per language
  • 119.
    ● Custom issuetypes and workflows ○ clear communication ○ smooth transitions How JIRA helped Translation
  • 120.
    ● Custom issuetypes and workflows ● Automation → 1 issue per language How JIRA helped Translation
  • 121.
    ● Custom issuetypes and workflows ● Automation → 1 issue per language ● Subsequent iterations: ○ machine translation ○ translation service integration How JIRA helped Translation
  • 122.
  • 123.
  • 124.
    ● Require alot of communication and coordination between roles: ○ Create the release candidate deployable ○ Get it into a testing environment ○ Find the bugs ○ Fix the bugs ○ Declare it ready for production deploy ○ Deploy it to production Iteration: Production Deploys
  • 125.
    ● Require alot of communication and coordination between roles ● Many people care about current deploy status Iteration: Production Deploys
  • 126.
    ● Require alot of communication and coordination between roles ● Many people care about current deploy status ● We modeled it in JIRA. Iteration: Production Deploys
  • 127.
    Deploy Issue Workflow Pre-Deploy QAReady In QA QA Complete Deploy Ready In Production Ready In QA QA Complete Ready Deploy Create
  • 128.
    ● Clear communication,smooth hand-offs ● Transparency for all stakeholders ● Ability to look at trends in deploys How JIRA helped Deploys
  • 129.
    ● Proctor: data-drivenframework for A/B testing ○ No full code deploy required for test updates ○ Lighter-weight, but still requires a process for verification and deployment Iteration: A/B Testing
  • 130.
    ● Proctor: data-drivenframework for A/B testing ○ No full code deploy required for test updates ○ Lighter-weight, but still requires a process for verification and deployment ● We modeled it in JIRA. Iteration: A/B Testing
  • 131.
  • 132.
    Experiments and “Pro(ctor)Tests” ServiceA ProTest Product Experiment Webapp X ProTest incorporates
  • 133.
    ProTest Issue Workflow Pending Requirements PendingTriage Pending Acceptance Accepted Submit Triage Accept Resolve Create … QA Ready
  • 134.
  • 135.
  • 136.
    Managing Data-Driven A/BTests QA Ready In QA In QA
  • 137.
    ProTest Issue Workflow(cont.) QA Ready In QA Production Ready In Production Pending Closure Closed Deploy Verify Deploy Verify Close Resolve …
  • 138.
    ● Clear communication ●Tool integration saves time ● Manages risk through verification process How JIRA helped A/B Testing
  • 139.
    Indeed’s approach: Iterate.Iterate. Iterate. Summary
  • 140.
    Find the bestprocess for your team’s success. Iterate on process as necessary. Stay focused on success. Focus on Success
  • 141.
  • 142.
    Q & A formore about Indeed Engineering: engineering.indeed.com for more about me: indeed.com/me/JackHumphrey