Importancia de la Gestion de Desarrollo de Software

Embed Size (px)

Citation preview

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    1/32

    Importancia de la

    gestión en el

    desarrollo de

    softwareÁlvarez González AlejandroÁlvarez Guzmán Brandon AntonioCasas López María de JesúsGuerrero Carreto José Jhon

    Hernández Vera Michelle Citlalli

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    2/32

    • Los proyectos de desarrollo de software sediferencian de los otros proyectos de ingenieríatradicional en la naturaleza lógica del productosoftware.

    • La gestión del proyecto de software es el primernivel del proceso de ingeniería de software, porquecubre todo el proceso de desarrollo. Paraconseguir un proyecto de software fructífero sedebe comprender el ámbito del trabajo a realizar,

    los riesgos en los que se puede incurrir, los recursosrequeridos, las tareas a llevar a cabo, el esfuerzo(costo) a consumir y el plan a seguir.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    3/32

    Gestión• Son todas las actividades y tareas ejecutadas por

    una o más personas con el propósito de planificar ycontrolar las actividades de otros para alcanzar unobjetivo o completar una actividad que no puede

    ser realizada por otros actuandoindependientemente.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    4/32

    Actividades del desarrollo

    de Software• Planificación: Predeterminación de un curso de acción

    para alcanzar los objetivos organizacionales.• Implementación, pruebas y documentación:La implementación es parte del proceso en el quelos ingenieros de software programan el código para el

    proyecto.Las pruebas de software son parte esencial del proceso dedesarrollo del software. Esta parte del proceso tiene lafunción de detectar los errores de software lo antesposible.

    La documentación del diseño interno del software con elobjetivo de facilitar su mejora y su mantenimiento serealiza a lo largo del proyecto. Esto puede incluir ladocumentación de un API, tanto interior como exterior.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    5/32

    • Despliegue y mantenimiento:

    El despliegue comienza cuando el código ha sidosuficientemente probado, ha sido aprobado parasu liberación y ha sido distribuido en el entorno de

    producción.Entrenamiento y soporte para el software es de sumaimportancia y algo que muchos desarrolladores desoftware descuidan.El mantenimiento o mejora del software de un software

    con problemas recientemente desplegado, puederequerir más tiempo que el desarrollo inicial del software. Esposible que haya que incorporar código que no se ajustaal diseño original con el objetivo de solucionar unproblema o ampliar la funcionalidad para un cliente.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    6/32

    Los problemas y errores

    comunes• Los desarrolladores, directivos y clientes

    normalmente tienen buenas razones para tomar lasdecisiones que toman, y la apariencia seductorade los errores clásicos es una de las razones de que

    esos errores se cometan tan a menudo. Perodebido a que se han cometido muchas veces, susconsecuencias se han hecho fáciles de predecir. Ylos errores rara vez producen los resultados que la

    gente espera.• Personas

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    7/32

    Control en Proyectos deSoftware

    • Un control apropiado del proyecto es clave paraque éste pueda cumplir los objetivos propuestos. Elcontrol efectivo requiere esfuerzo (generalmenteconsume un 15% del esfuerzo total del proyecto).

    Las revisiones son instancias de controladministrativo y técnico.

    Éstas se clasifican en:

    • Revisiones Administrativas

    • Revisiones Técnicas• Inspecciones

    • Recorridos (Walkthroughs)

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    8/32

    RevisionesAdministrativas

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    9/32

    Revisiones tecnicas• Es una actividad de garantía de calidad del

    software llevada a cabo por los profesionales de laingeniería del software. Los objetivos de la RTF son:

    • Descubrir errores en la función, la lógica o laejecución de cualquier representación delsoftware.

    • Verificar que el software bajo revisión cumple conlos requerimientos.

    • Garantizar que el software ha sido desarrolladobajo ciertos estándares predefinidos.

    • Obtener un desarrollo del software uniforme.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    10/32

    Inspecciones• Las inspeccionar son realizadas por personal

    altamente calificado. La resolución de defectos esobligatoria y el trabajo rehecho es formalmenteverificado

    • Detectar defectos.• Verificar la resolución de defecto.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    11/32

    Recorridos(Walkthroughs)

    • Evaluación formal de un elemento de software ode su proceso de desarrollo. El autor presenta elelemento de software a revisar, el resto de losparticipantes discute sobre el progreso logrado,

    errores, cambios posibles y mejoras en general.• Detectar defectos.

    • Examinar alternativas de desarrollo.

    • Ser fuente de aprendizaje para el autor 

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    12/32

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    13/32

    Son normas que tienen como objetivo garantizar al cliente que losproductos o servicios adquiridos siempre tendrán las mismas

    propiedades y características.

    ISO/IEC 15504 Determinación de la Capacidad de Mejora del Procesode Software. Es un modelo para la mejora y evaluación de los procesos

    de desarrollo y mantenimiento de sistemas de información y productos

    de software.ISO 9001 Sistema de gestión de la calidad

    ISO 10006 directrices para la calidad en gestión de proyectos

    UNE-ISO 21500 proporciona un alto nivel de descripcion de ls conceptosy procesos que se consideran para formar buenas practicas en la gestion

    de desarrollo de software

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    14/32

    Es un modelo de mejoras de procesos de construcción que provee los

    elementos necesarios para determinar su efectividad.

    CMMI es el estándar más reconocido para la mejora de procesos paradesarrollo de proyectos, gestión de proveedores y gestión del servicio.

    CMMI-DEV: Guía para medir, monitorear y administrar el proceso dedesarrollo.

    CMMI-SVC: Guía para proporcionar servicios en una organización y aclientes externos.

    CMMI-ACQ: Guía para mejorar el proceso de adquisición de productosy servicios.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    15/32

    Es una metodología para dirigir el trabajo de mejora y desarrollo de software,además establece un entorno donde el trabajo de equipo sea efectivo, normal

    y natural.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    16/32

    Es el estándar para la Administración de Proyectos, este puede ser comprendido como

    una colección de sistemas, procesos y áreas de conocimientos que son reconocidosuniversalmente como los mejores

    dentro de la gestión de la realización de proyectos , PMBOK fue desarrollado por PMI

    (Project Management Institute)..

    Marco de referencia para la dirección de proyectos. Proporciona la base paracomprender la administración de los proyectos.

    Norma para la dirección de proyectos. Define los procesos de administración deproyectos y las entradas y salidas para cada proceso.

     Áreas de conocimiento de la dirección de proyectos. Describe las áreas deconocimiento de la administración de proyecto, enumera los procesos, define las

    entradas, herramientas, técnicas y salidas.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    17/32

    Es el modelo de Procesos para la industria del software, es un modelo para

    la mejora y la evaluación de los procesos de desarrollo y mantenimiento de

    sistemas y productos de software.

    MoProsoft fue desarrollado por la Asociación Mexicana para la Calidad en

    Ingeniería de Software y a solicitud de la Secretaria de Economía, esto con

    la finalidad de obtener una norma mexicana que resulta apropiada para las

    características de la mayoría de las empresas mexicanas de desarrollo ymantenimiento de software.

    http://1.bp.blogspot.com/-mUuB0wM7z2o/VOvPC3pxK7I/AAAAAAAAAEE/59OI07UFCts/s1600/moprosoft.png

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    18/32

     Alta dirección (DIR). “Gestión de Negocios”.

    Gestión (GES). “”Gestión de Procesos”. “Gestión de Proyectos”.“Gestión de Recursos”.

    Operación (OPE). “Administración de Proyectos Específicos”.“Desarrollo y Mantenimiento de Software”.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    19/32

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    20/32

    Desarrollo de software

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    21/32

    ISO 9000 Se generó una tendencia con enfoque en los procesos para

    desarrollar aplicaciones. Se requería un desarrollo bastanteestructurado e incluyen procesos complejos y documentados.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    22/32

    Programación extrema o "extreme

    programming" Esta metodología requiere desarrollos tremendamente rápidos por

    lo que se estipula que no sirve hacer planeación. Parte de lapremisa que como nunca hay un producto terminado completo, esmejor no planear.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    23/32

    Agile Development, o desarrollo

    ágil Esta metodología mezcla los dos anteriores: un desarrollo basado

    en pruebas con un número bajo de diagramas y documentos. Elesquema de documentación está basado sobre el UML (lenguajeunificado de modelamiento.)

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    24/32

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    25/32

    Caso practico: restaurante

    informático.

    • Importancia de la gestión en el desarrollo desoftware.

    • Restaurante informático.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    26/32

    PUNTOS PARA LLEVAR A CABO

    EL DESARROLLO.

    • 1. DEFINIR UN ENFOQUE METODOLÓGICO, DESDE EL PUNTO

    DE VISTA DE INGENIERÍA DE SOFTWARE PARA ABORDAR ELPROBLEMA

    • 2.- ESTABLECER LOS PRODUCTOS A ENTREGAR.

    • 3.- DEFINIR LA ESTRUCTURA DEL EQUIPO DE DESARROLLO.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    27/32

    DEFINICION DEL ENFOQUE

    METODOLOGICO.

    • En esta parte realizamos un breve análisis de la metodología que eldepartamento de sistemas utilizara para el desarrollo del sistemainformático, aclarando los motivos por los cuales se desea obtener

    un resultado de la aplicación.

    • Las características importantes son:

    · -Requerimientos de hardware y softwareclaramente especificados.

    · -Personal asignado por labor.· -Actividades definidas.· -Organización del departamento de sistemas.· -Asignación de responsabilidades altamenteestablecida.· -Tiempo de desarrollo pactado (5 meses).

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    28/32

    Recabado los datos anteriores

    definimos que…• Como ya definimos los criterios importantes que usaremos

    en el desarrollo del sistema en forma optima. Lametodología que mas cumple las necesidades para levar acabo nuestro problema y solucionarlo es SCRUM.

    • SCRUM es un proceso de desarrollo de software iterativo eincremental utilizado comúnmente en entornos dedesarrollo ágiles de software. SCRUM, más que unametodología de desarrollo software, es una forma de auto-gestión de los equipos de programadores. Un grupo de

    programadores deciden cómo hacer sus tareas y cuántovan a tardar en ello. SCRUM ayuda a que trabajen todos juntos, en la misma dirección, con un objetivo claro. SCRUMpermite además seguir de forma clara el avance de lastareas a realizar, de forma que los "jefes" puedan ver día adía cómo progresa el trabajo.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    29/32

    Establecer los productos a

    entregar.• Para la metodología que utilizaremos, lo que se debe entregar cada cierto

    intervalo de tiempo son avances o prototipos, esto con el fin de serevaluados.

    • El producto final a entregar está compuesto por el código fuente delsistema, instaladores de la aplicación y manuales. El producto deberácumplir los requerimientos iníciales para las tres áreas de interés: el personalde mostrador, el personal de cocina y el personal administrativo.

    • Al finalizar el proyecto, es necesario hacer entrega de:

    •   –  manuales de usuario

    •  –  manual operativo

    •   –  manual de instalación de la aplicación.

    •   –  Código fuente

    D fi i ió d l t t

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    30/32

    Definición de la estructuradel equipo de desarrollo.

    • A. Personal requerido

    • ·  Un líder de proyecto.

    • · Un jefe de proyecto del departamento de sistemas .• · Cinco desarrolladores .

    • · Personal para soporte hardware y software de laempresa.

    • · Personal de la empresa para definición derequerimientos.

    B Perfiles

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    31/32

    • B. Perfiles• SCRUM es un proceso marco que incluye un conjunto de prácticas y roles predefi

    en Scrum son el Scrum Master , que mantiene los procesos y trabaja de forma similel Product Owner , que representa a los stakeholders (clientes externos o internos),los desarrolladores.

    • De acuerdo a los roles antes mencionados y los cargos asignados por la empres

    1. Scrum Master: Jefe de proyecto del

    departamento de sistemas2. Product Owner: Director de

    3. Stakeholders: Cada uno de los funcionarios

    del hotel que puedan establecer requerimientoclaros que ayuden al desarrollo del

    sistema. Entre ellos están:

    El personal de mostrador 

    El personal de cocina

    El personal de administración

    Cabe aclarar que este grupo de personas estarárepresentado por el Product Owner 

    4. Team: Es el grupo de desarr 

    que, según las especificaciones

    estará constituido por 5 personasles supone buen conocimiento, t

     problema como de la herramient

    5. Personal de soporte y ejecución de aplicaciones: Es

     personal de carácter permanente en la empresa ya que

    tienen por responsabilidad hacer que el software se ejecute

    constantemente a la finalización del mismo y a su vez demantener el departamento de sistemas funcionando diariamente.

  • 8/16/2019 Importancia de la Gestion de Desarrollo de Software

    32/32

    c. Cargos

    Director de administración

    Jefe de sistemas

    Analistas de sistemas o ingenieros (5) para

    desarrollo

    Analista de sistemas o ingeniero para soporte

    d. Asignación salarial

    Existen técnicas de asignación salarial que tienen en

    cuenta que el factor humano es creativo y que debe

    estar comprometido con la empresa. La asignación

    salarial debe ser: atractiva, retenedora y motivadora.