Guía de estudio 2
Desarrollo Ágil
Beneficios
-Permite mayor flexibilidad y poder ajustarse a las cambiantes necesidades de los
clientes, del mercado y de los desafíos imprevistos que plantea la tecnología.
-Proporciona la funcionalidad suficiente como para satisfacer
las expectativas de los clientes con una alta calidad, es decir, proporciona la
mínima funcionalidad con la máxima calidad.
-Permite cumplir con los plazos de entrega previstos, esto es, ya que el desarrollo ágil se basa
en el desarrollo incremental del
software con iteraciones muy cortas, permite respetar y cumplir los plazos de
entrega preestablecidos al cliente presentando cada iteración del software a
tiempo y corroborar que lo que se desarrollo es lo que el cliente especificó.
- Permite estar todo el tiempo en
contacto con los clientes, el cliente participa todo el tiempo en el desarrollo
del proyecto, aportando sus requerimientos y sugiriendo los cambios deseados en
cada porción del software desarrollada.
- Permite realizar pruebas de
rendimiento desde el principio, empezando en las primeras iteraciones, logrando
descubrir problemas antes.
Característica de la propuesta para TSL
Uno de los motivos por los cuales se
decidió dar comienzo al desarrollo del proyecto TSL es para estar a la altura
de la competencia y de las necesidades de los usuarios. Como la competencia
esta cada vez más fuerte es necesario estar preparado para adaptarse y hacer
frente a esos cambios necesarios que demanda la competencia. Gracias al
desarrollo ágil se podrá adaptar el proyecto a futuros cambios que serán necesarios
realizar, ya sea para lograr una ventaja competitiva, porque lo demandan los
usuarios, sus necesidades cambiantes y los cambios y avances propios de la
tecnología.
Si bien la información que brinda el
software acerca del lugar TSL, las instalaciones y demás no variará mucho o
tendrá pocos o nulos cambios, los cambios podrán surgir con respecto a la forma
de presentar la información y de motivar a los usuarios a que elijan el lugar
en preferencia con otros. El software de TSL podrá estar en cambios constantes
con respecto a promociones, a servicios que ofrece, a ilustración del lugar.
El software de TSL ofrece la ventaja de que los usuarios puedan
calcular el presupuesto de una reserva antes de efectuarla, por lo tanto es
también una característica que estará sujeta a cambios en los importes para
realizar el cálculo del presupuesto, y gracias a un desarrollo ágil será más
sencillo poder adaptarse a esos cambios.
Como el software permite estar en
contacto con los usuarios ellos podrán opinar acerca de aquello que les gusta o
no, de la información que requieren y no la tienen plasmada en el software.
Esto servirá para tomarlo en cuenta a la hora de efectuar los cambios que
requieren los usuarios y que son en definitiva la clave de lo que se debería
mostrar.
Integrantes del proyecto
El desarrollo ágil de software fija
especial atención en el individuo y el
cliente. No se necesita tener desarrolladores con habilidades especiales sino
que lo que se desea en esta metodología es que el equipo de trabajo este
dispuesto a trabajar en conjunto, colaborando entre si y que estén en constante
comunicación entre ellos. La comunicación diaria entre ellos es una
característica fundamental para resolver los problemas que pueden surgir, para
coordinar e integrar el desarrollo del proyecto. Así mismo, el cliente o
contratista debe estar también en constante comunicación con los
desarrolladores para expresar las necesidades y requerimientos que desea con
respecto al desarrollo del proyecto y para estar al tanto de todos los cambios
e inconvenientes que pudieran surgir.
El equipo que desarrollara el proyecto
debe ser pequeño y debe estar dispuesto a adaptarse a los cambios que pueden
surgir ya que esos cambios deben verse como algo positivo que beneficiaran al
cliente, por eso si bien debe desarrollarse un plan éste debe ser bastante
flexible como para adaptarse a esos cambios.
El equipo es quien decide como funcionar
de manera eficiente de
modo que sea el propio equipo el que mejore su entorno
de trabajo y pueda mostrar resultados de manera regular.
Beneficios para el propietario
El propietario o cliente del proyecto se
beneficia en muchos aspectos al utilizar el desarrollo ágil:
-Al estar en constante comunicación con
el equipo y ser parte de éste, el cliente sabe en que punto de desarrollo está
el proyecto, recibe en plazos cortos iteraciones del software y las prueba,
sabe si funcionan o no, si es lo que deseaba o si hay que hacerle
modificaciones o introducirle variantes.
-El cliente es quien conduce
constantemente el trabajo, por lo tanto el proyecto reflejara lo que realmente
desea el cliente plasmar, lo que lo beneficiara y dará una ventaja competitiva.
-El tiempo de desarrollo es mas corto
utilizando este tipo de desarrollo.
-Como es más importante presentar
software funcionando antes que extensa documentación, para el cliente le
resulta más fácil estar al tanto del avance del proyecto.
Ingeniería de sistemas
La ingeniería de sistemas es el proceso formal de desarrollo
de software en el que las necesidades del usuario se traducen en
requerimientos, estos se transforman en diseño que se implementa en código que
se prueba, documenta y se certifica para su uso operativo. El proceso requiere
una metodología con estas etapas:
-
Análisis de requerimientos: Se extraen los requisitos del producto de software.
Usualmente el cliente/usuario tiene una visión incompleta/inexacta de lo que
necesita y es necesario ayudarle para obtener la visión completa de los
requerimientos. La comunicación
en esta etapa es muy intensa.
-
Especificación:
Se describe el
comportamiento esperado del software y su interacción con los usuarios y/o
otros sistemas.
-
Diseño
y arquitectura:
Consiste en el diseño de los componentes del sistema que dan respuesta a las
funcionalidades descritas en la segunda etapa.
Generalmente se realiza en base a diagramas que permitan describir las
interacciones entre las entidades y su secuenciado.
-
Programación: Se traduce el diseño a código. Es la
parte más obvia del trabajo de ingeniería de sistemas y la primera en que se
obtienen resultados “tangibles”.
-
Prueba: Consiste en comprobar que el software
responda/realice correctamente las tareas indicadas en la especificación. Es
una buena forma, realizar pruebas a distintos niveles (por ejemplo primero a
nivel unitario y después de forma integrada de cada componente).
-
Documentación: Realización del manual de usuario, y
posiblemente un manual técnico con el propósito de mantenimiento futuro y
ampliaciones al sistema.
-
Mantenimiento: En esta etapa se realizan un mantenimiento correctivo
(resolver errores) y un mantenimiento evolutivo (mejorar la funcionalidades y/o
dar respuesta a nuevos requisitos).
Por lo tanto siguiendo éstas etapas
es imposible que no se logre una ingeniería de software efectiva. Partiendo de
las necesidades del usuario, elaborando
un plan completo que responda a esas necesidades y cumpliendo todas las etapas
de la ingeniería de sistemas se logra un software efectivo.
Julieta Pagotto.