Code Standard & Collective Code Ownership

Slides:



Advertisements
Presentaciones similares
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Advertisements

Maestr í a en Ingenier í a de Software 2006 Metodolog í as de Desarrollo de Software Á giles Germán A. Montejano.
IdalbertoChiavenato (2001), dice que “El objetivo de la administración de recursos humanos es el planear, organizar, desarrollar, coordinar y controlar”.
RUP Vs. XP Sandra Lorena Anaya. Introducción ● Calidad del SW ● Transparencia y control sobre el proceso ● Producir lo esperado en el tiempo esperado.
Clase 3: primeros programas (1ª parte) iic1102 – introducción a la programación.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
Informe Evaluativo de Costos Luisa Fernanda Mojica 2016.
Marlon Martínez Sernaque CIP Importancia del Uso de Metodologías en el Desarrollo de Software.
UNIVERSIDAD FERMIN TORO CABUDARE ENSAYO TIPOS DE SOFTWARE E IMPORTANCIA JUNIO 2014.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Programación Extrema (XP) Alan Quirino Eder Ramírez Edgar García Alberto Borrell Raúl Bribiesca
CÓDIGOS ÉTICO DEL INGENIERO EN TELECOMUICACIONES Elaborado por: Jorge Andrés Barrios.
Análisis de Proyecto de Software.
Curso: CC62V - Agustín Villena Rodrigo Ojeda - Julio Quinteros
Diseño y Programación Orientados a Objetos
Datos de la Microempresa
Fortalecimiento de Competencias Laborales
Repaso Programacion en C
CODIGO DE BARRAS LOGISITCA 5.
Diseño y Programación Orientados a Objetos
Diseño y Programación Orientados a Objetos
Sistemas de Información Gerencial Ing. Luis Enrique Acosta Medina.
CONTROL DE PROCESOS DE ATENCION AL CLIENTE
Gestión de Software Conferencia # 2 Niveles de PSP: PSP0.1.
La Solidaridad Importancia de la solidaridad
MODELO CLIENTE -SERVIDOR
La importancia de la ortografía
Oscar Martin Tirado Ochoa
Especificación de Requisitos
VIEWS 2 (mucho más que listados) Pedro Cambra -
REQUERIMIENTOS ESPECIALISTAS.
EL ROL DEL JEFE YAMILE ANDREA ZEA GERENCIA MODERNA
“La Comunicación y el Empowerment”
Tecnología en gestión de procesos logísticos Fundamentos de mercadeo
HERRAMIENTAS Elementos necesarios para una buena formación virtual
Principales desafíos: adaptabilidad y agilidad empresarial
Diseño y Programación Orientados a Objetos
CONCEPTOS PRELIMINARES (Cont)
TEMA: SOFTWARE LIBRE & SOFTWARE PROPIETARIO Software libre El término se refiere el conjunto de SOFTWARE que por decisión de su autor, puede ser copiado,
LENGUAJES DE SIMULACIÓN Y SIMULADORES DE
Ciclo de vida del Software
10 reglas para ser mejores padres. Los buenos padres no dan a sus hijos todo lo que necesitan, les enseñan que con algo de ayuda son capaces de.
00:46 1 El software educativo es definido como un conjunto de programas, documentos, procedimientos, y rutinas asociados con la operación de un sistema.
PROTOCOLO EMPRESARIAL ROSARIO BASHI – CHIO LECCA.
Generar y elegir soluciones
Fundamentos de la Programación I
PROYECTO DE GRADUACIÓN
Universidad del turabo Programa ahora Blogs
Zegelipae.edu.pe. Aseguramiento de la Calidad Sesión 6.
LLUVIA DE IDEAS RICARDO DAVID OJEDA PIEDRA DIEGO DANIEL CAMPOS MOYA DANIEL COVIAN MEJÍA MIGUEL A. TORRES ASENCIO.
DIGNIDAD DE LA PERSONA HUMANA MTRA. PSI. SANDRA VELASCO CERVANTES.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
METODO DELPHI, UNA APROXIMACION TEORICA. METODO DELPHI, UNA APROXIMACIÒN TEÒRICA Delhi o Delfos está relacionado con buscar o indagar, por lo cual se.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Diseño y Programación Orientados a Objetos
ACTIVIDAD.
Paquetes y Documentación en Java
Paquetes y Documentación en Java
Universidad Abierta y a Distancia de México
PROYECTO DE GRADUACIÓN
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
SISTEMA OPERATIVO Un sistema operativo es un programa o conjunto de programas de un sistema informático que gestiona los recursos de Hardware y provee.
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Code Standard & Collective Code Ownership Pedro Morales y Carla Paredes Curso: CC62V Profesor: Agustín Villena

Code Standards y Collective Code Ownership - ¿Por qué? Proyecto de Software actual tiene: Rotación de personal Personas indispensables Poca visibilidad del proyecto Problemas de mantención

Code Standards - ¿Qué es? “Buenas prácticas” resumidas en reglas que se aplican durante todo el desarrollo. No son recomendaciones, sino obligaciones. Todo el equipo debe seguirlas. Diferente para cada lenguaje.

Code Standards - Ejemplos Prácticas que componen un standard No usar tabs. Poner con mayúscula la primera letra de nombres de variables. En lenguajes tipados, letra que denote tipo de variable. Etc.

Code Standards - Ventajas Código más entendible. Código más fácil de mantener. Ahorro de documentación. Mejora la visibilidad del proyecto. Mejora la comunicación entre los desarrolladores.

Code Standards - Dificultades Toma mucho trabajo generar un estándar completo. Tratar de encontrar un consenso. Convencer a la gente que lo siga. Problemas para usar código foráneo.

Collective Code Ownership – ¿Qué es? Todos en el equipo son dueños y responsables del código. Cualquiera mejora posible, se debe hacer. Todos tienen confianza en los demás.

Collective Code Ownership – Requerimientos mínimos Todos tienen que usar el mismo Estándar de Código. Herramientas que manejen y resuelvan conflictos de concurrencia.(ej. CVS) Construcción de mini test para aseguramiento de calidad. Herramientas de refactoring.

Collective Code Ownership – Ventajas Facilitan el encuentro y solución de errores. Nadie es indispensable para el proyecto. Cualquiera puede agregar valor. Todos tienen la idea general del proyecto. Evita islas de trabajo. Todos son responsables. Ventaja pues todos trabajan para dar lo mejor.

Collective Code Ownership - Dificultades y posibles soluciones. Un desarrollador arruina el codigo, y no podemos descubrirlo. Con Pair Programming hay dos personas sobre el desarrollo, por lo que los problemas son descubiertos tempranamente. El código puede ser arruinado, sin nadie a quien responsabilizar. Con la ayuda de cvs, esto no es un problema. Además, con el hecho de que todos sean responsables, todos tratan de ayudar, y no esconden estas situaciones. (buscan apoyo)

Collective Code Ownership - Dificultades y posibles soluciones. No hay orgullo en el código propio. Un código bien hecho recibe cumplidos al revisarlo.

Code Standard y Collective Code Ownership – Comentarios Importancia de la confianza. Usar estándares predefinidos. O crearlos a medida que es necesario (simplicidad). Tomar en consideración el lenguaje a usar. Profesionalización del desarrollo. Problemas como gente que comete muchos errores se soluciona con Pair Programming. ¿Funciona?

Linkografía Code Standard: Collective Code Ownership: http://www.possibility.com/Cpp/CppCodingStandard.html#important http://www.adaptionsoft.com/xp_practices_standard.html Eclipse formatter: http://download2.eclipse.org/downloads/documentation/2.0/html/plugins/org.eclipse.jdt.doc.user/tasks/tasks-66.htm Emacs Java formatter: http://www.jindent.com/support/integrations/emacs/emacs.html Collective Code Ownership: http://www.artima.com/intv/ownership1.html http://www.extremeprogramming.org/rules/collective.html http://www.xp.co.nz/Collective_Ownership.htm