- Proyecto de software:
- Es el proceso de gestión para la creación de un sistema o software, la cual encierra un conjunto de actividades, una de las cuales es la estimación, es una actividad importante que no debe llevarse a cabo de forma descuidada.
- existen técnicas útiles para la estimación de costes de tiempo. y dado que la estimación es la base todas las demás actividades de planificación del proyecto y sirve como guía para una buena ingeniería Sistemas y Software.
- Proporcionar un arco de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y planificación temporal, estas estimaciones se hacen dentro de un marco de tiempo limitado al comienzo de un proyecto de software, y deberían actualizarse regularmente como progresa el proyecto.
- la tarea de la planificación del desarrollo de Software es la estimación de los recursos requeridos para acometer e esfuerzo de desarrollo de software.
- cuatro características:
- Descripción del recurso
- Informes de disponibilidad
- Fecha cronológica en la que se requiere el recurso
- Tiempo durante el que sera aplicado el recurso.
- Modelos Empíricos
- Constructivo de Costos
- Presupuesto
¿Qué es una Metodología de Desarrollo de Software?
1. Modelo de Cascada
2. Modelo de Espiral
3. Metodología de Prototipo
4. Desarrollo Rápido de Aplicaciones (RAD)
- Hace todo el proceso de desarrollo sin esfuerzo.
- Asiste al cliente en la realización de revisiones rápidas.
- Alienta la retro alimentación de los clientes para su mejora.
5. Metodología de Programación Extrema (XP)
una metodología para el desarrollo de proyectos que precisan de rapidez y flexibilidad, es una filosofía que supone una forma distinta de trabajar y de organizarse. De tal forma que cada proyecto se ‘trocea’ en pequeñas partes que tienen que completarse y entregarse en pocas semanas. El objetivo es desarrollar productos y servicios de calidad que respondan a las necesidades de unos clientes cuyas prioridades cambian a una velocidad cada vez mayor.
1. Mejora la calidad: Minimiza los errores en los entregables y mejora la experiencia y las funcionalidad para el cliente.
2. Mayor compromiso: Mejora la satisfacción del empleado y genera conciencia de equipo.
3. Rapidez: Acorta los ciclos de producción y minimiza los tiempos de reacción y toma de decisiones.
4. Aumento de la productividad: Al asignar mejor los recursos, y de forma más dinámica, mejora la producción según las prioridades que tenga la empresa.
Su funcionamiento en el entorno laboral
Scrum (Explicación, roles, artefactos, reuniones)
Metodología Scrum: qué es y cómo funciona
¿En qué se basa?
Roles de Scrum
1.Product owner:
2.Scrum Master:
3.Equipo de desarrollo:
Los eventos de la Metodologia de trabajo Scrum
Sprint
Sprint planning
- ¿Qué se va a hacer en el sprint? Se eligen tareas del Product backlog.
- ¿Cómo lo vamos a hacer? El equipo de desarrollo define las tareas necesarias para completar cada item elegido del Product Backlog.
Daily meeting
- ¿Qué hice ayer?
- ¿Qué voy a hacer hoy?
- ¿Tengo algún impedimento que necesito que me solucionen?
Sprint review
Sprint retrospective
Artefactos de Scrum
Product backlog
Sprint Backlog
Ventajas y desventajas de la Metodología Scrum
Ventajas
- Scrum es muy fácil de aprender, los roles, eventos y artefactos son claros y tienen un objetivo muy relacionado a nuestra manera diaria de trabajar.
- El cliente puede comenzar a usar su producto rápidamente.
- Se agiliza el proceso, ya que la entrega de valor es muy frecuente.
- Menor probabilidad de sorpresas o imprevistos, porque el cliente está viendo frecuentemente el proyecto.
Desventajas
- Aunque Scrum sea fácil de aprender, es muy difícil poder implementarlo. Esto supone una predisposición y un cambio de cultura de la organización que debe ir desde los altos mandos hasta los clientes.
- La necesidad de tener equipos multi-disciplinares puede ser un problema, ya que es difícil encontrar personas que sean capaces de hacer todo el trabajo de un equipo.
- El equipo puede tender a realizar el camino más corto para conseguir el objetivo de un Sprint, el cual no siempre es el de mayor calidad.
Cual es el objetivo de Planificar
Recursos:
Modelos de estimación
Las métricas podrían ir orientadas al tamaño, a la función y a la persona.
El presupuesto es un documento de carácter contable que recoge una previsión de ingresos y gastos que se van a producir en el desarrollo de una actividad o en el funcionamiento de un organismo, empresa, corporación o el propio Estado, en un determinado período de tiempo.
Funciones
Dentro de las principales funciones que encierran los presupuestos destacan:
- Se relaciona con el control financiero de la organización.
- Pueden desempeñar tanto roles preventivos como correctivos dentro de la organización.
Importancia
- Son útiles en la mayoría de las organizaciones (compañías de negocios, agencias gubernamentales, grandes y pequeñas empresas)
- Ayudan a minimizar el riesgo en las operaciones de la organización.
- Con los presupuestos se mantiene el plan de operaciones de la empresa.
- Sirven como mecanismo para la revisión de políticas y estrategias de la empresa y direccionarlas a lo que realmente se busca.
- Cuantifican en términos financieros los diversos componentes de su plan total de acción.
- Los procedimientos inducen a los especialistas de asesoría a pensar en las necesidades totales de la compañía, y a dedicarse a planear de modo que puedan asignarse a los varios componentes y alternativas la importancia necesaria.
- Los presupuestos sirven como medios de comunicación entre unidades a un determinado nivel y verticalmente entre ejecutivos de un nivel a otro.
Objetivos
Haciendo referencia a las etapas del proceso administrativo:
- Previsión: tener anticipadamente todo lo conveniente para la elaboración y la ejecución del presupuesto.
- Planear: qué y cómo se va a hacer, es decir, planificar unificada y sistematizadamente las posibles acciones, en concordancia con los objetivos de la empresa.
- Organización: quién lo hará, es decir, que existe una adecuada, precisa y funcional estructura y desarrollo de la organización.
- Coordinación o Integración: que se haga y se forme en orden, en lo particular y en lo general, es decir, compaginar de forma estrecha y coordinada todas y cada una de las secciones de la empresa.
- Dirección: guiar para que se haga, es decir, tomar como base las políticas establecidas para la toma de decisiones y la conducción de los subordinados.
- Control: ver que se realice, es decir, analizar las diferencias entre lo presupuestado y lo ejercido.
En resumen, los objetivos del presupuesto son:
- Planear integral y sistemáticamente todas las actividades que la empresa debe desarrollar en un período determinado.
- Controlar y medir los resultados cuantitativos y fijar responsabilidades en las diferentes dependencias de la empresa para lograr el cumplimiento de las metas previstas.
- Coordinar los diferentes centros de costos para que se asegure la marcha de la empresa en forma integral.
Finalidades
- Planear los resultados de la empresa en dinero y volúmenes.
- Controlar el manejo de ingresos y egresos de la empresa.
- Coordinar y relacionar las actividades de la empresa.
- Lograr los resultados de las operaciones periódicas.
Diagrama de Gantt
El diagrama de Gantt es una herramienta gráfica cuyo objetivo es exponer el tiempo de dedicación previsto para diferentes tareas o actividades a lo largo de un tiempo total determinado. A pesar de esto, el diagrama de Gantt no indica las relaciones existentes entre actividades.
Etapas de un proyecto
1. Inicio
La fase de inicio es crucial en el ciclo de vida del proyecto, ya que es el momento de definir el alcance y proceder a la selección del equipo. Sólo con un ámbito claramente definido y un equipo especializado, se puede garantizar el éxito.
2. Planificación
Ésta es a menudo la fase más difícil para un director de proyecto, ya que tiene que hacer un importante esfuerzo de abstracción para calcular las necesidades de personal, recursos y equipo que habrán de preverse para lograr la consecución a tiempo y dentro de los parámetros previstos. Asimismo, también es necesario planificar comunicaciones, contratos y actividades de adquisición. Se trata, en definitiva, de crear un conjunto completo de planes de proyecto que establezcan una clara hoja de ruta.
3. Ejecución
En base a la planificación, habrá que completar las actividades programadas, con sus tareas, y proceder a la entrega de los productos intermedios. Es importante velar por una buena comunicación en esta fase para garantizar un mayor control sobre el progreso y los plazos. Asimismo, es indispensable monitorizar la evolución del consumo de recursos, presupuesto y tiempo, para lo que suele resultar necesario apoyarse en alguna herramienta de gestión de proyectos. En esta etapa se deben gestionar: el riesgo, el cambio, los eventos, los gastos, los recursos, el tiempo y las actualizaciones y modificaciones.
4. Seguimiento y control
Esta fase comprende los procesos necesarios para realizar el seguimiento, revisión y motorización del progreso de proyecto. Se concibe como el medio de detectar desviaciones con la máxima premura posible, para poder identificar las áreas en las que puede ser requerido un cambio en la planificación. La etapa de seguimiento y control se encuentra naturalmente asociada a la de ejecución, de la que no puede concebirse de forma separada, aunque por su importancia y valor crítico.
5. Cierre
Esta fase comprende todos procesos orientados a completar formalmente el proyecto y las obligaciones contractuales inherentes. Una vez terminado este estadio, se establece formalmente que el proyecto ha concluido.
Metodologías para el desarrollo del software
Una metodología de software es un enfoque, una manera de interpretar la realidad o la disciplina en cuestión, que en este caso particular correspondería a la Ingeniería de Software. De hecho, la metodología destinada al desarrollo de software se considera como una estructura utilizada para planificar y controlar el procedimiento de creación de un sistema de información especializada.
Dicho esto, mostramos a continuación cuáles son algunas de las metodologías de desarrollo que te permitirán saber cuál sería la más adecuada para tu negocio.
Si alguna vez has incursionado en el mundo del Desarrollo de Software, de seguro te has topado en algún momento con el modelo de cascada. De no ser así, cabe destacar que en este modelo cada etapa representa una unidad de desarrollo con un pequeño descanso en el medio. Por lo tanto, cada siguiente etapa inicia tan pronto como la anterior haya culminado, y esos descansos son usados para confirmaciones del lado del cliente.
Adicionalmente, este es considerado como el método tradicional de explicar el proceso de desarrollo de software en ingeniería de software, por lo que actualmente es visto como anticuado. Sin embargo, aún sigue siendo aplicado a proyectos con metas claras y requisitos que demandan hasta 100 horas de desarrollo, sobre todo considerando que este enfoque permite a los negocios deshacerse del papeleo innecesario, reuniones regulares que consumen mucho tiempo y retrasos en sus procesos de negocio.
Es por esto que esta es una gran opción para pequeños proyectos donde todos los aspectos del proceso de desarrollo de software se conocen de antemano, pero una mala solución para proyectos complicados, ya que se trata de un modelo bastante inflexible.
Mientras que la metodología de la cascada ofrece una estructura ordenada para el desarrollo de software, las demandas de tiempo reducido al mercado hacen que sus pasos en serie sean inapropiados.
El siguiente paso evolutivo desde la cascada es donde se realizan los diversos pasos para múltiples entregas o traspasos. La última evolución de la caída del agua es la espiral, aprovechando el hecho de que los proyectos de desarrollo funcionan mejor cuando son incrementales e iterativos.
La metodología espiral refleja la relación de tareas con prototipos rápidos, mayor paralelismo y concurrencia en las actividades de diseño y construcción. El método en espiral debe todavía ser planificado metódicamente, con las tareas y entregables identificados para cada paso en la espiral.
Es un procedimiento de desarrollo especializado que permite a los desarrolladores la posibilidad de poder solo hacer la muestra de la resolución para poder validar su esencia funcional ante los clientes, y hacer los cambios que sean fundamentales antes de crear la solución final auténtica. De hecho, la mejor parte de esta metodología es que tiende a resolver un conjunto de problemas de diversificación que ocurren con el método de la cascada.
Además de esto, la gran ventaja de optar por este enfoque es que da una idea clara sobre el proceso funcional del software, reduce el riesgo de falla en una funcionalidad de software y asiste bien en la recolección de requisitos y en el análisis general.
Con el objetivo de otorgar resultados rápidos, se trata de un enfoque que está destinado a proporcionar un excelente procesos de desarrollo con la ayuda de otros enfoques, pero además, está diseñado para aumentar la viabilidad de todo el procedimiento de desarrollo de software para resaltar la participación de un usuario activo.
Dicho esto, algunas de las ventajas a destacar de este tipo de desarrollo son las siguientes:
Como metodología ágil de ingeniería de software, la metodología de programación extrema se conoce actualmente como metodología de XP (eXtreme Programming). Esta metodología, se utiliza principalmente para evitar el desarrollo de funciones que actualmente no se necesitan, pero sobre todo para para atender proyectos complicados. Sin embargo, sus métodos peculiares pueden tomar más tiempo, así como recursos humanos en comparación con otros enfoques.
Estas son solo algunas de las metodologías de Desarrollo de Software que existen, pero lo importante es que tengas en cuenta que al estar familiarizado con estos populares enfoques podrás optimizar la eficiencia de tus proyectos utilizando un enfoque puro o combinando algunos de ellos.
Que es el manifiesto agile
Los principios y valores en los que se basan las metodologías ágiles tienen como principal característica realizar entregas rápidas y continuas de software funcionando. Poniendo un ejemplo, en el marco de trabajo scrum, el proyecto se divide en pequeñas partes que tienen que completarse y entregarse en plazos cortos, llamados ‘sprints’. De esta manera, si hay que realizar cualquier modificación, sólo se hacen cambios en la parte implicada y en muy poco tiempo.
A la hora de poner en marcha un proyecto, toda empresa debe asegurar que el equipo implicado conoce sus tareas y plazos de tiempo de entrega. Scrum es una metodología de trabajo que nos ayuda a conseguirlo y que, además, permite agilizar la entrega de valor al cliente en iteraciones cortas de tiempo.
Scrum es un proceso, marco de trabajo o framework, usado en equipos que trabajan en proyectos complejos; una metodología de trabajo ágil que tiene como finalidad la entrega de valor en períodos cortos de tiempo, basada tres pilares: la transparencia, inspección y adaptación.
Scrum se basa en aspectos como la flexibilidad en la adopción de cambios y nuevos requisitos durante un proyecto complejo, el factor humano, la colaboración e interacción con el cliente y el desarrollo iterativo como formas de asegurar buenos resultados.
Los pilares o características de la metodología Scrum más importantes son 3:
Transparencia: Todos los implicados tienen conocimiento de qué ocurre y en el proyecto y cómo ocurre. Esto hace que haya un entendimiento “común” del proyecto, una visión global.
Inspección: Los miembros del equipo Scrum frecuentemente inspeccionan el progreso para detectar posibles problemas. La inspección no es un examen diario, sino una forma de saber que el trabajo fluye y que el equipo funciona de manera auto-organizada.
Adaptación: Cuando hay algo que cambiar, el equipo se ajusta para conseguir el objetivo del sprint. Esta es la clave para conseguir éxito en proyectos complejos, donde los requisitos son cambiantes o poco definidos y en donde la adaptación, la innovación, la complejidad y flexibilidad son fundamentales.
En Scrum, el equipo tiene como foco entregar valor al cliente, de calidad.
Los equipos de Scrum son auto-organizados y multi-funcionales. Esto garantiza la responsabilidad de la entrega de valor al equipo completo, sin necesidad de ayuda de otros miembros de la organización.
En Scrum existen 3 roles: Product Owner, Scrum Master y Equipo de desarrollo.
Es el responsable de maximizar el valor del trabajo del equipo de desarrollo. La maximización del valor del trabajo viene de la mano de una buena gestión del Product Backlog, el cual explicaremos más adelante.
Es el único rol que habla constantemente con el cliente, lo que le obliga a tener muchos conocimientos sobre negocio.
Para finalizar, un equipo Scrum debe tener solo 1 Product Owner, y este además puede ser parte del equipo de desarrollo.
Es el responsable de que Scrum sea comprendido y aplicado en la organización. Es el manager de Scrum, pero en ningún momento se le puede considerar un jefe. Líder servil que se encarga de eliminar impedimentos o inconvenientes que tenga el equipo dentro de un sprint (que ya revisaremos en detalle más adelante), aplicando las mejores técnicas para fortalecer el equipo de marketing digital.
Dentro de la organización, el Scrum Master tiene la labor de ayudar en la adopción de esta metodología en todos los equipos.
Son los encargados de realizar las tareas priorizadas por el Product Owner. Es un equipo multifuncional y auto-organizado. Son los únicos que estiman las tareas del product backlog, sin dejarse influenciar por nadie.
Los equipos de desarrollo no tienen sub-equipos, o especialistas. La finalidad de esto es transmitir la responsabilidad compartida si no se llegan a realizar todas las tareas de un sprint.
La gráfica describe los eventos de Scrum. El desarrollo iterativo se realiza en un Sprint, que contiene los siguientes eventos: Sprint planning, daily meeting, Sprint review y Sprint retrospective.
El corazón de Scrum, es el contenedor de los demás eventos. Todo lo que ocurre en una iteración para entregar valor está dentro de un Sprint. La duración máxima es de 1 mes, el tiempo se determina en base al nivel de comunicación que el cliente quiere tener con nosotros. Sprints largos pueden hacer que perdamos feedback valioso del cliente, y poner en peligro nuestro proyecto.
La primera reunión que se hace en el sprint, tiene una duración de 8 horas para Sprints de 1 mes. En esta reunión todo el equipo Scrum define qué tareas se van a abordar, y cuál será el objetivo del sprint.
El equipo se hace las siguientes preguntas:
La definición de qué se va a hacer hace que el equipo tenga un objetivo, y se encuentre comprometido con la entrega de valor que se hará al cliente en el Sprint. A esto se le llama Sprint Goal.
El resultado de esta reunión es el Sprint Goal y un Sprint Backlog (que revisaremos más adelante).
Es una reunión diaria dentro del Sprint, que tiene como máximo 15 minutos de duración. En ella debe participar, si o si, el equipo de desarrollo, el Scrum Master y el Product Owner no tienen necesidad de estar.
En esta reunión diaria el equipo de desarrollo hace las siguientes 3 preguntas:
Esta reunión es la más oportuna para poder inspeccionar al equipo, y poder adaptarse en caso de que haya cambio de tareas dentro de un Sprint.
La review del valor que vamos a entregar al cliente se hace en esta reunión, al final de cada Sprint. Su duración es de 4 horas para Sprints de 1 mes, y es la única reunión de Scrum a la que puede asistir el cliente. En ella el Product Owner presenta lo desarrollado al cliente, y el equipo de desarrollo muestra su funcionamiento. El cliente valida los cambios realizados, y además nos brinda feedback sobre nuevas tareas que el Product Owner tendrá que agregar al Product backlog.
La retrospectiva es el último evento de Scrum, tiene una duración de 3 horas para Sprints de 1 mes, y es la reunión del equipo en la que se hace una evaluación de cómo se ha implementado Scrum en el finalizado Sprint.
Es una gran oportunidad para el equipo Scrum de inspeccionarse a si mismo, proponiendo mejoras para el siguiente Sprint.
El resultado: una lista de mejoras que debe aplicar el siguiente día, ya que al finalizar la retrospectiva, inmediatamente comienza un nuevo Sprint, que incluye el Sprint Planning, Daily Meeting, Sprint review y la ya mencionada Sprint Retrospective.
Los artefactos de Scrum están definidos para maximizar la transparencia dentro del equipo, es decir, que todos tengan una misma visión de lo que hay en el proyecto.
Los artefactos de Scrum son: Product backlog y Sprint backlog.
Básicamente, el Product Backlog es el listado tareas que engloba todo un proyecto. Cualquier cosa que debamos hacer debe estar en el Product Backlog, estimado por el equipo de desarrollo.
La responsabilidad exclusiva de ordenar el Product Backlog es del Product Owner, que se encuentra en constante comunicación con el cliente para asegurarse de que las prioridades están bien establecidas.
La ordenación también es 100% responsabilidad del Product Owner, donde las tareas que están más arriba son las de mayor prioridad.
El equipo de desarrollo elige tareas del Product Backlog en el Sprint Planning para generar tanto el Sprint Backlog como el Sprint Goal.
Es el grupo de tareas del Product Backlog que el equipo de desarrollo elige en el Sprint Planning junto con el plan para poder desarrollarlas.
Debe ser conocido por todo el equipo, para asegurarse que el foco debe estar en este grupo de tareas.
El Sprint Planning no cambia durante el sprint, solo se permite cambiar el plan para poder desarrollarlas.
No hay comentarios:
Publicar un comentario