Tema 2: Inicio de un Proyecto de Desarrollo Software (Ingeniería del Software I) PDF
Document Details
José A. Cruz, Félix O. García, Ignacio García
Tags
Related
- Mcgraw.Hill.Software_Project_Management_2nd_Edition.pdf
- 2- Software Development Life Cycle (SDLC) and Development Approaches.pdf
- Topic 2 - Advanced Software Development Methodologies PDF
- Software Project Management_compressed.pdf
- Software Development Career Path PDF
- Agile Software Project Management PDF
Summary
This presentation discusses the commencement of software development projects and outlines the viability study process. It details general techniques for gathering information when initiating a software development project. It also covers various aspects such as project origins, viability studies, and desirable project director characteristics. The presentation utilizes specific examples for detailed understanding.
Full Transcript
Tema 2 Inicio de un Proyecto de Desarrollo Software Ingeniería del Software I José A. Cruz Félix O. García Ignacio García Objetivos § Exponer cómo se inicia un proyecto de desarrollo de software y qué motiva esta actividad. § Describir cómo se realiza un estudio de via...
Tema 2 Inicio de un Proyecto de Desarrollo Software Ingeniería del Software I José A. Cruz Félix O. García Ignacio García Objetivos § Exponer cómo se inicia un proyecto de desarrollo de software y qué motiva esta actividad. § Describir cómo se realiza un estudio de viabilidad § Presentar de forma general las técnicas de recogida de información que se pueden aplicar cuando se inicia un proyecto de desarrollo software § Bibliografía: › Piattini et al (2003) Análisis y diseño de aplicaciones informáticas de gestión. Una perspectiva de Ingeniería del Software. Ra-ma. › Sommerville (2002) Ingeniería del Software. Pearson Educación. 2 Contenidos § Inicio de un proyecto § Inicio a Nivel de Empresa › Orígenes › Estudios de Viabilidad › Características Deseables del Director del Proyecto § Inicio a Nivel de Proyecto § Técnicas de Recogida de Información 3 Inicio de un proyecto Esquema General ØOrígenes Ø¿Qué quieres hacer? ØEstudio Viabilidad Decisión üConsiderar Alternativas Objetivos Emprender üEvaluar Alternativas Proyecto § Económica, Técnica, Legal, Operativa üEspecificación detallada de la alternativa Nivel seleccionada üEstablecimiento de fechas y compromisos Empresa (Plan Proyecto) INICIO Selección PROYECTO Director Características Proyecto Deseables Director: - Establece Entorno Inicial Plan del Proyecto Nivel ü Identificar Áreas de Riesgo (versión inicial) Proyecto ü Calendarios ü Planes de Trabajo ü Asignaciones de Tareas 4 Inicio de un proyecto Origen de la Idea § Cambio de requisitos § Petición de un cliente/usuario § Propuesta generada dentro de la organización de desarrollo § Necesidad detectada por el Departamento de Marketing § Recomendación del personal de mantenimiento § Detección a partir de la información obtenida de los usuarios 5 Inicio de un proyecto Origen de la Idea § Las solicitudes de desarrollo deben documentarse › RFS (Request for Service) › Ejemplo de Plantilla: Petición de Servicio: Id Prioridad: A. General Solicitante: Fecha: Responsable de Aprobación: Fecha límite de aprobación: B. Descripción: C. Razones para solicitar el servicio D. Comentarios Adicionales: 6 Inicio de un proyecto Origen de la Idea § Priorización de solicitudes: 1. Proyectos de emergencia para corrección rápida de un defecto 2. Proyectos que requieren cambios el un sistema para una fecha concreta 3. Proyectos de mejora o crecimiento 4. Proyectos de desarrollo de un nuevo sistema, reemplazar uno o prolongar su vida 7 Inicio de un proyecto ¿Qué quieres hacer? § Desarrollos Internos à Perspectiva del Cliente 1. Idea clara de lo que se quiere hacer 2. Estudio de Viabilidad § Desarrollo Contratado à Perspectiva del Suministrador 1. Idea clara de las necesidades del cliente à Técnicas Recogida Información 2. Valorar la Viabilidad del Proyecto Mirar antes de saltar 8 Inicio de un proyecto Estudio de Viabilidad METRICA 3 9 Inicio de un proyecto Estudio de Viabilidad 1. Estudiar la solicitud de proyecto y establecer el alcance y los límites del sistema. 2. Estudiar la situación actual, describiendo y valorando los actuales sistemas de información e identificando a usuarios y personas involucradas/afectadas por el proyecto. 3. Definición preliminar de requisitos, catalogando y especificando los mismos, así como las directrices técnicas o de gestión que puedan influir en el proyecto. 10 Inicio de un proyecto Estudio de Viabilidad 4. Estudiar y especificar alternativas de solución - Comprar un producto software comercial existente - Desarrollar el producto internamente. - Desarrollarlo de forma externa mediante un contrato - Automatizar sólo parcialmente el sistema 5. Evaluación de cada una de las alternativas - Técnica, Económica, Legal, Operativa 6. Selección y aprobación de la alternativa más apropiada - Fechas y compromisos de trabajo - Definición de un Plan Inicial del Proyecto 11 Inicio de un proyecto Estudio de Viabilidad § Evaluación de alternativas § “Todos los proyectos son realizables con recursos ilimitados y un tiempo infinito” § Aspectos a abordar: › Económico: ¿El beneficio compensa los costes? › Técnico: ¿La funcionalidad, el rendimiento y las restricciones son alcanzables? › Legal: ¿Los requisitos atentan alguna ley/reglamento? › Operativo: ¿Se puede implantar de manera efectiva en la empresa? § Se le suele prestar más atención al análisis coste-beneficio 12 Inicio de un proyecto Análisis Coste/Beneficio § Permite seleccionar la alternativa más beneficiosa y prever las necesidades financieras § Se deben tener en cuenta: › Elementos tangibles › Elementos intangibles § Costes a considerar: › Personal Informático › Consultoría › Software adicional › Hardware › Infraestructura -Beneficios › Debidos al usuario -Automatización -Menos errores -Más velocidad -Más fiabilidad 13 Inicio de un proyecto Análisis Coste/Beneficio § Ejemplo: § Supongamos una empresa que actualmente lleva la contabilidad de forma manual y decide implantar un sistema informático para que el proceso resulte más rápido y fiable. Actualmente, dispone de dos personas dedicadas a la contabilidad cuyo coste (sueldo bruto más seguridad social a cargo de la empresa) es de 26.000 euros cada uno. Se decide comprar un paquete de contabilidad cuyo precio de compra es de 18.000 euros y el coste de mantenimiento un 15% de éste, y que requerirá una adaptación (sólo inicialmente) valorada en 44 jornadas de trabajo de un analista/programador cuya hora se presupuesta a 27 euros. El ordenador que requiere se presupuesta en 3.000 euros con un coste de mantenimiento del 10% anual. El departamento de contabilidad estima que se ahorraría un 50% del tiempo de las dos personas dedicadas a contabilidad si el sistema fuese automático. Se considera que la vida del sistema es de 4 años. La formación para su manejo requiere una semana y se hace con los propios manuales del paquete. Se considera que el sistema está plenamente operativo en tres meses. 14 Inicio de un proyecto Análisis Coste/Beneficio AÑO 1: § Tabla de Ingresos-Costes: 2600*0,75 que es lo mismo 2600 /12 *3 que me da 6500 que es la diferencia entre el primer y segundo años, pongo 0,75 por que son las 3/4 de una año 44*27*8 = 9509 € 1 semana de las 2 personas se dedican presicamente a estudiar el manual por lo que en esa semana hay perdida --> (26000 /52) *2 = 1000€ que cuesta en formarse, si me pusieran que los usuarios se formase por su cuenta me daria 0€ ya que no es el tiempo del trabajo Año1 Año2 Año3 Año4 Personal 19.500 € 26.000 € 26.000 € 26.000 € Total Ingresos 19.500 € 26.000 € 26.000 € 26.000 € Hardware 3.000 € 300 € 300 € 300 € Software 18.000 € 2.700 € 2.700 € 2.700 € Personal técnico 9.504 € Costes de usuario 1.000 € Total Costes 31.504 € 3.000 € 3.000 € 3.000 € Beneficio neto anual -12.004 € 23.000 € 23.000 € 23.000 € Beneficio acumulado -12.004 € 10.996 € 33.996 € 56.996 € 15 Inicio de un proyecto Análisis Coste/Beneficio § ANALISIS COSTE/BENEFICIO § La inflación influye muchísimo en el análisis BeneficioNeto VAN = i n -1 (1 + ) 100 › VAN = Valor Actual Neto › i = tasa de interés › n = el año de aplicación § ROI (return of investment): Plazo de amortización necesario para recuperar el dinero invertido 16 Inicio de un proyecto Análisis Coste/Beneficio Valor Actual = Valor final / (1 + t/100)n-1 23.636,36 = 26.000 / (1 + 10/100)2-1 Tasa de inflación 10% 10% 10% 10% Valor actual de ingresos 19.500 € 23.636,36 € 21.487,60 € 19.534,18 € Valor actual de costes 31.504 € 2.727,27 € 2.479,34 € 2.253,94 € Valor actual del beneficio anual -12.004 € 20.909 € 19.008 € 17.280 € Valor actual del beneficio acumulado -12.004 € 8.905,09 € 27.913,36 € 45.193,60 € 17 Inicio de un proyecto Selección del Director del Proyecto § El director debe intervenir desde el principio (decisión de emprenderlo) § Características deseables del director: › Liderazgo › Comprensión técnica › Competencia en la gestión › Presteza y decisión › Versatilidad y flexibilidad › Previsión › Integridad 18 Técnicas de recogida de información § Técnicas de recogida de información: Medio para mejorar la comunicación entre usuarios/clientes y los desarrolladores de software. ERS ---> especificación de requisito de software § Pasos del proceso de análisis: § Identificar las fuentes de información § Realizar las preguntas apropiadas § Analizar la información § Confirmar con los usuarios § Sintetizar los requisitos § Resultado: Un documento que especifique los requisitos que debe cumplir el software. 19 Técnicas de recogida de información § Principales técnicas (i): § Entrevistas: “Entrevista periodística”. Más empleada. Mayor preparación. § Desarrollo conjunto de aplicaciones: Equipos de usuarios y analistas trabajan conjuntamente en la determinación de las características que debe tener el software. § Prototipado: Construcción de un modelo o maqueta del sistema que permite a los usuarios evaluar mejor sus necesidades. § Observación: Analizar in situ cómo funciona la unidad o el departamento que se quiere informatizar. § Estudio de documentación: Estudio de los documentos que describen el funcionamiento del negocio. 20 Técnicas de recogida de información § Principales técnicas (ii): § Cuestionarios: Útiles para recoger información de muchas personas en poco tiempo. § Tormenta de ideas (Brainstorming): Reunión que sirve para identificar un primer conjunto de requisitos, mediante el lanzamiento de ideas, cuando no están muy claras todas las necesidades. § ETHICS (Effective Technical and Human Implementation of Computer-based Systems): Método evolucionado para fomentar la participación de los usuarios. Para ello coordina la perspectiva social de los sistemas con su implementación técnica. 21 Técnicas de recogida de información § Entrevista: Intento sistemático de recoger información de otra persona a través de una comunicación interpersonal que se lleva a cabo por medio de una conversación estructurada. El entrevistado puede presentar: Pasividad, inhibición No aceptación Rechazo Agresividad El entrevistador debe poseer: Ciertas cualidades personales Conocimiento de técnicas “relación asimétrica, dinámica y única” Actitud adecuada Experiencia práctica 22 Técnicas de recogida de información § Fases de la entrevista: § Preparación § Conducción/Realización › Apertura › Desarrollo - Técnicas directas: - Preguntas abiertas, directas, cerradas, sí/no - Sondeo - Técnicas indirectas: (Utilizar palabras y frases apropiadas, Asentir y muestras de escucha, Repetir las respuestas dadas; resumir; Reflejar ideas, sentimientos, Pausas - Tiempos: 20%, 80% › Terminación § Análisis 23 Técnicas de recogida de información § Desarrollo Conjunto de Aplicaciones (JAD) § Fomenta el trabajo en equipo entre usuarios y analistas § Duración de 2 a 4 días § Dinámica de Grupo: resultado del grupo coordinado > suma de resultados individuales § Ventajas: § Requiere menos tiempo de preparación que las entrevistas § Existe una mayor implicación de los usuarios § Desventajas: § Requiere mayor organización que en las entrevistas § Se opone la dirección › Falta de tiempo › Mucha gente implicada 24 Técnicas de recogida de información § Prototipado: § Utilidad: › Área de aplicación no definida › Coste de rechazo de la aplicación alto › Necesidad de evaluación del impacto del sistema § Razones para emplearlo: › Prototipado de la interfaz de usuario › Modelos de rendimiento › Prototipado evolutivo § Cualidad del prototipo: Ser construido más rápidamente que la aplicación. § “No sé exactamente que quiero, pero lo sabré cuando lo vea”. 25