[ca] La majoria dels equips de desenvolupament funcionen sense tenir una arquitectura que els permeti saber com han de fer les tasques de desenvolupament a cada moment. Aquest treball, està orientat a definir una arquitectura amb l'objectiu de facilitar la manera de treballar dels programadors d'un equip. L'àmbit d'aquesta arquitectura és el de desenvolupament d'aplicacions web amb Python i aplicacions mòbils en Flutter. En definir aquesta arquitectura es prestarà especial atenció al role de programador, definint les condicions de treball i eines que usi per a garantir la millor productivitat, així com millorar el que es coneix com a experiència de desenvolupador (DX Developer eXperience). Un altre objectiu és de definir els procediments perquè el desenvolupament sigui segur ja que amb l'augment de ciberdelicte cal pensar que el desenvolupament ha de complir regles quant a seguretat. Un altre objectiu és el de definir els procediments perquè la posada en producció del programari sigui ràpida i fiable ja que cada vegada es demana als equips desplegar funcionalitat més ràpidament. Un altre objectiu és l'establir procediments que garanteixin la qualitat i claredat del programari. Cal pensar que cada vegada més és necessari incorporar nous programadors i que aquests siguin productius com més aviat millor i la qualitat i claredat del programari pot ajudar a això. Un altre objectiu és el de minimitzar el nombre d'errors en el programari desenvolupat. Dins de l'arquitectura hem de definir els procediments per a provar el programari. En producció hem d'usar eines que permetin detectar errors al més aviat possible i així poder solucionar-los. Un altre objectiu és el de tenir eines per a definir diversos entorns de producció de manera efectiva. Quant a les aplicacions mòbils l'objectiu és definir procediments de desplegament automatitzats per als "store" d'Android i IOS. Com a context d'aquest treball definim el realitzar l'arquitectura per a un equip de desenvolupament de 10 persones amb un responsable de desenvolupament. Aquests han de desenvolupar aplicacions web amb el framework Django i aplicacions mòbils amb el framework flutter. La base de dades que han triat és postgres. Els entorns de producció estaran en el Cloud de google suportats pel orquestador de contenidors kubernetes.

[es] La mayoría de los equipos de desarrollo funcionan sin tener una arquitectura que les permita saber cómo tienen que hacer las tareas de desarrollo en cada momento. Este trabajo, está orientado a definir una arquitectura con el objetivo de facilitar la manera de trabajar de los programadores de un equipo. El ámbito de esta arquitectura es el de desarrollo de aplicaciones web con Python y aplicaciones móviles en Flutter. Al definir esta arquitectura se prestará especial atención al role de programador, definiendo las condiciones de trabajo y herramientas que use para garantizar la mejor productividad, así como mejorar lo que se conoce como experiencia de desarrollador (DX Developer eXperience). Otro objetivo es de definir los procedimientos para que el desarrollo sea seguro ya que con el aumento de cibercrimen hay que pensar que el desarrollo tiene que cumplir reglas en cuanto a seguridad. Otro objetivo es el de definir los procedimientos para que la puesta en producción del software sea rápida y fiable ya que cada vez se pide a los equipos desplegar funcionalidad más rápidamente. Otro objetivo es el establecer procedimientos que garanticen la calidad y claridad del software. Hay que pensar que cada vez más es necesario incorporar nuevos programadores y que estos sean productivos cuanto antes y la calidad y claridad del software puede ayudar a esto. Otro objetivo es el de minimizar el número de errores en el software desarrollado. Dentro de la arquitectura debemos de definir los procedimientos para probar el software. En producción debemos de usar herramientas que permitan detectar errores lo antes posible y así poder solucionarlos. Otro objetivo es el de tener herramientas para definir varios entornos de producción de manera efectiva. En cuanto a las aplicaciones móviles el objetivo es definir procedimientos de despliegue automatizados para los "store" de Android e IOS. Como contexto de este trabajo definimos el realizar la arquitectura para un equipo de desarrollo de 10 personas con un responsable de desarrollo. Estos deben de desarrollar aplicaciones web con el framework Django y aplicaciones móviles con el framework flutter. La base de datos que han elegido es postgres. Los entornos de producción estarán en el Cloud de google soportados por el orquestador de contenedores kubernetes.