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.

Qué es Ingeniería del software?


“La ingeniería del software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas de software” (Zelkovitz, 1978).

“Ingeniería de software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar (funcionar) y mantenerlos. Se conoce también como desarrollo del software o producción de software” (Bohem, 1976).

La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación (funcionamiento) y mantenimiento del software; es decir, la aplicación de ingeniería al software. 2. El estudio de enfoques como en (1).(IEEE, 1993).

La ingeniería de software es la aplicación de herramientas, métodos y disciplinas para la solución y mantenimiento de soluciones automáticas a problemas del mundo real. (Alonso, Martínez, Segovia, 2005, p.3)

La ingeniería del software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software. (Sommerville, 2005, p.5)

La ingeniería del software es una disciplina que estudia los procesos, herramientas y métodos que interviene en la creación de software de calidad, este software debe cumplir las necesidades para lo que fue diseñado, debe ser confiable, fácil de usar, modificable, capaz de ser transferido de un entorno a otro y los datos que maneja es software deben ser consistentes y tener medidas de seguridad.La calidad del software depende del proceso de las actividades que se realizan, para ello se han definido ISOS y estándares, donde se dan los pasos de desarrollo de software de calidad y el modo de evaluar estos procesos.

Ensayo


Es motivador saber que el Perú ya tiene 17 años con empresas formales, desarrollando Software para la nación y el mundo. Éste sector está creando nuevas oportunidades de negocio y generando progreso. Es un orgullo saber que el Perú, a pesar de la competencia extranjera de software, ha logrado una alta rentabilidad y prosperidad en el rubro.

El software en el Perú no es una moda sino una necesidad, porque agiliza los procesos de todo negocio. La evolución del mercado del software en el Perú, ha crecido gracias a la alta demanda en las  empresas.
La inversión en el mercado del software, son menores a comparación de otras industrias, ya que se necesita personal capacitado para su desarrollo.
Conclusiones- El uso de las TIC's se ha vuelto indispensable para toda empresa que quiera continuar en el mercado.- Grandes empresas, como bancos dependen de Sistemas de Información, una falla de estos podría llevarlos al fracaso.- Debido a la gran demanda de software en el Perú, es rentable hacer negocio en éste sector.- El estado peruano ha creado programas educativos basados en software libre, así busca incentivar el uso responsable del software.- Es muy importante la adquisición del software con licencia porque nos permitirá que las empresas peruanas, puedan competir con las extranjeras.- La piratería ayuda al aprendizaje del uso de las TIC's de personas con bajos recursos adquisitivos, sin embargo no es excusa, adquirirlas ya que existen programas con licencia abierta y otras alternativas que brindan licencias gratuitas con fines educativos como Dream Spark de Microsoft.
Referencias 

En el Perú existen oficinas de las empresas más importantes del mundo, con representantesprincipalmente en la capital. El software peruano, no es comparable con aquellas que comercializan software estranjero, a pesar de ello, existen empresas nacionales de software, con gran futuro en el mercado, que están venciendo los obstáculos de la normatividad y problemas financieros.Todo parece indicar, que las empresas que han tenido éxito se han enfocado en la inversión, investigación, desarrollo, prueba, comercialización y mantenimiento de sus servicios.Otro factor que es importante considerar, es la gran demanda de software que sigue creciendo favorablemente, debido a la gran necesidad que tienen las organizaciones de contar con un sistema de información que apoye sus actividades y procesos de negocio. Incluso el gobierno, está invirtiendo en el desarrollo de sistemas tales como el: "Sistema Electrónico de Contrataciones del Estado" (SEASE), "Sistema Integrado de Gestión Aduanera" (SIGAD), "Sistema de Operaciones en Línea" de SUNAT, entre otros. Además el 14 de octubre de 2010, el Congreso peruano aprobó el voto electrónico, lo que sugiere un nuevo y más agresivo gobierno enfocado en la seguridad de las Tecnologías de Información. El gobierno peruano también abrió un programa: “One laptop per child” (OLPC)  para la educación de los pobres, en Tecnologías de Información, invirtiendo significativamente en computadoras portátiles. Representando el 80% de las ventas de portátiles en el primer semestre del 2009, con un total de 200 000 computadoras portátiles distribuidas con una plataforma GNU/Linux.El gobierno peruano también planea incrementar su inversión en ciencia y tecnología al 1.5% del Producto Bruto Interno  para el 2019, frente al 0.2% que se invirtió en el 2010.PROMPERÚ indica que el sector del software peruano, es de 300 empresas formales que tienen un promedio de 17 años. El 63% son microempresas y 27% son pequeñas empresas, realidad muy similar a la de otros países de Latinoamérica.Este sector en los últimos años ha mostrado un importante dinamismo al presentar una tasa de crecimiento del 15% promedio anual en el periodo 2003-2009, pasando de US$ 85 millones a US$ 167 millones de ventas totales. Esta facturación no incluye a las de empresas multinacionales extranjeras instaladas en nuestro país. Por ello actualmente existen varias empresas e instituciones peruanas que apuestan por el desarrollo del software en el Perú. Empresas osadas que salen a competir con compañías multinacionales como MICROSOFT, SAP, IBM, ORACLE,  GOOGLE entre otros; que venden software o sistemas con tecnologías de punta, y que abarcan casi la gran mayoría del mercado.Las empresas de desarrollo de software peruano a parte de competir con la industria  extranjera, tiene que estar alerta sobre casos de piratería con sus productos, porque existen organizaciones y personas que no están en la capacidad de semejantes desembolsos para  adquirir las licencias, así que optan por adquisición de software pirata.Según PROMPERÚ, el Perú cuenta con un importante capital humano, capaz de llevar adelante el desarrollo de software, que genera 6,000 empleos directos de personal altamente calificado.Actualmente, las soluciones peruanas están en 17 mercados de Latinoamérica, Estados Unidos de Norteamérica (clientes hispanos) y Europa. El mayor destino de exportación es Estados Unidos debido a la contratación de servicios outsourcing y desarrollos a medidas, le sigue en importancia los países miembros de la CAN a donde llegan soluciones más especializadas.A la fecha se han registrado grandes pérdidas económicas para los desarrolladores de software debido a la piratería. Pero no podemos negar que gracias a la piratería se nos ha hecho fácil aprender el manejo de los diferentes programas de software.  Gracias a ello (el acceso a grandes cantidades de conocimiento) se ha reducido la brecha informática en nuestro país.

Situación de los Desarrolladores Web en el Perú 2012Diapositivas del “Programa crea software Perú”.UNIVERSIA - El mercado de las TIC crecerá 6,3% en 2012 - Marzo 2012Plan Estratégico de Gobierno Electrónico 2012 -2015 en el Perú - Julio 2011PERÚ 21 - Pérdidas por piratería de software llegan a US$176 mllns anualesSituación de la Industria Nacional de Software en el Perú. - Diciembre 2003- "Peru Information Technology Report," Business Monitor International, 21 January 2010.- "Software Perú 2011", COMISIÓN DE PROMOCIÓN DEL PERÚ PARA LA EXPORTACIÓN Y EL TURISMO – PROMPERÚ, www.promperu.gob.pe- “Analysis of Peru as an Offshore Services Location” 2010, Publication Date: 27 October 2010/ID Number: G00207429 • Proexport Colombia. 2003. Estudio de Mercado Perú – Sector de Software y Servicios de Tecnologías de la información. Programa de Información al Exportador por Internet - Proyecto Cooperación Técnica No Reembolsable No. ATN/MT-7253-CO. Proexport Colombia – BID-FOMIN. Bogotá, Colombia, 217 páginas.

PRESUPUESTO DE EFECTIVO Y ESTADOS FINANCIEROS PROYECTADOS

EL PRESUPUESTO DE EFECTIVO: Es conocido como flujo de caja proyectado, es un presupuesto que muestra el pronóstico de las futuras entradas y salidas de efectivo (dinero en efectivo) de una empresa, para un periodo de tiempo determinado.
La importancia del presupuesto de efectivo es que nos permite prever la futura disponibilidad del efectivo (saber si vamos a tener un déficit o un excedente de efectivo) y, en base a ello, poder tomar decisiones.
También el presupuesto de efectivo nos permite conocer el futuro escenario de un proyecto o negocio: saber si el futuro proyecto o negocio será rentable (cuando los futuros ingresos son mayores que los futuros egresos), o saber si seremos capaces de pagar oportunamente una deuda contraída.

ESTADOS FINANCIEROS PROYECTADOS: Son los documentos que se preparan para mostrar el efecto o el resultado de proyectos que se cree se realizarán.
Dichos estados dan efecto a hipótesis sobre el pasado o el presente, con el fin de mostrar la situación financiera y los resultados como si se hubieran realizado o sucedido tales hipótesis.

Una herramienta indispensable en toda organización para el control financiero es
el presupuesto maestro, el cual lamentablemente no es utilizado en nuestro medio,
debido a la improvisación del quehacer empresarial, producto de la capacitación no
adecuada de algunos empresar ios en temas de gestión financiera. Se podría decir que solo las grandes corporaciones logran la implantación del presupuesto maestro y las demás empresas trabajan en base a expectativas del buen criterio de los empresarios y clientes.