Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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.
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.
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.
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.
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.
En la mayoría de los casos, los proyectos de las empresas apuntan a desarrollar tecnología del
sector logístico.
https://elcapitalfinanciero.com/panama-crece-en-la-exportacion-de-software/
2. Proceso generales del Ciclo de Vida para el desarrollo de software:
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.
• 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.
• 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.
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:
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.
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 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.
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.
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 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
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
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.
SCRUM:
Scrum es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por:
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:
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
Herramientas Especializadas
Desarrollo "visual"
Múltiples lenguajes
Calendario grupal
"Timeboxing"
Las funciones secundarias son eliminadas como sea necesario para cumplir con el calendario.
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:
https://sg.com.mx/revista/1/procesos-software