¡Hola!

Ողջու՜յն!

Привет!

Привіт!

CIAO!

नमस्ते!

Hi!

გამარჯობა!

Reasons

  • speed up time to market
  • comfort dev process/env
  • fast feedback from dev process

Processes

QA

DM

Architrcture

DevOps

Dev

Dev

QA

DevOps

DM

Sprint

Task development and delivery

In sprint actions

  • Navigation map (Dev + QA)
  • Implement tests (QA + Dev)
  • Task implementation (Dev)
  • Infrastructure support (DevOps + Dev)
  • Assure quality (QA)
  • Confirmation (QA + Dev + DevOps)
  • Delivery (DM) 
  • Feedbacks (Team)

In development testing

BDD

TDD

Dev QA Dev

(triplet)

Pair programming

  • Driver and Navigator roles in pair
  • Change roles every Pomodoro period
  • Change pairs every sprint
  • Follow the TDD/BDD approaches
  • Collaborative coding 
  • Baby steps

Collaborative coding

TDD

  • Navigation map

  • Test first

  • Assert first

  • Fail first

Technical 

Local development

  • Fast local env
  • Independent 
  • Easy to run tests
  • Easy to share
  • Don't have dependencies on other in local env

Mock Server (json-server, msw)

Easy share

(Localtunnel, ngrok, feature hosts)

monorepo, git packages

Monorepo

  • All our code in one repo
  • Different packages in artifactory  
  • Build locally with local dependency

Unit tests

  • the test is a bridge to business task
  • avoid snapshots 
  • avoid code without tests
  • avoid indirect testing
  • add mutation testing

Code

  • follow clean code (clear names; not big files and functions, etc.)
  • avoid magic strings and numbers
  • avoid environment dependencies
  • use monorepo

utils/

helpers/

utils/

utils/services/utils/

Architecture

Documentation

  • Keep actual confluence
  • Documentation with a code
  • Tests as documetation

Infrastructure 

DevOps Culture

Akamai

AWS Cloudfront

Prod

Dev

PP

feature env

[feature].dev.iqos.com

[feature]-[commit1].dev.iqos.com

[feature]-[commitN].dev.iqos.com

...

BFF

Feedbacks

Code Touch Points

Questions

deck

By Andrey Kucherenko

deck

  • 187