Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bug Management

Bug Management

Sometimes there are bugs in our code, and our wish is to exterminate all of them in zero time. But this is not humanly feasible, so we have to manage the process. This talk sheds a little more light on that.

Igbanam

May 18, 2017
Tweet

More Decks by Igbanam

Other Decks in Programming

Transcript

  1. Agenda • Bugs; what are they? • Process to manage

    them • Tools for in the industry • D.A.B • Questions
  2. A little about @igbanam • Ruby , PHP • STC

    @ Andela • I watch tutorials @ 2x • Spoken word poet
  3. A little about @proton • Python Stack • D0 –

    Software Ninja • Building solutions that make life easy & making the world a better place. • Passionate about Data Scraping • Has a weird smile and loves (good) weird stuff.
  4. Bugs — What are they? TL;DR Bugs are unwanted behaviours.

    Think of a bug like weed - a weed is an unwanted plant growing in an unwanted area. A bug sometimes can be a feature but when it’s an unwanted feature it becomes a bug. Bugs can be born of inconsistencies or lack of standard; especially in a distributed team.
  5. Bugs — Types of Bugs • Mandelbug (or Pregnant) bug:

    a bug whose causes are so complex it defies repair, or makes its behavior appear chaotic or even non-deterministic. • Heisenbug: Disappears when you try to investigate it, comes bas when you’re not looking • Schrödinbug: a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place. • Bohrbug: a normal bug.
  6. Bug Management — Process — Report • Be concise •

    Be clear • Be detailed • Be precise Capture Triage Assign Track Report Close
  7. Bug Management — Process — Capture Capture Triage Assign Track

    Report Close • Technical Detail • Reproducible Steps • Categorization
  8. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close Definition The process of determining the most important people or things from amongst a large number that require attention [tree-ahzh]
  9. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business
  10. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business
  11. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business
  12. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business
  13. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business Value • Market • Commercial • Future • Efficiency • Customer
  14. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close How do we Triage — TOBi • Technology • Operations • Business TOBi Framework
  15. Bug Management — Process — Assign Capture Triage Assign Track

    Report Close For accountability and all. If the bug is nobody’s responsibility, nothing gets done. • Person [or Team] • Sprint
  16. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close The bug would need to go through a transparent workflow. Transparent — visible to the team/company Workflow — step-by-step
  17. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close Tools • JIRA • Mantis Bug Tracker • Pivotal Tracker • Trello • BugZilla • …and so on
  18. Bug Management — Process — Triage Capture Triage Assign Track

    Report Close Workflow State of the bug/ticket as it’s being worked on.
  19. Bug Management — Process — Close Capture Triage Assign Track

    Report Close Bug is fixed/squashed/zilched/exterminated
  20. Bug Management — D.A.B Defence Against Bugs Prevention is better

    than Cure • Practice OO principles religiously • Single Responsibility is a life saver • Communicate your solutions • Do not over-engineer • Test-Driven Development, TDD