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

[Daryna Chernysheva] Solving Dev / Test conflicts

[Daryna Chernysheva] Solving Dev / Test conflicts

Presentation from GDG DevFest Ukraine 2015 - the biggest Google related event in the country. October 23-24, Lviv. Learn more at http://devfest.gdg.org.ua/

Google Developers Group Lviv

October 23, 2015
Tweet

More Decks by Google Developers Group Lviv

Other Decks in Programming

Transcript

  1. #dfua Agenda 1. Introduction: personas and goals 2. Psychological corner

    and root cause analysis 3. Conflicts in cases: a. Technical issues b. Communication issues 4. Conclusion Prepare agenda
  2. Who I am, who you are, who we are, and

    what do we want from each other Introduction
  3. #dfua Introduction: personas and goals Who am I? An Automation

    QA tech lead. Whom is this presentation for? Team players, developers and testers. What do we want? A coffee break! (…Let’s put it into our ToDo list by now.) Developer N Tester M
  4. #dfua Introduction: personas and goals Why do we care? What

    about managers? Automated testing is often: • too opaque to QA leads; • too foreign to Dev leads; • a silver bullet to product owners. What do we want? Detect problems and solve conflicts as early as possible. Product Owner O Team Lead P
  5. #dfua Introduction: personas and goals What is my background? •

    My name is Daryna Chernysheva. • I’ve been in software testing since 2009. • Test frameworks design is my main skill. • I like sci-fi, popular science, gadgets, and metal music. Daryna C Standup Monster
  6. #dfua Psychological corner Dealing with the artifacts: Expected: deliverable piece

    of product (source code module, t est plan, use case, etc.) Actual: something tightly associated with the author’s personal ity. «MY PRECIOUS»
  7. #dfua Psychological corner Symptoms and background: • “Personal” areas of

    responsibility; • Lack of quality reviews and cooperation; • A single person works on both planning and development; • Great time and effort investment (not necessarily legitimat e). «MY PRECIOUS»
  8. #dfua Psychological corner Outcome: • All remarks are taken personally;

    • Aggression or negation is the first response to any concer n; • Einstellung effect (alternate solution blindness). «MY PRECIOUS»
  9. #dfua Psychological corner Dealing with the people: Expected: mutual work

    on project goals unites the team. Actual: team consists of several function-based tribes. «TRIBAL SOCIETY»
  10. #dfua Psychological corner Symptoms and background: • Processes involving >1

    tribe aren’t properly set up; • Cross-tribe reviews are mainly accusatory; • Different tribes have separate workflows, discussions, et c. «TRIBAL SOCIETY»
  11. #dfua Psychological corner Outcome: • Communication is a last resort;

    • Process is valued more than product, as if offers mo re competitive options; • Tribes shift the responsibility for team failures. «TRIBAL SOCIETY»
  12. #dfua Conflicts in cases What can spark a war? •

    Technical problem • Communication problem Note: both of them, in fact, indicate process flaws.
  13. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Struggle for locators: History QA: May we have a unique classname here?
  14. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Struggle for locators: History QA: May we have a unique classname here? DEV: We have no time for that now.
  15. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Struggle for locators: History QA: May we have a unique classname here? DEV: We have no time for that now. QA: Ah, thanks for nothing! We’ll create our own...
  16. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Struggle for locators: Results • solving an avoidable problem becomes a goal a nd an enjoyable challenge; • extra efforts are put into testing and test suppor t; • framework complexity increases.
  17. #dfua Conflicts in cases Struggle for locators: Solution 1. Discussion.

    2. Establishing a process to fulfill technical reques ts coming from QA team; 3. Creating artifacts (items in issue tracker, share d documents etc.) TECH TALK TRIBE DARLING TROUBLE TOKENS
  18. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use?
  19. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use? QA: Take these.
  20. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use? QA: Take these. DEV: How long does the execution take?
  21. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use? QA: Take these. DEV: How long does the execution take? QA: It takes 4 hours.
  22. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use? QA: Take these. DEV: How long does the execution take? QA: It takes 4 hours. DEV: Are you serious? No way guys.
  23. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: History DEV: We need to check our builds. Which tests ca n we use? QA: Take these. DEV: How long does the execution take? QA: It takes 4 hours. DEV: Are you serious? No way guys. QA: Take it or leave it.
  24. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: Results • The tests and the application exist separately; • Time is wasted on double verifications; • Project cannot reap all CI benefits.
  25. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Ineffective tests: Solution 1. Discussion. 2. Heartbeat tests for environment. 3. Specific sets of tests for requested test run durati on. 4. Optimized smoke suite including integration tests .
  26. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Non-optimized tests: History PROD: You don’t execute tests often enough!
  27. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Non-optimized tests: History PROD: You don’t execute tests often enough! QA: Tests execution takes a lot of time because o f operations A and B. In fact, tests are short.
  28. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Non-optimized tests: History PROD: You don’t execute tests often enough! QA: Tests execution takes a lot of time because of operations A and B. In fact, tests are short. DEV: Why don’t we use unit tests? Unit tests do n’t do A or B.
  29. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Non-optimized tests: Results • QA launch tests rarely. • Product owners want to hire new QA team. • Developers want to replace user-level tests wi th unit tests.
  30. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Non-optimized tests: Solution 1. Discussion. 2. DEVs can help QAs shorten the road. 3. DEVs perform code reviews and give advices on solution design. 4. Product owners approve excluding long tests fr om testing scope.
  31. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: History QA: Is this a bug?
  32. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: History QA: Is this a bug? QA: And this one?
  33. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: History QA: Is this a bug? QA: And this one? QA: What about this one?
  34. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: History QA: Is this a bug? QA: And this one? QA: What about this one? DEV: Stop, please!
  35. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: History QA: Is this a bug? QA: And this one? QA: What about this one? DEV: Stop, please! QA: Why, we’re doing what we’re paid for!
  36. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: Results • Developers lose trust in QA’s findings; • Further questions might be ignored; • Devaluation of QA role.
  37. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    Torrent of questions: Solution 1. Discussion. 2. Bug-or-feature algorithm: • aspects to analyze; • escalation order. 3. Happy medium between speed and formality.
  38. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: History QA: Does it really works this way?
  39. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: History QA: Does it really works this way? DEV: Yes, it does.
  40. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: History QA: Does it really works this way? DEV: Yes, it does. QA: Why haven’t you told us before?
  41. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: History QA: Does it really works this way? DEV: Yes, it does. QA: Why haven’t you told us before? DEV: You have never asked.
  42. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: History QA: Does it really works this way? DEV: Yes, it does. QA: Why haven’t you told us before? DEV: You have never asked. QA: We have to discard what we’ve done because of you !
  43. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: Preconditions • There are cross-dependent features / user stories; • Implementation details are changed during developm ent; • Private in-tribe discussions take place.
  44. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: Results • QA’s efforts are wasted; • Tech debt amount is increased; • Personal insults emerge.
  45. #dfua Conflicts in cases TECH TALK TRIBE DARLING TROUBLE TOKENS

    A game of telepaths: Solution 1. Discussion. 2. Active groups are formed by tasks, not by tribes. 3. All task-related discussions involve all stakeholder s. 4. Follow-us are written to keep everyone at the sam e page.
  46. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. TECH TALK TRIBE DARLING TROUBLE TOKENS
  47. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. XXX: It doesn’t work this way. TECH TALK TRIBE DARLING TROUBLE TOKENS
  48. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. XXX: It doesn’t work this way. XXX: Though, at the second thought... TECH TALK TRIBE DARLING TROUBLE TOKENS
  49. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. XXX: It doesn’t work this way. XXX: Though, at the second thought... XXX: And I don’t want to offend him. TECH TALK TRIBE DARLING TROUBLE TOKENS
  50. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. XXX: It doesn’t work this way. XXX: Though, at the second thought... XXX: And I don’t want to offend him. XXX: And what should I tell him, after all? TECH TALK TRIBE DARLING TROUBLE TOKENS
  51. #dfua Conflicts in cases How can I put that…: History

    XXX: He is wrong. XXX: It doesn’t work this way. XXX: Though, at the second thought... XXX: And I don’t want to offend him. XXX: And what should I tell him, after all? XXX: I’d better switch the team. I don’t want to mes s with this stuff. TECH TALK TRIBE DARLING TROUBLE TOKENS
  52. #dfua Conflicts in cases How can I put that…: Results

    • Problems keep building up in silence; • The final breakthrough is painful to everyone. • The risk of losing a team member increases. TECH TALK TRIBE DARLING TROUBLE TOKENS
  53. #dfua Conflicts in cases How can I put that…: Solution

    1. Understanding that people don’t read minds. 2. Discussions involving 3rd person – a trusted individua l. 3. Live communications: no chats or e-mails! TECH TALK TRIBE DARLING TROUBLE TOKENS