Post on 23-Jan-2018
Adrià Freixas
Departamento de Tecnología e Innovación @ Pasiona
Licenciatura en Bellas Artes, UB. Máster en Image Synthesis and Computer Animation,
UIB. Miembro de comunidades:
Techdencias Netsaimada Mallorca Software Craftsmanship Agile IB
• Miastenia Gravis• Enfermedad neuromuscular• Estrés precursor de episodio
• Replanteamiento del proceso• Buenas Prácticas• Gestión de Proyecto• Calidad de código
Diversidad funcional
Un poco más de mi
Érase una vez …
Bernardo, el agricultor emprendedor mallorquín
Palma: política de inserción laboral Burbuja del emprendimiento:
Desconocimiento del campo Desprecio del proceso y calidad
Business Model Generation Farándula
Bernardo suele ir al bar del pueblo a jugar a Poker con sus amigotes y, le gustaría innovar en su aplicaciónfavorita, 10 Pin Shuffle, abriendo un servicio online de apuestas.Le mostramos las herrramientas para atacar con éxito la tarea.
Un hombre hecho a sí mismo
Bernardo pide ayuda
Agile
Manifesto
We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
Agile vs Waterfall Equipos horizontales Facilitadores: Scrum Master, Product Owner Métricas Democratización
Definition of done, acceptance criteria, planningpoker
Retrospectiva
Proteger al equipo
Scrum
Software Craftsmanship
Manifesto
As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: Not only working software, but also well-crafted software. Not only responding to change, but also steadily adding value. Not only individuals and interactions, but also a community of
professionals. Not only customer collaboration, but also productive partnerships.That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
Promover la colaboración en el equipo. Revisión de código. Consensos para producir valor. Calidad de software.
Valores
Software Craftsmanship
Bernardo empieza a trabajar
El proceso de Bernardo
Bernardo nos pasa las siguientes tareas (él es el jefe): Juego de Póker Juego de Bolos Apuestas Online
Intentamos desgranar tareas. Disparidad de opiniones. Incertidumbre. Aplicaremos Example mapping.
Scrum Planning
División de tareas
Desgranando dudas
Gestión de
identidadPagos?
Países de despliegu
e?
Fraude monetari
o
Servidores o
Nube?
Pagos terceros (Paypal?)
Redes sociales?
Proveedor de
identidad
Tipos de eventos
Integración con
terceros
Eventos bank-roll
Promociones
Leyes de juego
Protección de
datos
Pasarela de pago
Conversión de divisas
Gestión no
conexión
Desgranando
Reducimos los tiempos de planificación
Predominio: Azul: Demasiadas reglas = subdividir tarea Rojo: Desestimar tarea falta consultar con el cliente
Verde: Sin tener que llegar a un consenso sobre las dudas entre
el equipo las sesiones se reducen sensiblemente
Recordemos
El proyecto de Bernando
Desgranado de tareas
Después de revisar la tareas: Las hemos descartado todas por dudas Emos salvado un caso que teníamos claro,
reconocer las manos de póker
Juego de Póker Juego de Bolos Apuestas Online
StrangeIOC para Unity3D
Inyección y bus común de eventos?
StrangeIOC Alternativa a las aplicaciones monolíticas en unity3D Ideal para organizar el código para que sea fácilmente
testable
• Gratuito y de fácil acceso• Inyección de dependencias• Dos modalidades de publicación:
• EventDispatcher• Signal
• Potente Motor de binding para Unity3D• Arquitectura testeada
Caraterísticas
StrangeIOC framework
Testear en unity 3D
Testear videojuegos?
Unit testing integrado en Unity3D Documentación
Varios frameworks de testing N-unit VS(Default)
Integración con control de versiones Root namespace
• Sin Unity tools for Visual Studio regenera la solución cada vez, excluyendo los proyectos
de test• Aquí podéis encontrar como instalar las Tools
para VS2017
Cómo crear nuestro proyecto de test
Demo
TDD
Programar contra casos extremos
Reducimos el margen de error cubriendo los casos extremos
Dejamos las pruebas en los Unit tests en lugar de contaminar el código con investigaciones
Estructura de un test triple A: Arrange Act Assert
Escribes el test antes que la clase Red: el test no nos va Green: escribimos el mínimo de código para que
pase Refactor: mejoramos nuestro código para cubrir
mas casos
Control de versión
TDD (Metodo)