You are on page 1of 9

1

EVALUACIN SEMANA 1: IFOL904-1

CALIDAD DE SOFTWARE AVANZADA

Los Procesos de Desarrollo de Software

Bernardo Mario Alarcn Navarro

Universidad UNIACC

Profesor Juan Carlos Vidal Rojas

07 de Octubre de 2017
2

Los Procesos de Desarrollo de Software

Objetivo del Trabajo Individual

Distinguir y reconocer la importancia de los procesos de desarrollo, y las diferencias


entre las metodologas de desarrollo tradicionales y las metodologas giles en el
contexto de la industria del software.

Descripcin del Trabajo

1. Dada la importancia de los procesos en las empresas de desarrollo para ser ms


productivos y competitivos, en esta actividad se le solicita realizar: un anlisis
comparativo entre las metodologas de desarrollo tradicional y las metodologas
giles. Indicando 5 ventajas y 5 desventajas de cada una de ellas.
3

Desarrollo

Los Procesos de Desarrollo de Software involucran un sinnmero de conceptos que


llevan a obtener diferentes definiciones dependiendo de la situacin y puntos de vista
en los cuales los investigadores y desarrolladores se desenvuelven (Vidal, 2016).

Pressman (2010), describe que un proceso define quin est haciendo qu, cundo, y
cmo alcanzar un determinado objetivo. En el proceso de software, cada actividad est
formada por un conjunto de acciones propias de la Ingeniera de Software, y cada una
ellas se encuentra definida por un conjunto de tareas que identifican el trabajo que se
debe realizar, los productos de trabajo, los puntos de aseguramiento de la calidad y los
puntos de referencia que se utilizarn para evaluar los avances del proceso.

En relacin al desarrollo de software, su desarrollo y resultados son histricamente


cuestionados debido a las siguientes problemticas:

Los sistemas no responden a las expectativas de los usuarios.


Los programas fallan con cierta frecuencia.
Los costes del software son difciles de prever y normalmente superan las
estimaciones.
La modificacin del software es una tarea difcil y costosa.
El software se suele presentar fuera del plazo establecido y con menos
prestaciones de las consideradas inicialmente.
Normalmente, es difcil cambiar de entorno hardware usando el mismo software.
El aprovechamiento ptimo de los recursos (personas, tiempo, dinero,
herramientas, etc.) no suele cumplirse.

Segn el Centro Experimental de Ingeniera de Software (CEIS), en el estudio de


mercado The Chaos Report (standishgroup.com, 1994), realizado por Standish Group
Internactional, concluy que slo un 16% de los proyectos de software son exitosos
(terminan dentro de plazos y costos y cumplen los requerimientos acordados), 31%
sobrepasa los plazos y costos, y un 53% de ellos son cancelados antes de terminar.

Producto de la globalizacin, el mayor conocimiento de los clientes y usuarios, las


capacidades y funcionalidades que permite la tecnologa, las complejidades y altas
exigencias de los sistemas de informacin y de las organizaciones que los utilizan, se
hace necesario disponer, adems de lo reconocido como tradicin de la Ingeniera
Web, de otros componentes o consideraciones como la infraestructura de gestin y la
organizacin, lo que se conoce como Ingeniera del Software Basada en Proceso.
Buscando disponer de software de calidad, implementando procesos de mejoramiento
continuo, basados no solo en la tcnica, adems en la gestin y organizacin.
4

A travs del material de estudio de la semana, se describen dos tipos o grupos de


metodologas de desarrollo de software:

Las Metodologas Tradicionales


Las Metodologas Agiles

El primer grupo, las metodologas tradicionales o reconocidas como las


metodologas pesadas, que se enfocan en el control de procesos definiendo roles,
actividades, herramientas, artefactos que se deben producir, las notaciones que se
utilizarn, incluyendo modelado y documentacin.

Ejemplos de estas metodologas son:

RUP
Catalysis
Mtrica
Kobra
EUP
MSF
y otras.

El segundo grupo, las metodologas giles, tambin reconocidas como


metodologas livianas, dan una mayor valor al individuo, a la colaboracin con el
cliente y al desarrollo incremental de software con iteraciones cortas.

Ejemplos de estas metodologas son:

eXtreme Programminng (XP)


Scrum
Evolutionary Oriject Management (EVO)
Cristsal Methods
Agile Modeling
y otras.

Las metodologas tradicionales, las que an se utilizan en la actualidad, son ms


efectivas en el desarrollo de proyectos de gran tamao. Por el contrario, las
metodologas giles son ms efectivas en desarrollos, entornos y sistemas muy
cambiantes, con tiempos de desarrollo muy cortos sin dejar de lado la calidad.
5

Las metodologas agiles se basan en el manifiesto gil (agilemanifesto.org, 2001),


cuyos principios o caractersticas se resumen:

Manifiesto por el Desarrollo gil de Software

Estamos descubriendo formas mejores de desarrollar software tanto por nuestra


propia experiencia como ayudando a terceros. A travs de este trabajo hemos
aprendido a valorar:
Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentacin extensiva
Colaboracin con el cliente sobre negociacin contractual
Respuesta ante el cambio sobre seguir un plan
Esto es, aunque valoramos los elementos de la derecha, valoramos ms los de
la izquierda.

Para identificar las ventajas y desventajas de cada uno de las metodologas


brevemente descritas, en las siguientes pginas, se presentan diversas tablas
comparativas.
6

Metodologas Tradicionales para el Desarrollo de Softwa

Ventajas

1. En las metodologas tradicionales existe un claro principio de estructura y


organizacin.
2. Las metodologas tradicionales proponen un conjunto de procesos
(comunicacin, planeacin, modelado, construccin y desarrollo), este patrn es
aplicable a las distintas metodologas teniendo distintos flujos de procesos.
3. Existe gran cantidad de documentacin que describe el proyecto, eto debido a
que la arquitectura del software es esencial y se expresa a travs de modelos.
4. Existe un simple y claro ciclo de vida del proyecto, que consiste en diversas
etapas que van de inicio o anlisis hasta el fin del ciclo del proyecto o
lanzamiento.
5. Las metodologas tradicionales son aplicables al desarrollo de software cuyos
requerimientos es posible definir y establecer caramente adems de ser estables
durante el ciclo de vida del proyecto.

Desventaja

1. Las metodologas tradicionales son poco flexibles a los cambios, desde la


planeacin hasta la puesta en marcha existe un largo ciclo de vida del proyecto,
cuyo producto final se pone a prueba, por parte del cliente, en la entrega.
2. Por regla general, la interaccin del cliente con el equipo es al inicio y al final de
ciclo de vida del proyecto, por lo que puede tener un producto de software final
que no cumple con sus requerimientos y necesidades, quedando insatisfecho.
3. Si las reglas del negocio son muy cambiantes, pueden variar las necesidades
desde el inicio, cuando se determinan los requisitos, hasta el da en que inicia la
fase de implementacin o codificacin.
4. Las metodologas tradicionales, cuyo flujo del ciclo de vida del proyecto es lineal,
no son coherentes ni se adaptan a las realidades actuales del desarrollo de
software.
5. El desarrollo del ciclo de vida del proyecto es extenso en cuanto a tiempo,
considerando que las pruebas se realizan al final. Si bien, cada etapa tiene sus
entregables, si estos deben ser cambiados, adecuados o modificados, se debe
regresar al inicio del ciclo de vida del proyecto.
7

Metodologas giles para el Desarrollo de Software

Ventajas

1. Mejoran la satisfaccin del cliente, puesto que se involucra y compromete a lo


largo del desarrollo del proyecto.
2. Mejora el compromiso y motivacin del equipo de desarrollo, puesto a travs de
las metodologas giles es posible conocer el estado del proyecto en cualquier
momento. Todas las ideas se toman en cuenta, siendo compartidas, analizadas
y, en su caso, aceptadas por todo el equipo.
3. Ahorro de tiempo y costo, debido a que se trabaj en ciclos iterativos que
permiten abordar los cambios de manera temprana.
4. Mejorar la calidad del producto a travs de las continuas interacciones, en todo
el ciclo de vida del proyecto, entre el equipo de desarrollo y el cliente,
favoreciendo que el producto final sea el requerido por el cliente.
5. Se valora una mayor velocidad y eficiencia en las entregas parciales, puesto
estas son funcionales para el cliente, de tal forma que se entrega en un menor
tiempo versiones funcionales del producto de software. Otra forma de ver esta
ventaja es que las partes importantes del sistema son entregadas primero, por
ello se realizan mayores pruebas y se disminuye el riesgo de fallos.

Desventajas

1. Se pueden presentar problemas si el equipo de trabajo no es muy colaborador,


esto debido a que la comunicacin, la implicacin personal y la colaboracin es
necesitan para garantizar el xito de un proceso gil.
2. La falta de documentacin de diseo puede causar problemas debido a que no
existen formas alternativas de recolectar la informacin del proyecto.
3. Problemas producto del fracaso del proyecto, esto porque no hay documentacin
o hay muy poca, siendo lo mismo para el diseo, por tanto la comprensin del
sistema se queda en las mentes de los desarrolladores.
4. Existe una fuerte dependencia de las personas y los equipos, puesto que existe
poca documentacin, la salida o retiro de un integrante puede provocar
problemas en la continuidad o retraso del proyecto.
5. Falta de reusabilidad del cdigo, esto debido a la falta de documentacin lo que
hace difcil reutilizar el cdigo creado.
8

Conclusiones

Las modelos y/o metodologas de desarrollo del software tienen una larga historia, tan
larga como los comienzos del software.

En un principio, los modelos tradicionales cuyas fases estaban claramente definidas


con un flujo secuencial, propona un orden y estructura que pretenda organizar e caos
en el desarrollo de software, establecer y entregar patrones aplicables a todos los
proyecto de desarrollo de software, documentar y controlar todos el ciclo de vida del
proyecto de software.

Probablemente, uno de los grandes aportes que realizaron las metodologas


tradicionales para el desarrollo de software fue entregar un conjunto de fases o etapas
comunes a todo proceso de desarrollo de software que, si bien podan tener distinto
flujo en los procesos, aportaban los hitos fundamentales tales como requerimientos,
diseo, implementacin, pruebas y lanzamiento, para propender a obtener software de
calidad.

La percepcin lineal de la vida y los procesos ha cambiado, la globalizacin, el


desarrollo tecnolgico, en cuanto a software y hardware, el mayor conocimiento de los
usuarios, un mundo ms cercado a las personas ha evolucionado hacia el desarrollo de
sistemas complejos, con mayores requerimientos, que presentan distintos y mayores
problemticas, lo que visto desde la Ingeniera del Software, como un ente que aporta
soluciones a las personas, ya no puede cumplir totalmente, o en todos los casos, con
las metodologas tradicionales de desarrollo de software.

Surge as, un nuevo movimiento, una nueva propuesta, las metodologas giles para el
desarrollo de software. Si bien, estas consideran los procesos comunes enunciados
anteriormente, inherentes a todo proyecto de software, estos modelos incrementales y
de naturaleza iterativa producen con mayor rapidez versiones funcionales del software.,
estando diseados para adaptarse y aceptar los constantes cambios. Cubren todas las
etapas o fases del ciclo de vida de un proyecto de software, en todas ellas puede estar
presente el cliente, revisando, proponiendo cambios, ajustando con el equipo de
desarrollo.

Queda claro que cada proyecto de software requiere una forma de particular de abordar
el problema, los equipos de desarrollo debern implementar la metodologa o modelo
que mejor se adapte al desarrollo. Lo que no debe suceder es desarrollar un proyecto
de software sin una metodologa que asegure el proceso y el producto, as como la
calidad de ambos, no slo en el proceso central conocido como la Ingeniera del
Software, sino que en toda la estructura, organizacin y gestin de la organizacin o
empresa.
9

Referencias Bibliogrficas

Vidal, Juan Carlos (2016). Los procesos de software. Calidad de software avanzada.
Lea esto primero (Semana 1).

standishgroup.com (1994). The CHAOS Report. Consultado el 06 de Octubre de 2017


en https://www.standishgroup.com/sample_research_files/chaos_report_1994.pdf

upv.es (s.f.).Proceso de desarrollo de software. Consultado el 06 de octubre de 2017 en


http://users.dsic.upv.es/asignaturas/facultad/lsi/doc/IntroduccionProcesoSW.doc

You might also like