Continues Integration and Continues Delivery are important in Agile. In this session Very & Fachrul will explain us why CI/CD is no negotiable to build high value product and also deliver a good quality product.
17. - Long-lived Pull Request
- Just “approve”
- Too focus on small
detail
- Review-is-not-my-job
mindset
- Longer development
process
Pitfall
codeReview
18. What we do
- Small PR (and commit)
- Keep in sync
- PR description (checklist)
- Merge yours
- STOP starting, START finishing
19. Problems
- Too many
bugs
- Staging
server
bottleneck
Product
Infra
- QA
bottleneck
- Tricky
refactoring
Delivery
22. Backlog Grooming:
- Understanding
- Questioning Why
- How to test Sprint Planning:
- Affect regression
- Acceptance criterias
- Automatio, what level
- Test data/environment
During sprint:
- Pair with dev
- Definition of done
- Finding value of quality
- Design experiments to
improve quality
Daily Scrum:
- Asking the right questions,
solving the right problems
- Seek confusion
Review:
- Usability test
- Solve the business problem
23. ● Competencies vs Roles
● Testing is an activity
● More effort testing the product conceptually at
the start, the less effort manual testing at the
end
Quality Assistance
Agus
Relate the title to Agile / Scrum practice
Ship valueable product
Value is relative
F: tanya kenapa topik hari ini judulnya X
A: implementasi scrum value di mekari
Fachrul
Workflow before
Requirement -> PO
Development -> Developer
Testing -> QA
Deploy -> Devops
Emphasize on the Testing and Deploy problem
Fachrul
Product -> Agus, Delivery -> Fachrul
Context team -> size
Unmet SLA => nobody wants to deploy, single point of failure
Different product vision => they work in their own cubicle
TO ADD
Kurang orang terus
Agus
Agus
No knowledge sharing
Fachrul
Inspired by Genghis Khan army
Analogi team sepak bola
Fachrul
https://medium.com/sleekrco/5-agile-principles-that-genghis-khan-taught-to-his-scaled-up-empire-cded08d17e83
Deep expertise, + ability and desire to collaborate across related discipline (sparingly)
Take example on how
Agus
Fachrul
Agus
Ask on exp, different coding style
Automatic (Rubocop, breakman, reek)
Manual (PR review) both junior and senior
Agus
Agus
Onboarding => don’t have to bother with some small detail
Fachrul
Trus gimana cara kita buat antisipasi kode review yang jelek seperti tadi?
Agus
Slice feature as small as possible (incrementally)
Avoid long-lived branches and PR. 2 days > force merge
Fachrul
Only talk on the problem that has not been dicussed before
Fachrul
TODO: Change with something white
Fachrul
Agus
Agus
TDD if possible
Otherwise: remove code -> red -> add code -> green
Fachrul
Fachrul
Agus
Automate deployment, no kuncen deploy
Agus -> Review, Unit, Integration
Fachrul -> Build, QA, Deploy
Test as close as possible to the production env
Fachrul:
Kalo setiap commit otomatis deploy ke production, bisa jadi barang setengah jadi ke deliver ke production donk?
Agus
Methods, risk management:
Branching strategy -> not done, no value
Build number vs Version number
Feature toggle
Agus
2 deployments / week -> docker run, containerization, qa checklist, manual test, no unit test
1 deployment / day -> deployment schedule, kubernetes, qa automated test, release version
5 deploysments / day -> cd, unit test, automated test, alert
Laravel -> 3 days
Kubernetes -> 8 hours
CD -> 2 jam
Agus
Logs -> Audits, trail
Fachrul
Agus, Fachrul
Start collaborating, Collaboration is essential for team dynamic, it does not have to be verbal
Adopt slowly, Change of culture can be hard