2. Sniper Team Composition
• 1 – 7 developers (currently 5)
• 0.25 designers (floating resource from the
design team)
• 1 QA as of February
3. Sniper Team Formation
• Created about 3 years ago with the brief to fix
small bugs, add small features and investigate
and fix customer problems
• Increasingly involved in intern, graduate and
junior developer training
• All around fix it team for problems in the
development process
5. Sniper Team Process
• The sniper team work falls into two main
categories: tickets and issues
– Tickets: requests from CC/Billing/Bank Feeds/
Enablement to investigate and resolve problems that
customer and partners are experiencing with the Xero
system
– Issue: Requests for changes or enchantments to the
Xero system. This can result from a ticket, customer
request, product managers, design, QA...
7. Features or Functional Changes
• Trello: used as a collection point for requests
for changes to the Xero system.
8. • Prioritisation meetings with mayor
stakeholders to determine which changes will
be included in the upcoming release
• Issues created in Boss and assigned to the
upcoming release
• Development work completed by Sniper Team
• Tested by QA
• Release to live
9. Bug Fixes
• Issues created in Boss by QA and assigned to
the Sniper Team for an upcoming release
• Development work completed by Sniper Team
• Tested by QA
• Release to live
10. Ticket Workflow
(From the sniper team perspective)
• The tickets status is changed to “In Sniper”.
This is the first point at which we’ll see the
ticket
• The ticket is assigned to a developer and the
investigation begins
11. Investigation
• Login into the organisation via the CC user on
live and attempt to reproduce the problem
• Look in Splunk to try and find the error.
12.
13. • Check the organisation on livestage if possible
• Check the code to see if it’s a systematic
problem
14. Problem Source
• Bad data in the database
• A bug in the code that is triggered by a
particular situation
• A combination of the two.
15. Fixing Tickets
• Bad data: Fix the data in the database (some
of the sniper team have access to the
production database), then try and determine
how the data got there
• Bug: Raise an issue in Boss. The number of
customers affected and the severity of the
problem will determine what release the fix
will go into
16. Common Ticket Examples
• Ghost Payment
(https://go.xero.com/AccountsReceivable/View.aspx?InvoiceID=90060d22-c79a-4a72-bb73-3369799a443c)
(https://go.xero.com/AccountsReceivable/View.aspx?InvoiceID=a28880cd-49ba-47fa-bfa9-bb8cef5fb612)
• Statement lines not showing as reconciled
when they are
(
https://go.xero.com/Bank/ViewTransaction.aspx?bankTransactionID=baa18b06-f854-4a19-82db-5b4f65f2a62b&accountID=50EAC01
)
• Statement lines reconciled to deleted
payments
(https://go.xero.com/Bank/Statement.aspx?accountID=50eac01b-5424-4224-b906-4ab9cd3aa8ca&statementID=5bfcfcb0-
85ec-4cdb-b32c-f8a967c8dca6)
17. • Bank reconciliation report showing statement
lines that are reconciled as un-reconciled.
(https://go.xero.com/Bank/TransactionDetails.aspx?accountID=50eac01b-5424-4224-b906-
4ab9cd3aa8ca&statementLineID=5f9b3a82-9618-44e2-8e8c-b7b57d9d7553)
• Approved invoices that have no journals
(https://go.xero.com/AccountsReceivable/View.aspx?InvoiceID=5e43e2b5-cc65-4aa6-8a26-63c492e19621)
• Report/Page timeouts
18. • Reactivating deleted bank accounts that have
bank feeds
• Deprecation that can be rolled back
• Deleting user accounts
• Reactivating deleted trial organisations