Está en la página 1de 14

1. Historia de la producción de software en Panamá y el Mundo.

Historia en Panamá:

La industria del software es cada vez más competitiva y es un mercado disputado por gigantes, y
de acuerdo con los estudios Microsoft continúa liderando este segmento en base a productos e
ingresos.

En un informe de PWC denominado Global 100 Software Leaders, Key Players & Market trends,
detalla que Microsoft es seguida por IBM, Oracle, SAP, EMC, Symantec, HP, CA, Intuit y Adobe.

Se trata de un mercado que mueve unos $250.000 millones al año y aún con mucho potencial
para crecer, principalmente por la aparición de nuevas tecnologías como la computación en la
nube, que ha propiciado el surgimiento de empresas medianas.

Panamá ha ganado espacio en una actividad considerada propia de los países desarrollados, como
lo es la exportación de software, llevando a compañías locales a competir con empresas
extranjeras por clientes internacionales.

Este negocio alcanzó mayor relevancia en Panamà a partir del 2004 y según Mary Johnston
Turner, vicepresidente de Investigaciones de Software para Gestión de Sistemas Empresariales de
la firma consultora IDC, el mercado mantendrá un rápido crecimiento hasta el 2015, en el que las
capacidades de los tiempos del software para gestión de sistemas en la nubes serán algo
imprescindible en cada empresa y proveedor de servicio.

Las empresas dedicadas a la fabricación de software que operan en Panamá han logrado captar
clientes en toda la región, como Colombia, Costa Rica, El Salvador, Honduras, Argentina, Perú,
Puerto Rico, República Dominicana y México, y algunas en los momentos de mayor demanda han
exportado a Asia.

Pero como todo negocio, en el desarrollo de estos emprendimientos han surgidos contratiempos,
uno de ellos es la carencia de mano de obra calificada.

Las exportaciones en los últimos diez años han captado divisas para el país por más de $195
millones, aunque los entendidos reclaman más apoyo estatal para lograr que esta actividad
mantenga un crecimiento sostenido.

En el 2004 fue creada la Cámara Panameña de Tecnologías de Información y Telecomunicaciones


(Capatec), y hoy agrupa a más de un centenar de empresas.

Uno de sus objetivos es crear una marca país para Panamá y la TI (Tecnología de la Información)
con el fin de incrementar las exportaciones de software y convertir al país en un centro de
intercambio de información.

De acuerdo con Capatec con la modernización de las empresas, industrias y sectores


gubernamentales las demandas por los servicios y productos de sus afiliados se incrementarán.
Un estudio realizado por este gremio puso de manifiesto que se trata de una industria con muchas
oportunidades en términos de los productos y servicios que ofrecen, pero con un fuerte nivel de
competencia dentro de un mercado relativamente pequeño, que podría mejorarse mediante un
mayor nivel de diversidad en las estrategias y especializaciones de negocios.

Según Roberto Melo, Director de Capatec, el tema de la creación de software no tiene barrera
física o geográfica, por lo que es fácilmente exportable y en Panamá hay talento, añadió que han
ido proliferando dos tipos de empresas: Las nacionales y las que provienen de países cercanos
como Colombia o Venezuela, incluso algunas empresas que han instalado oficinas regionales.

Aseguró Melo que el reto más grande es el acceso al capital humano.

Incluso la Autoridad del Canal de Panamá (ACP) tiene equipos completos de desarrollo de software
que consumen parte de ese capital humano, por lo que es un tema al que hay que prestarle
atención, dijo Melo.

Para resolver la escasez de recurso humano, Capatec está trabajando en conjunto con la
Secretaría Nacional de la Ciencia y la Tecnología (SENACYT), con la Autoridad de Innovación
Gubernamental (AIG) y el Ministerio de Educación (Meduca) para fomentar programas que
ayuden a desarrollar el talento humano en corto tiempo, ya sea en 12 o 18 meses.

Capatec también cuenta con un programa denominado Emprende tu vida TIC, que está enfocado
en hacer programas duales entre las universidades y las empresas para motivar a los jóvenes a
incursionar en las carreras de tecnología y telecomunicaciones.

Crecimiento

Esta es un área que sigue creciendo de forma rápida, por ser Panamá un hub lógico para el
desarrollo de software y atender un mercado regional e inclusive el mercado de Estados Unidos
(EE.UU.).

Es una actividad que está creciendo más rápido que la economía del país. Si la economía está
creciendo en forma acelerada, el desarrollo de software y tecnología va a dos y tres veces esa
velocidad y podría decirse que el sector de las telecomunicaciones representa el 10% de la
economía panameña, indicó Melo.

Los software de aplicaciones web y aplicaciones móviles, son quizás los más comunes, seguidos
muy de cerca por las aplicaciones de redes sociales, también elementos como sistemas de CRM.

El principal receptor de las exportaciones panameñas es EE.UU., le siguen Colombia, México,


Costa Rica y Venezuela.

Hasta el momento no se tiene cuantificado cuanto dinero ha movido la industria del software en
lo que va del año, lo que sí se puede mencionar es que de las 120 empresas afiliadas a Capatec, el
40% están relacionadas con algún tipo de desarrollo de software.

Mientras que en todo Panamá hay unas 2.000 o 2.500 empresas que están haciendo algo de
tecnología.
La ACP tiene grandes proyectos de software dentro de su operación, así que no solamente está el
negocio de software producido para exportación, sino que es elaborado internamente para una
organización determinada.

Todavía existen áreas con oportunidad de crecimiento, especialmente en la medida que se


generan innovaciones a través de software.

Las aplicaciones de desarrollo de software no son puramente de tecnología, hay aplicaciones para
resolver problemas en áreas tradicionales como la agricultura y la logística.

Y es que las aplicaciones de software permiten resolver o innovar en áreas tradicionales de la


economía, por lo que en la medida que se puedan capturar esas oportunidades, se generarán
mayores negocios, inclusive a nivel global.

Desarrolladores

Con más de 25 años en el mercado, Arango Software International (ASI), es una de las empresas
pioneras en esta actividad en el país.

Salió al mercado internacional con productos como: ABanks Financial Software, un core financiero
creado para bancos, financieras, cooperativas y microempresas, compuesto de más de 40
aplicaciones; así como Collector para cobros; Virtual Abanks para la banca por Internet; Vision
para inteligencia de negocios y análisis de data; Treescore, una herramienta de análisis y
evaluación de riesgo en la originación de créditos y GxLeasing, que es un sistema de gestión de
Leasing, entre otros.

Cuando inició opraciones contaban con una amplia y variada línea de clientes, que incluía tarjeta
de créditos, bufetes de abogados, seguros, compañías comerciales y la banca, pero en el camino
se fueron incursionando el mercado financiero como fabricantes, y allí se han quedado, y ahora
este segmento le genera el 60% de sus ganancias.

El negocio se ha reinventado de distintas maneras, porque no solo fabrican software, los instalan
y le dan mantenimiento. También los alquilan con opción de compra.

Este alquiler también se está incorporando para las microfinanzas desde hace seis años, aunque
no es un segmento fuerte en el país, está creciendo en la región y en ese sentido hay grandes
oportunidades.

Hoy en día, ASI tiene instalado un data center en California, EE.UU., donde ofrecen el servicio por
el uso, incluyendo a cinco financieras operan en Panamá y se conectan a través de Internet, por
lo que sólo pagan por su uso.

Los costos de las rentas varían desde $3.500 mensuales y los software tienen precios que van
desde $250.000 a más de $4.000.000.

Otra empresa creadora de software es Barcode Consulting que inició operaciones en 2003, y se
dedican mayormente a productos con tecnología de colección de datos, uso de equipos móviles
para aplicaciones de controles de inventario, venta y entrega en ruta, controles de producción,
entre otros, para más de 300 clientes.

Panamá tiene muchísimo potencial para exportar este tipo de productos, dijo un vocero de la
empresa, sin embargo, advierte que en el país hay deficiencia en la aplicación de tecnología.

Por ejemplo, muy poco se aplica la tecnología combinada, por lo que Panamá típicamente ha
estado más atrasado que el resto de la región, añadió.

Dentro de los desarrolladores de software en Panamá también se destaca Brain Design & Software
que con cuatro años en el medio, ha logrado crear una variedad de opciones y productos
especialmente para el mercado de turismo y entretenimiento.

La empresa inició con la idea de desarrollar software y aplicaciones para Internet, además de
enfocarse hacia la línea publicitaria, incluyendo impresos, imágenes corporativas y demás, pero ha
logrado encontrar su principal fuerte en el desarrollo de interfases del software.

Los software que han creado son específicos y personalizados para las necesidades de cada
cliente. Uno de ellos es Huella Digital para la comercialización de los hoteles, además de productos
dirigidos a agencias de viajes y juegos on line, al igual que para controlar servicios y productos de
las empresas.

Aunque se han dirigido especialmente al mercado del turismo y el entretenimiento, sus productos
son diversificados y los software se desarrollan para distintos clientes.

Hay empresas internacionales que han llegado al país a operar en el mercado de exportación de
software, las cuales han hecho de la Ciudad del Saber el Silicon Valley panameño, con más de 50
empresas de tecnologías.

Expertos en el área de la tecnología trabajan junto a las empresas privadas en la Estrategia


Nacional TIC que busca convertir a Panamá para 2018 un exportador de clase mundial de este tipo
de tecnología.

En la mayoría de los casos, los proyectos de las empresas apuntan a desarrollar tecnología del
sector logístico.

También se contempla la creación de un centro de formación para educar a los profesionales en el


área de tecnología. La estrategia está diseñada para que en cinco años le permita al sector crecer
más que los grandes proyectos de infraestructura que hoy se ejecutan en Panamá.

https://elcapitalfinanciero.com/panama-crece-en-la-exportacion-de-software/
2. Proceso generales del Ciclo de Vida para el desarrollo de software:

Proceso Básico del Ciclo de Vida de un Sistema

Si bien, es cierto que existen diversas metodologías y formas de desarrollar software, la realidad es
que hay modelos tan antiguos que ya son como básicos al momento del ciclo de vida de un
software. Un ejemplo de esto, es el modelo en cascada para el proceso de desarrollo de un
sistema, con el cuál veremos a ciencia cierta el proceso básico, del cual muchos modelos más se
empezarán a desarrollar.

• Planificación. El primer punto importante en el ciclo de vida de software, es analizar brevemente


los requerimientos que el cliente pide para la elaboración del sistema que necesita. Esta etapa
requiere se cierto conocimiento para poder entender la idea que el cliente propone, además de
que regularmente debes tomar nota con cada uno de los puntos importantes que se te solicitan,
de este modo puedes hacer una planificación al momento y llegar incluso a determinar los
tiempos de desarrollo que te llevará, antes de proceder a entregar el producto final.Un punto
importante por el cual la planificación siempre debe estar en los ciclos de vida del software. Es
porque el cliente se imagina su producto final de una forma tan abstracta, que necesitas hacer que
ponga los pies en el suelo para obtener resultados que se acerquen mas a la realidad.

• Implementación. Una vez que hemos platicado con el cliente y tenemos lo que es un análisis de
requerimientos, necesidades y funcionalidades por parte de una aceptación en ambas partes,
entonces procedemos con lo que es el ciclo de vida de desarrollo de software. Para este punto,
existen una infinidad de metodologías de desarrollo de software, que nos ofrecen la posibilidad de
trabajar de distintas formas. Más adelante hablaremos más específicamente de ellas, sin embargo
la implementación, es básicamente la parte donde los programadores empiezan a codificar o
desarrollar el sistema que se necesita, básicamente se trata del ciclo de vida del desarrollo de
sistemas, sin importar el lenguaje de programación mediante el cual se vayan a elaborar.

• Pruebas. Una ves que el sistema se va desarrollando, es importante para el ciclo de vida del
desarrollo del software, que se realicen ciertas pruebas conforme se vaya avanzando. La idea es
que no se termine el desarrollo para poder hacer pruebas, si no que mucho antes, durante el
proceso de creación, estas ya se puedan ir ejecutando.Las pruebas nos van a permitir ver si el
sistema que se está desarrollando es funcional, si tiene algunos errores, si le faltan ciertas cosas
para funcionar correctamente, pues básicamente para avanzar al siguiente punto del ciclo de
desarrollo de sotware, será necesario haber pasado las pruebas correctamente.

• Documentación. Muchas metodologías de lo que es el ciclo de vida software, van creando


documentación, conforme se va avanzando en el desarrollo del sistema. Sin embargo algunas
otras prefieren no hacer la documentación hasta el final. Ahora si que sea cual sea la metodología
que elijas, la documentación siempre será importante, pues considera que no siempre vas a estar
tu y tu equipo disponibles y cuando otro equipo llegue a programar lo que ustedes hicieron, será
indispensable que haya una documentación de la cual se puedan basar, para poder empezar a
desarrollar nuevamente el sistema incompleto.

• Despliegue. Ya casi llegando a lo que son las últimas etapas del desarrollo de software, nos
encontramos con el Despliegue. Este no es otra cosa, más que el momento en que el sistema ya
está terminado y ha sido aprobado para que se elabore el producto final. ahora será el momento
de distribuirlo y celebrar, pues gracias al equipo de trabajo es como se habrá llegado a esta
fase.Lamentablemente, de las etapas de desarrollo de software, esta es a la cual muchos nunca
llegan. Pues una gran cantidad de software incompleto se queda en el camino debido a distintos
puntos o motivos. Puede ser que el equipo no se unió, el cliente declinó, el proyecto no fue
funcional, etc. Así que de haber llegado a esta fase de desarrollo de software, tu como tu equipo
deberán sentirse orgullosos y es momento de volver a desarrollar un proyecto más.

• Mantenimiento. La última de las fases del desarrollo de software, es el mantenimiento. Que


creías, que nunca más verías al software que hicieron, terminaron y distribuyeron. Pues claro que
si lo volverías a ver, pues es momento de darle mantenimiento. Acá además se pueden agregar lo
que son las actualizaciones, dependiendo del tipo de desarrollo. Si el equipo siguió trabajando con
el software desarrollado y encontraron formas de hacerle mejoras, entonces parte del
mantenimiento será actualizarlo a la versión final en todo momento.

https://okhosting.com/blog/el-ciclo-de-vida-del-software/
3. Comparación de la ingeniería del software con la programación del software:

La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al


desarrollo, operación y mantenimiento de software,1 y el estudio de estos enfoques, es decir, el
estudio de las aplicaciones de la ingeniería al software.2 Integra matemáticas, ciencias de la
computación y prácticas cuyos orígenes se encuentran en la ingeniería.3

Se citan las definiciones más reconocidas, formuladas por prestigiosos autores:

Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y


mantenimiento de sistemas software (Zelkovitz, 1978).

Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción


de programas de computadora y a la documentación asociada requerida para desarrollar, operar y
mantenerlos. Se conoce también como desarrollo de software o producción de software (Bohem,
1976).

La ingeniería de software trata del establecimiento de los principios y métodos de la ingeniería a


fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer,
1972).

La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al


desarrollo, operación, y mantenimiento del software.1

https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software

Programacion de Software

La programación es un proceso que se utiliza para idear y ordenar las acciones que se realizarán en
el marco de un proyecto;al anuncio de las partes que componen un acto o espectáculo; a la
preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a
la elaboración de programas para la resolución de problemas mediante ordenadores; y a la
preparación de los datos necesarios para obtener una solución de un problema.

En la actualidad, la noción de programación se encuentra muy asociada a la creación de


aplicaciones informáticas y videojuegos; es el proceso por el cual una persona desarrolla un
programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en
uno o varios lenguajes, tales como C++, Java, Python entre otros) y de otra que sea capaz de
“traducirlo” a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por un
microprocesador.

https://es.wikipedia.org/wiki/Programaci%C3%B3n
4. Modelos de procesos tradicionales para la implantación de software.

La ingeniería de software, con el fin de ordenar el caos que era anteriormente el desarrollo de
software, dispone de varios modelos, paradigmas y filosofías de desarrollo, estos los conocemos
principalmente como modelos o ciclos de vida del desarrollo de software, esto incluye el proceso
que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una
idea hasta la entrega y el retiro del sistema y representa todas las actividades y artefactos
(productos intermedios) necesarios para desarrollar una aplicación.22

Modelo en cascada o clásico

En ingeniería de software el modelo en cascada ―también llamado desarrollo en cascada o ciclo


de vida clásico― se basa en un enfoque metodológico que ordena rigurosamente las etapas del
ciclo de vida del software, esto sugiere una aproximación sistemática secuencial hacia el proceso
de desarrollo del software, que se inicia con la especificación de requisitos del cliente y continúa
con la planificación, el modelado, la construcción y el despliegue para culminar en el soporte del
software terminado.

Modelo en V

El Método-V define un procedimiento uniforme para el desarrollo de productos para las TIC. Es el
estándar utilizado para los proyectos de la Administración Federal alemana y de defensa. Como
está disponible públicamente muchas compañías lo usan. Es un método de gestión de proyectos
comparable a PRINCE2 y describe tanto métodos para la gestión como para el desarrollo de
sistemas.

Es una representación gráfica del ciclo de vida del desarrollo de sistemas. En él se resumen las
principales medidas que deben adoptarse en relación con las prestaciones correspondientes en el
marco del sistema informático de validación.

Es un proceso que representa la secuencia de pasos en el desarrollo del ciclo de vida de un


proyecto. Se describen las actividades y resultados que deben producirse durante el desarrollo del
producto. El lado izquierdo de la V representa la descomposición de las necesidades, y la creación
de las especificaciones del sistema. El lado derecho de la V representa la integración de las piezas y
su verificación. V significa «Verificación y vendeta». Es muy similar al modelo de la cascada clásico
ya que es muy rígido y contiene una gran cantidad de iteraciones.

La versión Método-V XT se terminó en febrero del 2005. No es comparable con CMMI. Mientras
que CMMI solo describe «qué» se ha hecho, el Método-V XT describe el «cómo» y el «cuándo» y
«quién» es el responsable de haberlo hecho.

https://es.wikipedia.org/wiki/M%C3%A9todo_en_V
Modelo en espiral

El modelo en espiral, que Barry Boehm propuso originalmente en 1986, es un modelo de proceso
de software evolutivo que conjuga la naturaleza iterativa de la construcción de prototipos con los
aspectos controlados y sistemáticos del modelo en cascada, es decir, cuando se aplica este
modelo, el software se desarrolla en una serie de entregas evolutivas (ciclos o iteraciones), cada
una de estas entregando prototipos más completas que el anterior, todo esto en función del
análisis de riesgo y las necesidades del cliente. Aunque el modelo espiral representa ventajas por
sobre el desarrollo lineal, el cálculo de los riesgos puede ser muy complicado y por lo cual su uso
en el ámbito real es muy escaso.

Modelo de Proceso Unificado

El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de


desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la
arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del
Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.

El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que


puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso
Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta
imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o
del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.

El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos
elementos que son comunes a la mayoría de los refinamientos existentes. También permite evitar
problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas por IBM
(desde su compra de Rational Software Corporation en 2003). El primer libro sobre el tema se
denominó, en su versión española, El Proceso Unificado de Desarrollo de Software (ISBN 84-7829-
036-2) y fue publicado en 1999 por Ivar Jacobson, Grady Booch y James Rumbaugh, conocidos
también por ser los desarrolladores del UML, el Lenguaje Unificado de Modelado. Desde entonces
los autores que publican libros sobre el tema y que no están afiliados a Rational utilizan el término
Proceso Unificado, mientras que los autores que pertenecen a Rational favorecen el nombre de
Proceso Unificado de Rational.

Modelo de Prototipo

El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos de desarrollo


evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no
se debe utilizar muchos recursos.

El diseño rápido se centra en una representación de aquellos aspectos del software que serán
visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el
cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos
del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para
satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda
mejor lo que se debe hacer y el cliente vea resultados a corto plazo.
5. Metodologías para el desarrollo agiles de software

Esquema general de una metodología ágil para desarrollo de software

El desarrollo ágil de software envuelve un enfoque para la toma de decisiones en los proyectos
de software, que se refiere a métodos de ingeniería del software basados en el desarrollo
iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la
necesidad del proyecto. Así el trabajo es realizado mediante la colaboración de equipos auto-
organizados y multidisciplinarios, inmersos en un proceso compartido de toma de decisiones a
corto plazo.

Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño,
codificación, pruebas y documentación. Teniendo gran importancia el concepto de
"Finalizado" (Done), ya que el objetivo de cada iteración no es agregar toda la funcionalidad
para justificar el lanzamiento del producto al mercado, sino incrementar el valor por medio de
"software que funciona" (sin errores).

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La
mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas
"plataformas de lanzamiento" (bullpen en inglés). La oficina debe incluir revisores, escritores
de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos
ágiles también enfatizan que el software funcional es la primera medida del progreso.
Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos
ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica

Historia

La definición moderna de desarrollo ágil de software evolucionó a mediados de la década de 1990


como parte de una reacción contra los métodos de "peso pesado", muy estructurados y estrictos,
extraídos del modelo de desarrollo en cascada. El proceso originado del uso del modelo en
cascada era visto como burocrático, lento, degradante e inconsistente con las formas de desarrollo
de software que realmente realizaban un trabajo eficiente.

Los métodos de desarrollo ágiles e iterativos pueden ser vistos como un retroceso a las prácticas
observadas en los primeros años del desarrollo de software (aunque en ese tiempo no había
metodologías para hacerlo). En el año 2001, miembros prominentes de la comunidad se reunieron
en Snowbird, Utah, y adoptaron el nombre de "métodos ágiles". Poco después, algunas de estas
personas formaron la "alianza ágil", una organización sin fines de lucro que promueve el desarrollo
ágil de aplicaciones. Muchos métodos similares al ágil fueron creados antes del 2000. Entre los
más notables se encuentran: Scrum (1986), Crystal Clear (cristal transparente), programación
extrema (en inglés eXtreme Programming o XP, 1996), desarrollo de software adaptativo, feature
driven development, Método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems
Development Method o DSDM, 1995).
XP:

La programación extrema o eXtreme Programming (de ahora en adelante, XP) es una metodología
de desarrollo de la ingeniería de software formulada por Kent Beck, autor del primer libro sobre la
materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los
procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se
diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la
adaptabilidad que en la previsibilidad. Los defensores de la XP consideran que los cambios de
requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de
proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la
vida del proyecto es una aproximación mejor y más realista que intentar definir todos los
requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los
requisitos.

Se puede considerar la programación extrema como la adopción de las mejores metodologías de


desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera
dinámica durante el ciclo de vida del software.

SCRUM:

Scrum es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por:

Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución


completa del producto.

Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos auto
organizados, que en la calidad de los procesos empleados.

Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras otra en un ciclo
secuencial o en cascada.

SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede
tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un
proyecto.

Los roles principales en Scrum son el 'Scrum Master, que procura facilitar la aplicación de scrum y
gestionar cambios, el Product Owner, que representa a los stakeholders (interesados externos o
internos), y el Team (equipo) que ejecuta el desarrollo y demás elementos relacionados con él.

Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo
y debe ser lo más corta posible), el equipo crea un incremento de software potencialmente
entregable (utilizable). El conjunto de características que forma parte de cada sprint viene del
Product Backlog, que es un conjunto de requisitos de alto nivel priorizados que definen el trabajo
a realizar (PBI, Product Backlog Item). Los elementos del Product Backlog que forman parte del
sprint se determinan durante la reunión de Sprint Planning. Durante esta reunión, el Product
Owner identifica los elementos del Product Backlog que quiere ver completados y los hace del
conocimiento del equipo. Entonces, el equipo conversa con el Product Owner buscando la claridad
y magnitud adecuadas (Cumpliendo el INVEST) para luego determinar la cantidad de ese trabajo
que puede comprometerse a completar durante el siguiente sprint.1 Durante el sprint, nadie
puede cambiar el Sprint Backlog, lo que significa que los requisitos están congelados durante el
sprint.

Scrum permite la creación de equipos auto organizados impulsando la co-localización de todos los
miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas
involucrados en el proyecto.

RAD:

El desarrollo rápido de aplicaciones o RAD (acrónimo en inglés de rapid application development)


es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en1980. El
método comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades
CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de
aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.

Hoy en día se suele utilizar para referirnos al desarrollo rápido de interfaces gráficas de usuario
tales como Glade, o entornos de desarrollo integrado completos. Algunas de las plataformas más
conocidas son Visual Studio, Lazarus, Gambas, Delphi,Foxpro , Anjuta, Game Maker, Velneo o
Clarion. En el área de la autoría multimedia, software como Neosoft Neoboo y MediaChance
Multimedia Builder proveen plataformas de desarrollo rápido de aplicaciones, dentro de ciertos
límites.

Equipos Híbridos

Equipos compuestos por alrededor de seis personas, incluyendo desarrolladores y usuarios de


tiempo completo del sistema así como aquellas personas involucradas con los requisitos.

Los desarrolladores de RAD deben ser "renacentistas": analistas, diseñadores y programadores en


uno.

Herramientas Especializadas

Desarrollo "visual"

Creación de prototipos falsos (simulación pura)

Creación de prototipos funcionales

Múltiples lenguajes

Calendario grupal

Herramientas colaborativas y de trabajo en equipo


Componentes reusables

Interfaces estándares (API)

"Timeboxing"

Las funciones secundarias son eliminadas como sea necesario para cumplir con el calendario.

Prototipos Iterativos y Evolucionarios.

Reunión JAD (Joint Application Development):

Se reunen los usuarios finales y los desarrolladores.

Lluvia de ideas para obtener un borrador inicial de los requisitos.

Iterar hasta acabar:

Los desarrolladores construyen y depuran el prototipo basado en los requisitos actuales.

Los diseñadores revisan el prototipo.

Los clientes prueban el prototipo, depuran los requisitos.

Los clientes y desarrolladores se reunen para revisar juntos el producto, refinar los requisitos y
generar solicitudes de cambios.

Los cambios para los que no hay tiempo no se realizan. Los requisitos secundarios se eliminan si es
necesario para cumplir el calendario.

http://metodologiarad.weebly.com/
6. Productos Comerciales para el desarrollo de software:

La meta de la ingeniería de software es construir productos de software, o mejorar los existentes;


en ingeniería de procesos, la meta es desarrollar o mejorar procesos.

Un proceso de desarrollo de software es un conjunto de personas, estructuras de organización,


reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y
herramientas utilizadas o creadas específicamente para definir, desarrollar, ofrecer un servicio,
innovar y extender un producto de software.

Un proceso de software efectivo habilita a la organización a incrementar su productividad al


desarrollar software:

https://sg.com.mx/revista/1/procesos-software

También podría gustarte