En esta charla hablé de:
- cómo gestionamos un nuevo proyecto,
- automatizamos el setup con Docker,
- utilizamos los pipelines de Bitbucket para ejecutar los tests automáticamente
- de cómo encapsulamos el dominio del proyecto con DDD.
- y garantizamos la calidad y el correcto funcionamiento con TDD,
La charla se enfoca desde un punto práctico, con ejemplos y mostrando aquellas partes que más problemas nos han dado y las soluciones que planteamos.
Charla impartida en @phpmad en https://www.meetup.com/es-ES/PHPMad/events/246861723/
9. User stories
Split into Sprints
Vertical slices
Our recipe: the Sprint 0
Prioritize / Reduce scope
Iterative
10. 2nd - Support final hardware
1st - Minimal functionality
1 CCU, 1 dispenser & 1 display.
No services | No printing real tickets
Neither users nor roles
3rd - Services + basic actions
How we broke it
4th - Roles & permissions
29. First class collection
class Users extends ArrayCollection
{
public function canTalkTo(User $theUser): Users
{
// Code
}
public function orderByFullName(): Users
{
// Code
}
}