DESARROLLO ÁGIL





3.1. Vuelva a leer el “Manifiesto para el desarrollo ágil de software” al principio de este capítulo. Puede pensar en una situación en la que uno o más de los cuatro “valores” pudiera causar problemas al equipo de software?

·         Siempre es necesario contar de un contrato con el cliente donde se especifiquen las características del         software que se va a desarrollar, porque después podrían generarse problemas de inconformidad por parte del cliente, además de esto incluir al cliente en el proceso de desarrollo del software para poder tener la misma visión que el cliente.
·         Es muy importante que el equipo tenga que adaptarse a los cambios,  pero siempre se debe tener un plan por si las cosas no resultan bien.

 3.2 Describa con sus propias palabras la agilidad (para proyectos de software).

La agilidad en los proyectos de software consiste en desarrollar el software de la manera más rápida posible, así poder satisfacer las necesidades del cliente con prontitud, pero este debe tener un proceso continuo que se adapte a los cambios y sobre todo que los responsables del desarrollo hagan participar al cliente, el equipo debe  mantener orden y una constante disciplina.

3.3. ¿Por qué un proceso iterativo hace más fácil administrar el cambio? ¿Es iterativo todo proceso analizado en este capítulo? ¿Es posible terminar el proyecto en una sola iteración y aun así conseguir que sea ágil? Explique sus respuestas.

·         Ya que el trabajo iterativo consiste en planificar diversos bloques temporales, y al ser entregado al usuario de manera incremental se hace más  fácil el  control los errores que pudieran existir  y adaptarse a los cambios que ocurran.
·         Si, por que todos estos procesos descritos se basan en el desarrollo ágil de software.
·         No, porque en una sola iteración se entrega una parte del proyecto ya funcional pero faltaría revisar los errores o fallas que tenga el software; además completarlo.

 3.4. ¿Podría describirse cada uno de los procesos ágiles con el uso de actividades estructurales generales mencionadas en el capítulo 2? Construya una tabla que mapee las actividades generales en las actividades definidas para cada proceso ágil.
3.5. Proponga un “principio de agilidad” más que ayudara al equipo de ingeniería de software a ser aun mas maniobrable.

Los integrantes de desarrollo de software deben tener confianza el uno del otro y tener habilidades de trabajo en grupo ya que no debe existir el egoísmo en el momento de proponer y compartir las soluciones

3.6. Seleccione un principio de agilidad mencionado en la sección 3.3.1 y trate de determinar si está incluido en cada uno de los modelos de proceso presentados en este capítulo [Nota: Sólo se presento el panorama general de estos modelos de proceso, por lo que tal vez no fuera posible determinar si un principio está incluido en uno o más de ellos, a menos  que el lector hiciera una investigación (lo que se requiere para este problema].

Los modelos mencionados en el capítulo no presentan todas las características completas en si, pero lo que todos estos modelos proponen es satisfacer al cliente a través de entregas continuas que estén funcionando.

3.7. ¿Por qué cambian tanto los requerimientos? Después de todo, ¿la gente no sabe lo que quiere?

Debido a que las empresas van evolucionando es por que tratan de mejorar y ser más competentes, tratan de adaptarse a las necesidades de un mercado cambiante entonces las forma en la que realizan sus servicios debe adaptarse, es por esto que los requerimientos varias constantemente.

3.8.  La mayoría de modelos de proceso ágil recomiendan la comunicación cara a cara, no obstante los

Es muy importante que los requerimientos sean levantados estando es presencia del cliente, y cuando se tomen decisiones relevantes durante el desarrollo del software, es muy importante que el equipo se reúna, caso contrario  podrían presentarse mal entendidos, si uno dice lo que el otro le dijo pueda ser que no lo entienda de la manera original y se juegue al teléfono malogrado.
En caso que los desarrolladores estén lejos uno del otro, para comunicarse sobre cosas sencillas o hacer preguntas, absolver consultas, podrían optar por comunicarse por correo, redes sociales, skipe, que permiten comunicaciones privadas entre miembros de un grupo.

3.9 Escriba una historia de usuario XP que describa las características de “lugares favoritos” o “marcadores” disponibles en la mayoría de navegadores web.

Historia de Usuario
Número: 2
 “Marcadores” o “Añadir favoritos”
Como cliente quiero poder acceder a internet de manera más rápida, que al ingresar al navegador aparezcan las páginas que ya he visitado y pueda seleccionar a las que acceso con más frecuencia.
Prioridad : 100
Estimación: 5
Dependiente: de 1
Responsable: Paola Ruiz

Pruebas de aceptación

Introducir las Url de páginas.
Incluir las URL mas visitadas a mis favoritos y comprobar que se hayan almacenado.
Observaciones: Poner un ícono fácil de ser identificado por los usuarios.

 3.10 ¿Qué es una solución en punta en XP?

Es aquella que se adapta al desarrollo XP, donde existe la interrelación entre los clientes y desarrolladores para poder sacar los requerimientos, que permita las entregas en el menor tiempo posible, si existen cambios la metodología es adaptable, tanto así que acepta cambiar los requerimientos, modificarlos o incluso eliminarlos.

3.11 Describa con sus propias palabras el concepto de rediseño y programación en parejas XP.

El rediseño trata de usar un código fuente ya desarrollado, mediante el análisis de este, podemos modificarlo de acuerdo a nuestras necesidades.
 La programación en parejas XP, es que el desarrollo de software se juntan 2 personas en una sola máquina donde ambos programan, al inicio uno esta de codificador y el otro revisa y esta atento en cosas que tal vez el programador no se haya dado cuenta, y después de transcurrido un tiempo determinado las personas cambian de posición.

3.12  haga otras lecturas y describa que es una caja de tiempo, ¿Cómo ayuda a un equipo Das a que entregue incrementos de software en un corto periodo?

 Una caja de tiempo en un desarrollo adaptativo de software supone un tiempo límite de entrega de las iteraciones del proyecto.
Ayuda al equipo de desarrollo a evaluar los tiempos destinados a cada iteración y así hacer más efectivas las entregas al cliente.

3.13 ¿Se logra el mismo resultado con la regla del 80% del MDSD y con el enfoque de la caja de tiempo del DAS?

Si se logra el mismo resultado debido a que esta propone la regla de Pareto: 80 por ciento de una aplicación puede entregarse en 20 por ciento del tiempo que tomaría entregarla completa.
Esto propone hacer las entregas en menos tiempo del que se plantearía la entrega total.

3.14 Con el formato de patrón de proceso presentado en el capítulo 2 . Desarrolle uno para cualquiera de los patones scrum, presentados en la sección 3.5.2

3.15 ¿Por qué se le llama a cristal familia de métodos ágiles?
Es porque este fue creado con el fin de obtener un enfoque de desarrollo de software que premia la maniobrabilidad, también es un conjunto de ejemplos de procesos ágiles que han demostrado ser efectivos para todo tipo de proyectos.

3.16 Con el formato de características DIC descrito en la sección 3.5.5, defina un conjunto de características para un navegador web. Luego desarrolle un conjunto de características para el primer conjunto.

-Características de un navegador web.
·         -Funciona en bloques pequeños fáciles de entender por el usuario.
·        - El diseño y representación en código son mas fáciles de inspeccionar porque son pequeñas.

3.17  Principios
·         El contenido es mas importante que la representación.
·         Todos podemos aprender de todos.
·         Conozca sus modelos.
·         Conozca sus herramientas.
·         Adaptación local.
·         Comunicación abierta y honesta.
·         Trabaje con el instinto de las personas.

3.18  Las metodologías nos ofreces una variedad de herramientas para el desarrollo ágil, que      facilitan la comunicación, detección de errores, etc.  Pues así nos ayuda a optimizar  el proceso de desarrollo de software.

GESTION DE PROYECTOS DE SOFTWARE




5.1.-    Porque el software al ser intangible no se puede ver ni tocar, por lo que los clientes del software no pueden tener una idea clara del avance del software; nono se puede tener idea exacta de que anda mal ni bien, los clientes deben confiar en los que desarrollan dicho software.

5.2.-   Existe una gran diferencia entre la elaboración de software y la gestión de software, por esto los programadores no son los mejores gestores de software porque ellos solo se dedican a realizar lo que se les pide, no tienen idea sobre la planificación, costes ni la gestión que se está realizando, ni que informes se presentan.

5.3.-   El proceso de planificación de proyectos en iterativo por que solamente se completa cuando el proyecto mismo termina,  pero se debe realizar una revisión continua porque no se sabe que inconvenientes puedan presentarse durante el proceso, ya que pueden existir cosas que no se hayan tomado en cuenta al inicio del proyecto.

5.4.-     
·    Introducción. Describe brevemente los objetivos del proyecto y expone lasrestricciones (por ejemplo, presupuesto, tiempo, etcétera) que afectan a la gestión del proyecto.
· Organización del proyecto. Describe la forma en que el equipo de desarrollo está organizado, la gente involucrada y sus roles en el equipo.3. Análisis de riesgo. Describe los posibles riesgos del proyecto, la probabilidad de que surjan estos riesgos y las estrategias de reducción de riesgos propuestas.
·      Requerimientos de recursos de hardware y software. Describe el hardware y elsoftware de ayuda requeridos para llevar a cabo el desarrollo. Si es necesario comprar hardware. Se deben incluir las estimaciones de los precios y las fechas de entrega.
·     División del trabajo. Describe la división del proyecto en actividades e identifica los hitos y productos a entregar asociados con cada actividad.
·   Programa del proyecto. Describe las dependencias entre actividades, el tiempoestimado requerido para alcanzar cada hito y la asignación de la gente a las actividades.
·     Mecanismos de supervisión e informe. Describe la gestión de informes y cuándo deben producirse, así como los mecanismos de supervisión del proyecto a utilizar. El plan del proyecto debe revisarse regularmente durante el proyecto. Algunas partes, como el calendario del proyecto, cambiarán frecuentemente; otras serán más estables. Para simplificar las revisiones, se debe organizar el documento en secciones separadas que permitan su reemplazo de forma individual conforme evoluciona el plan

5.5.-       El hito identifica la los logros o puntos finales del proyecto.
   Es el conjunto de hitos que muestra todos los  resultados finales al cliente.    
5.6.-      
5.7.-       Gráfico.
               
5.8.-   Describe sobre los retrasos en el desarrollo de software. En su intento de cumplir con los tiempos en previstos, poniendo a los mejores trabajadores en su equipo de desarrollo, no lograron éxito  , después de realizar un análisis se demostró la siguiente ley: "Si aumentamos mano de obra a un proyecto de software retrasado, hace que se retrase."

5.9.- Los posibles riesgos en los proyectos de software pueden ser:
·         Competencia de desarrolladores.
·         Que el cliente a mitad del proyecto desee agregar nuevas especificaciones.
·         Hardware.
·         Costos fuera de lo presupuestado.
·         Que el software no cumpla con los requerimientos.
·         Que no exista una correcta capacitación.

5.10.-    El uso de contratos podría generar problemas que provoquen atrasos que impediría la entrega del software a tiempo.

5.11.-    Toda decisión tiene ventajas y desventajas si el jefe pediría que de mas horas al trabajo y comprometerme con el proyecto, tendría que ver si me conviene la remuneración y si habría oportunidades de ascenso.

5.12.-    Al recibir esta noticia pediría al jefe que me diera un tiempo para decidir, ya que debo enterarme lo que el nuevo puesto requiere, asi poder recibir capacitación para tomar el ascenso con responsabilidad.