Anthanh PRO
I ♥ the web, technologies and....beers! Co-founder of https://etereo.io
MASMOVIL TECHNOLOGY
WHAT CAN I ANSWER
Here will be the explanation and requirements to answer positively this question.
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
We should have only one code repository to unify tooling and be able to share DevOps scripts and processes.
Every team has project-related internal processes like ingestion, content management, cache invalidation, further validations, package signing, how to's, ...
All of this should be documented and accesible so everyone can take care of it anytime, anywhere.
A well-defined PR should describe at least how to test it manually, so anyone inside/outside the team can check if it works as expected.
Also, the how-to-test can be implemented as part of the US acceptance test.
PR = Pull Request | US = User Story
It means: clone it, run it, check the acceptance criteria, check UI, check border cases, read the PR code and actually understand it, make questions and accept/reject PRs.
PR = Pull Request
Do we have all the tools/services needed to get our job done?.
Do we need something that would help us to increase our productivity?.
Simple comma or double comma? tabs or spaces? trailing commas? allow arrow functions? allow global declarations?.
Whatever you choose, automate it and let the computer work for you.
Does the team care about deploying value behind a feature flag at grooming?.
Do we have tools to apply segmented feature flags?.
New member onboarding is a critical step in the experience of a new member.
We must ensure they have all info needed to understand our business, how his team works and how they can be productive.
A deploy task is an action triggered by any team member and doesn't need any further action.
Could be a git-tag, a command, a click in a UI.
Our project can be deployed with no downtime.
We are autonomous to deploy whenever the product value is ready.
The project should be dockerized in order to be deployable in our container-based infraestructure.
Feature branch environments are a core element of our workflow.
We must be able to create, share and test them easily.
Usually, projects are bundled with embedded config per environment, but, if we can apply this config in runtime, then, we can share the same bundled artifact across environments with almost zero cost.
Do our user stories have well-defined acceptance criteria?.
Can acceptance tests be developed as automated tests?.
Are acceptance test validated with PO and QA?.
Do we implement acceptance criteria as part of the value in the PR?.
Do we implement unit/integration tests for business logic?.
Do we implement functional tests for business value?.
PR = Pull Request
Ensure all bugs and issues are identified and tracked so we will not miss it.
There is only a single source of truth for bugs and issues.
Bugs are well defined: how to reproduce it, expected/current behavior and any other needed resource.
Do we have specific QA members that understand the project and work closely with the team?.
Out of visibility and transparency.
Show the project health status in terms of tests.
Out of visibility and transparency.
Show the project health status in terms of tests coverage.
Team has defined coverage threshold.
We test our value and validate our hypothesis with real users.
Ensure every commit is deployable to other environments anytime.
Detect errors early so we can fix it ASAP.
Code must follow best practices and formatting as defined in team agreements.
Team members know user story journey from definition to production, through design, implementation, validation, and deployment.
US = User Story
Do we have a single source of truth where tasks are listed and prioritized?.
Do we have a goal/focus in every sprint?.
Do we have a WIP limit?.
WIP = Work In Progress
Technical debt only becomes technical debt if it is identified and must be agreed between the DevTeam and PO.
The technical debt must be expressed in terms of value or impact in the product/business.
Is the task well defined so it explains what it is, how it works and why we need it?.
Do we have all the things we need to finish the task?.
Can we finish the task in a sprint?.
Does the task have any risk or blocker?.
Is the task estimated in terms of effort/complexity?.
DoD is our commitment to quality baseline.
Should be agreed between PO and DevTeam.
Should identify all checks needed to consider a task done.
High-performance teams are not only value-oriented, instead, they also provide lasting value.
DoPR ensures we consolidate into main branches only production-ready value, ready to be deployed anytime.
We must learn from our mistakes.
Need improvement but we are proud of it
We need help to address some important problems
We need help ASAP!
😀
😅
😓
MASMOVIL TECHNOLOGY
@anthanh | #frontend-general | #tech-chat
By Anthanh
How we measure our improvement gap
I ♥ the web, technologies and....beers! Co-founder of https://etereo.io