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

Technical backlog usage instructions at PM FWdays 2017

Technical backlog usage instructions at PM FWdays 2017

Nikita Galkin

September 10, 2017
Tweet

More Decks by Nikita Galkin

Other Decks in Programming

Transcript

  1. Nikita Galkin
    GlobalLogic
    Technical backlog
    usage instructions

    View full-size slide

  2. Nikita
    Galkin
    Love and Know:
    ▰ how to make developers and business happy
    ▰ technical and process debt elimination
    Believe that:
    ▰ Any problem must be solved at the right level
    ▰ Software is easy. People are hard
    ▰ A problem should be highlighted, an idea should be "sold", a solution should be
    demonstrated
    Last Talks:
    ▰ Docker for Node.js developer
    ▰ 5 production Node.js stories
    ▰ Testing in Node.js World
    ▰ TypeScript for Node.js applications
    ▰ Spec driven development in Microservices
    Links:
    Site GitHub Twitter Facebook
    2

    View full-size slide

  3. My experience
    Based on Ukrainian Outsourcing
    companies in 2015-2017
    3

    View full-size slide

  4. 6
    Quality is bad all the time

    View full-size slide

  5. Project is alive. Scrum is failed. Why?
    7
    ▰ Bad Product Owner and/or DoR?
    ▰ Bad Scrum Master and/or Ceremonies?
    ▰ Bad Team and/or DoD?
    ▰ Bad Backlog?
    ▰ All of that?

    View full-size slide

  6. Project is alive. Scrum is failed. Why?
    8
    ▰ Product Owner and DoR
    ▰ Scrum Master and Ceremonies
    ▰ Team and DoD
    ▰ Backlog
    ▰ So what’s the issue?

    View full-size slide

  7. 9
    Non-functional
    Requirements are missed

    View full-size slide

  8. Nonfunctional
    Requirements
    And how do we check them?
    10

    View full-size slide

  9. What is Quality?
    11
    Attributes:
    ▰ Portability
    ▰ Reliability
    ▰ Efficiency
    ▰ Usability
    ▰ Testability
    ▰ Understandability
    ▰ Modifiability

    View full-size slide

  10. Who takes care of which attribute?
    12
    ▰ Portability – DevOps Engineer
    ▰ Reliability – Product Owner
    ▰ Efficiency – System Architect
    ▰ Usability – UX/UI Designer
    ▰ Testability – QA Engineer
    ▰ Understandability – Developer
    ▰ Modifiability – Developer

    View full-size slide

  11. Which type requirements has every attribute?
    13
    ▰ Portability – DevOps Engineer – Non-functional Requirements
    ▰ Reliability – Product Owner – Functional Requirements
    ▰ Efficiency – System Architect – Non-functional Requirements
    ▰ Usability – UX/UI Designer – Non-functional Requirements
    ▰ Testability – QA Engineer – Non-functional Requirements
    ▰ Understandability – Developer – Non-functional Requirements
    ▰ Modifiability – Developer – Non-functional Requirements

    View full-size slide

  12. 14
    User Stories from PO are
    Functional Requirements
    only

    View full-size slide

  13. How store Non-functional requirements?
    15
    ▰ In DoD – DoD will be too big.
    ▰ In their own specification – nobody will read.
    ▰ In Acceptance Criteria for specific story – regression
    testing will be very difficult.
    ▰ In special backlog AKA Technical backlog – this is our
    approach!

    View full-size slide

  14. When you don’t need
    technical backlog?
    Now don’t you?
    16

    View full-size slide

  15. How store Non-functional requirements?
    17
    ▰ Your outsource company has business model where
    “Developers are always scapegoats“
    ▰ You live in perfect world
    ▰ You work in a startup company
    ▰ There is Chuck Norris in your development team
    ▰ You hide real picture from customer

    View full-size slide

  16. What is technical
    debt?
    Several words about lending
    18

    View full-size slide

  17. 19
    Doing things the quick and dirty
    way sets us up with
    a technical debt
    which is similar to a financial

    View full-size slide

  18. Reason of technical debt
    20
    ▰ Prudent decision, because “Deadline is coming”
    ▰ Reckless decision
    ▰ Unaccounted non-functional requirements
    ▰ Technical Inflation

    View full-size slide

  19. 21
    Not everything in the technical
    backlog is a technical debt and
    vice versa.

    View full-size slide

  20. What is technical
    backlog?
    Let’s manage expectations
    22

    View full-size slide

  21. User story VS Tech story
    23
    ▰ a non-functional requirement that
    describes the functionality supporting
    the user-facing features in User
    Stories.
    ▰ It contains the team members
    expectations about project needs.
    ▰ describes what the user does
    with the software and how the
    software responds. A User Story
    is a functional requirement that
    resembles a use case and test
    case.
    ▰ It contains the product owner
    expectations about customers
    needs.

    View full-size slide

  22. Product backlog VS Technical backlog
    24
    ▰ Consist of technical stories
    ▰ Non-functional requirements
    ▰ Demo for development team
    ▰ Delivery as artifact (package,
    document, etc)
    ▰ Consist of users stories:
    As a
    I want
    So that
    ▰ Functional requirements
    ▰ Demo for PO and stakeholders
    ▰ Delivery as working software

    View full-size slide

  23. Technical stories?
    Several new definitions
    25

    View full-size slide

  24. Types of Technical Stories
    26
    ▰ Product Infrastructure. For example, new microservice
    or Database.
    ▰ Team Infrastructure. For example, new feature for CI
    ▰ Refactoring. Changes in codebase for improving
    maintainability.
    ▰ Bug fixing.
    ▰ Spike. When it’s time for R&D adventure

    View full-size slide

  25. Our approach
    27
    Our JIRA types:
    ▰ Technical story with estimates, demo and the template
    “As ... I want to ... So that ...”
    ▰ Bug, without estimates and demo, but with template
    ▰ Task with free structure

    View full-size slide

  26. Technical Backlog
    Sources
    New scrum ceremonies
    28

    View full-size slide

  27. Technical backlog source
    29
    ▰ Postmortems or Production incidents research
    ▰ Architecture board review
    ▰ Grooming
    ▰ Input from Development team
    ▰ Domain Design Review

    View full-size slide

  28. How to ‘sell’
    technical backlog?
    the simplest is always the most difficult
    30

    View full-size slide

  29. Selling algorithm
    31
    1. Identify/highlight problem
    2. Assessing the consequences of not solving the problem
    3. Make sure that decision makers aware that this is a problem and
    know the assessment
    4. Generate solution(-s) and estimate(-s)
    5. Get a confirmation

    View full-size slide

  30. Examples
    32
    ▰ Losing data during deploy
    ▰ Gap in domain
    ▰ Security issue
    ▰ Memory leak
    ▰ Review bugfix pull request

    View full-size slide

  31. 33
    THANKS!
    BE AWESOME!
    BE AGILE!
    You can find me on Twitter as @galk_in
    Slides are available at speakerdeck.com/galkin
    or at my site galk.in

    View full-size slide