Desarrollo de Software por
-
Upload
jose-luis-lee-razuri -
Category
Education
-
view
174 -
download
0
Transcript of Desarrollo de Software por
Objetivos de la Presentación• Queremos mostrarles la técnicas modernas de
programación y gestión de proyectos, para estohablaremos de:
- Introducción.- La problemática del Software.- Metodologías Agiles para gestión de proyectos.- Nuevas técnicas para desarrollar Software.
Introducción
2010
2011
2012
2013
Somos una empresa joven en proceso de mejora continúa(Filosofía Kaizen , mejora continúa hasta la calidad total).
La problemática del Software.Buscamos soluciones para mejorar y nos encontramos con:Información generada por Standish Group en su reporte “Chaos Report”
http://www.projectsmart.co.uk/docs/chaos-report.pdf
En el 2011: sólo el 34 % delos proyectos de Desarrollode Software fueronexitosos, el 40%terminaron fuera de tiempoy costo y el 26% fallaron.
Y el 64% de lafuncionalidad del SWnunca se usa.
El 40% de las veces seestiman mal los proyectos.
http://www.standishgroup.com/
Las diez causas principales de los fracasos en Proyectos de SoftwarePor orden de importancia, son:• Escasa participación de los usuarios.• Requerimientos y especificaciones incompletas.• Cambios frecuentes en los requerimientos y especificaciones.• Falta de soporte ejecutivo.• Incompetencia tecnológica.• Falta de recursos.• Expectativas no realistas.• Objetivos poco claros y procesos de negocio inestables o
pocos maduros.• Cronogramas irreales.• Nuevas tecnologías.
Standish Group 2011
Los Software no son Tuercas“Los Software no son Tuercas, no es un Sistema Simple de fabricación, es UN SISTEMA COMPLEJO (quizás imposible) caracterizar perfectamente a
priori un sistema software”
Requerimientos Estables:- Material.- Diámetro.- Resistencia.
“Los contratos actuales, están bien diseñados para adquirir tuercas, pero no contratar Servicios de Software”
Sistemas Complejos• Ley de Ziv : Las especificaciones nunca se entenderán
completamente.• Ley de Humphrey : El usuario no sabrá lo que quiere
hasta que el sistema esté en producción.• Lema de Wegner : un sistema interactivo nunca puede
ser totalmente especificado ni totalmente testado.• Lema de Langdon : el software evoluciona más
rápidamente conforme nos acercamos a la región del caos.
• “Andar sobre las aguas y desarrollar software contra especificaciones escritas es fácil si ambas están congeladas” – Ley de Berard
Contratos Convencionales• No son flexible a cambios.• Todo el riesgo al proveedor.• Proveedor excede de
funcionalidad “por si las moscas”.• Se asume conocimiento perfecto
del sistema.• no suele incluir tolerancias, el
cliente es el que estima.• Gran tiempo gastado en la
propuesta.• Favorece proveedor “optimista”
(¿desesperado?) – crea el juego de oferta baja / coste por cambios.
Contratos Convencionales• Opciones para que los proveedores no pierdan dinero
“Nadie está en esto para perder dinero (al menos no por mucho tiempo)”.
• A ) Acolchonar los Desarrollos.
• B) Cobrar caro por cualquier Cambio.
• C) Llorarle al cliente.
Metodologías Agiles para gestión de proyectos
Valorar:
• A los individuos y suinteracción , por encima de losprocesos y las herramientas.
• El software que funciona , porencima de la documentaciónexhaustiva.
• La colaboración con elcliente , por encima de lanegociación contractual.
• La respuesta al cambio , porencima del seguimiento de unplan.
SCRUM• Paso 1: Definir Historias con el usuario (Product
BackLog).• Paso 1.1: Priorizar las Historias con el usuario.• Paso 1.2: El equipo de desarrollo estima las Historias (Se apoya
en el usuario y Product Owner (Analista)).
SCRUM• Paso 2: Planificación de Spring.
• Paso 2.1: Definir el tiempo para entregar los release (Ej: cada 3 semanas)
SCRUM• Paso 3: Desarrollo del sprint.
• Paso 3.1: Reuniones diarias.• Paso 3.2: Actualizar el avance del proyecto en el tablón de tareas.
Nuestros Equipos Scrum
Equipo Técnico
ProductOwner
ScrumMaster
Gerente de Proyectos
Líder Técnico
4 Programadores
Diseñadores
Analista Tester
Nuestra forma de estimación
• Planning poker para estimacióndel Desarrollo.
Luego ajuste con Ratios• 10 % Planificación.• 15 % Análisis.• 60 % Desarrollo (incluye las Pruebas Unitarias).• 10% Pruebas de Sistema y Funcionales.• 5% Implantación, Capacitación.
Nuevas técnicas para desarrollar Software usadas en JASoft Solutions.Técnica Usadas Ventaja
SCRUM Ser Iterativo e Incremental (entregas tempranas).
Testing Unit (Pruebas Unitarias) Pruebas en fase de Desarrollo
TDD (Desarrollo dirigido por pruebas) Incrementar la cobertura de pruebas
Selenium Test Automatización de Pruebas del Sistema.
Subversión (Control de Versiones) Permite el control de las versiones y el desarrollo colaborativo
Mantis Bug Tracker Gestión de Errores.
• Framework para PHP:
• Orientado al Mantenimiento.• Orientado a Objetos.• Notificación de Errores.• Interfaces HTML Externas con Smarty.• Mensajes Configurables.• Uso de Base de Datos Relacional (Mysql, Mssql
y Pgsql).• Compatible con BIRT.• Configuración Externa.• Patrón de diseño MVC.
Se Ágil, Gracias.
http://agiles2013.agiles.org/
• ¿Estas interesado en Agile? ¿Quieres conocer más sobre Agile? ¿Te gustaría ser parte de una experiencia Ágil con personalidades de renombre a nivel internacional?
• Entonces, ¡no puedes perderte la 6ta Jornada Latinoamericana de Metodologías Ágiles, Agiles 2013!
• El evento se va a llevar a cabo el 10, 11 y 12 de Octubre en la Cámara de Comercio de Lima .