domingo, 19 de agosto de 2012

Casos de éxito del Modelo Sistemático de Calidad (MOSCA) en Venezuela


A nivel mundial existen diversos modelos que permiten verificar la calidad del software con un enfoque sistémico, donde han hecho enfasis en las características internas como el contexto organizacional, asi como a traves del tiempo se ha resaltado que la calidad debe medirse de forma integrada en el proceso, producto y las personas involucradas para poder verlo como un todo. En el caso específico del software libre también debe ser verificada la calidad de los procesos y productos dado que uno de sus objetivos es aportar software de alta calidad.

En Venezuela, desde la Universidad Simón Bolívar, Departamento de Procesos y Sistemas, LISI se definió un Modelo Sistemático de Calidad (MOSCA) a cargo de los profesores María Pérez, Luis Mendoza y Anna Grimán, el cual trabaja con tres perspectivas: Producto, Proceso y/o Humana. MOSCA tiene una estructura jerárquica de cuatro niveles, cuenta con 803 métricas para su operacionalización y con un algoritmo que parte de la medición de la calidad sistémica.



El objetivo principal de este proyecto es establecer un marco de referencia que ubica en un “nivel de calidad sistémica”a la organización y a sus productos y con ello, se brinda orientación sobre actividades de planificación y control que conlleven a aumentar la calidad del software a los niveles deseados. Este centro ha trabajado con diversas organizaciones y tiene como meta futura que esta sea la via para la certificación del software nacional.

Este modelo se ha aplicado en diversas organizaciones tanto en software privativo como software libre, acontinuación se presenta una lista de casos exitosos:

1.- Sistema Bancario: se aplicó el modelo con la finalidad de verificar caracteristicas como funcionalidad, mantenibilidad y eficiencia. En donde se evaluaron aspectos internos de análisis, diseño e implementación. Se obtuevieron problemas con el uso de variables globales y memoria ya que se sacrificaba la mantenibilidad del Sistema.

2.- Sistemas de Reproducción animal: se aplicó el modelo con la finalidad de verificar caracteristicas como usabilidad, funcionalidad y eficiencia. Los resultados fueron baja usabilidad pero buena funcionalidad.

3.- Sistemas Web: se aplicó el modelo en varias empresas pequeñas con la finalidad de verificar caracteristicas como funcionabilidad, mantenibilidad y usabilidad ademas de aspectos relacionados al poceso como Cliente-Proveedor (CUS), Ingeniería (ENG), Soporte (SUP), Gestión (MAN), Organizacional (ORG). En donde se obtuvo como resultado que algunas poseían calidad básica y otras nula en lo que refería a producto y proceso.

4.- Software educativo: se amplió el modelo con la finalidad de verificar los  requerimientos  particulares de calidad del software  educativo,  tomando en  cuenta no sólo los  aspectos técnicos  del  producto, sino el diseño  pedagógico y los materiales de soporte didáctico. El resultado en este caso fue obtener un modelo en versión prototipo que permite  medir la calidad para software educativo.

5.- Servicios Web: se realizó una adecuación de MOSCA para que éste sea aplicable a la nueva tecnología de los servicios Web ya que ofrecen una alternativa de software independiente en cuanto a la plataforma, basada en estándares para la integración de aplicaciones, la automatización de procesos de negocio e intercambio empresarial. Se evaluaron aspectos de Funcionalidad, Eficiencia, Mantenibilidad, Fiabilidad, Usabilidad y Portabilidad. El resultado arrojo que es indispensable la calidad en los WS principalmente las caracteristicas de Eficiencia, Fiabilidad y Seguridad.

6.- Software de Industrias petroleras: se aplicó el modelo con la finalidad de verificar caracteristicas como funcionalidad, usabilidad y eficiencia. En donde al evaluar estos aspectos se obtuvo como resultado que es un Software comercial de uso exclusivo y altamente costoso y que amerita énfasis en la caracteristica de eficiencia.

7.- Modelado de procesos del negocio: se utilizó y se realizó un instanciación de (MOSCA), esta propuesta incluyó atributos del software relacionados con la funcionalidad, la usabilidad y la mantenibilidad, estableciendo 75 nuevas métricas para un total de 128 que permiten evaluar herramientas FLOSS para el 
modelado del negocio. Este modelo fue aplicado a EPFC, StarUML, Intalio y DIA, con la finalidad de comprobar la utilidad del modelo y, además, seleccionar la herramienta con un nivel de calidad avanzado para mejorarla en un futuro. Los resultados de esta investigación pueden servir de guía para pequeñas y medianas empresas que precisen seleccionar una herramienta de apoyo a esta disciplina.

Muchos han sido los casos en que MOSCA a contribuido bien sea para evaluar la calidad en una organización en particuar o para ser la base de una adecuación de diversas investigaciones. Lo mas importante es que es un modelo Venezolano y es importante conocerlo para sugerirlo a quien lo necesite, sobre todo aplicarlo en el software libre que se está desarrollando en nuestro país.



Referencias:

-http://www.lisi.usb.ve/publicaciones/02%20calidad%20sistemica/MOSCA-MCT.pdf
-http://132.248.48.14:3003/lmendez/moodledata_posgrado/27/eval_entor_edu/unidad4/img/4_3_diaz_Anto n.pdf
-http://www.willydev.net/insitecreation/v1.0/descargas/soa/willydev_estimaciondecalidadws.pdf
-http://redalyc.uaemex.mx/redalyc/pdf/922/92218339014.pdf










sábado, 18 de agosto de 2012

Metodologías Ágiles en Software Libre

Hoy en día las metodologías de desarrollo de software son fundamentales para el éxito de cualquier proyecto de software, pero elegir la mas adecuada es mucho mas importante, ya que cada proyecto tiene diferentes necesidades y recursos. Debido a que en los últimos años se tienen caracteristicas como: tener equipos pequeños de trabajo, planificación democrática, orientación al código y a las pruebas, modelos dinámicos y colaborativos, mejoras continuas, manejo de calidad, etc. ha surgido la necesidad de cambiar el uso de metodologías tradicionales por metodologías ágiles.

El desarrollo de software libre se caracteriza por lo siguiente: 
  • Reclutar o aceptar colaboradores, técnicos, revisores, documentadores, y contribuidores esporádicos. 
  • A veces se contratan especialistas. 
  • Con la base del código desarrollado se puede comenzar a recibir aportes de terceros, que no pertenecen al grupo que tomo la iniciativa. 
  • Expandir el conocimiento rápidamente. 
  • Involucrar muchas personas eficientemente, sin perder el rendimiento. 
  • No hay cuello de botellas porque todos participan. 
  • Poseen grandes comunidades en línea para dar soporte. 
  • Ofrecen servicios en vez de productos. 

Ahora bien, las metodologías de desarrollo de software libre deben enfocarse en la colaboración de sus desarrolladores, facilitar la interacción con los usuarios finales y dar respuestas rápidas. Es por ello que en el desarrollo de software libre predominan las metodologías de desarrollo iterativas, especialmente las de desarrollo ágil y programación extrema, ya que estas son las que mejor se adaptan a los principios del software libre. 

Las metodologías agiles y el Software Libre han crecido a la par ya que se enfocan en una organización menos formal y jerárquica, dándole mayor prioridad a las personas, y enfocándose en el desarrollo de las mínimas caracteristicas necesarias para obtener un sistema de calidad y satisfacer al cliente.

A continuación mostraré algunas concordancias que existe entre las metodologías ágiles con el SL:

Principios de las metodologías ágiles Relación con SL
Personas e interacciones en vez de procesos Desarrollo en comunidades, por lo que se orienta al desarrollo en equipo
Software funcional en vez de documentación excesiva El código debe funcionar bien ése es su principal fuente de documentación, además de los foros y extractos de código y capturas de pantalla.
Colaboración con el cliente en vez de enfatizar un contrato En el SL el desarrollador y el usuario coinciden con frecuencia.
Responder al cambio por encima de seguir la planificación De acuerdo con el gran principio de colaboración los desarrolladores se enfocan dar prontas respuestas en mejoras, desarrollos y cambios


En muchos organismos se han estado integrando las metodologías ágiles con el software libre ya que unen conceptos de comunicación, retroalimentación y sencillez que permiten dar prontas respuestas cubriendo con las necesidades funcionales y sobre todo satisfasciendo al cliente.


Referencias:

- http://agilemanifesto.org/ 

- S. Koch. "Agile Principles and Open Source Software Development: A Theoretical and Empirical Discussion", 5th International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP2004), GarmischPartenkirchen, Alemania 2004.



domingo, 5 de agosto de 2012

Aportes de Venezuela en Software Libre

Venezuela desde 1999 ha asumido como prioridad para el desarrollo económico, social, político y tecnológico del país, el uso prioritario del Software Libre con el fin de obtener las bases para constituir un desarrollo tecnológico orientado al desarrollo social y la eficiencia productiva. Fuimos el país pionero en America latina en incluir en nuestra constitución un artículo que expresara la inclusión del software libre para que sea el instrumento que permita ofrecer la soberania tecnológica a nuestro país.

De acuerdo a esto se tiene el siguiente marco legal:
  • Constitución de la República Bolivariana de Venezuela 
  • Ley Orgánica de Telecomunicaciones 
  • Ley Orgánica de la Administración Pública
  • Ley Orgánica de Ciencia, Tecnología e Innovación 
  • Decreto N° 1.290, N° 825, N° 3.390
  • Reglamento de la Ley Orgánica de Ciencia, 
  • Tecnología e Innovación 
  • Normas Técnicas sobre el Uso de las Tecnologías de Información por parte del estado
Partiendo de ese marco legal, se establecieron los siguientes planes:
  • Plan de Alfabetizacion Tecnologica
  • Plan Nacional de Desarrollo Regional
  • Guía para el Plan de Migración a Software Libre en la Administración Pública
  • Líneas Generales del Plan de Desarrollo Económico y Social de la Nación 2007-2013
  • Plan Nacional de Ciencia, Tecnología e Innovación 2005-2030
  • Plan de Telecomunicaciones e Informática y Servicios Postales 2007-2013
  • Plan Nacional de Tecnologías de Información y Comunicación
  • Plan de Ordenación del Territorio
En la actualidad, muchos entes del estado se han dedicado a migrar sus aplicaciones a software libre y a difundir el uso del mismo. El gobierno venezolano ha impulsado la creación de diversos proyectos como lo son:
  • Invesol: Es una herramienta que permitirá a las instituciones del Estado contar con un espacio para difundir requerimientos de soluciones y servicios en materia de Software Libre Canaima Repositorio Nacional de aplicaciones.(http://www.softwarelibre.gob.ve/invesol/cms/index.php)
  • Canaima: a es una distribución GNU/Linux Venezolana basada en Debian que surge como una solución para cubrir las necesidades ofimáticas de los usuarios finales de la Administración Pública Nacional (APN). (http://canaima.softwarelibre.gob.ve/cms)
  • Repositorio Nacional de Aplicaciones: proyecto colaborativo desarrollado en Software Libre que tiene como objetivo construir un espacio colaborativo donde reposen aplicaciones recomendadas y certificadas para el uso en la Administración Pública.(http://repositorio.softwarelibre.gob.ve/)
  • Forja: Plataforma Colaborativa de Gestión y Desarrollo de Proyectos de Tecnologías de Información Libres. (http://forja.softwarelibre.gob.ve/)
  • RedEstado: es una iniciativa que busca estudiar, evaluar y formular las medidas y mecanismos necesarios para la creación de la Red del Estado. (http://www.redestado.gov.ve/)
  • Infocentro: proyecto que busca facilitar el proceso de apropiación de las tecnologías de información y comunicación por parte de los sectores populares, mediante la consolidación de espacios tecnológicos comunitarios que faciliten la construcción colectiva y transferencia de saberes y conocimiento.
  • Aula virtual: es un espacio para llevar a cabo prácticas educativas que faciliten transferencias tecnológicas en el uso de aplicaciones informáticas.
  • Academia de software libre: es un centro de formación, investigación y desarrollo de software de fuente abierta y de licencia gratuita, que brinda apoyo a las instituciones públicas con el fin de incrementar la eficiencia,productividad y calidad en los servicios ofrecidos por las diferentes organizaciones nacionales.
  • Congreso Nacional de Software Libre (CNSL): es una serie ordenada de eventos que todos los años visita una ciudad por semana durante tres meses de actividades y conferencias en las cuales una selección importante de expertos nacionales e internacionales en el uso de GNU/Linux y el Software Libre ofrecen a todos los participantes una muestra integral del Software Libre, su implementación, características, posibilidades y lo más importante: sus valores éticos y la importancia de vivir en libertad y con Soberanía Tecnológica.(http://cnsl.org.ve/)
  • Indesoft: La Fundación de Investigación y Desarrollo y de Software libre esta compuesto por un grupo de jovenes con amplia motivación en participar en el proceso de desarrollo tecnologico del Software libre en Venezuela. (http://www.indesoft.org.ve)
  • Proyecto GNU Venezuela: es un ente generador y articulador de proyectos donde se integran todo tipo de actores del movimiento del Software Libre junto a las demás áreas del quehacer nacional, con el objetivo de promover y defender la libertad del conocimiento en materia de ciencia y tecnología. (http://gnu.org.ve/)
Con todos estos proyectos podemos decir que en nuestro pais se ha hecho una labor muy importante de masificación y contribución con el Software libre. 


Referencia:
- www.cnti.gob.ve/












domingo, 29 de julio de 2012

Software Libre u Open Source ?


Hoy en día el software libre y el open source o codigo abierto son dos términos que son muy mencionados por las comunidades de desarrollo de software. Pero ¿Cual es la diferencia de ambos? ¿Por cual debemos inclinarnos ? ¿Que ventajas y desventajas ofrecen ? En este espacio voy a realizar una pequeña síntesis sobre éstas inquietudes.

Software libre(SL) significa darle el control a uno o varios usuarios sobre un software, ademas de tener las siguientes libertades:

  • La libertad de ejecutar el programa para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.
  • La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).
  • La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.
Sus principios se centran en la colaboración y difusión del conocimiento con la finalidad de obtener ventajas económicas y tecnológicas. SL no significa que siempre es gratis, ya que podemos haber pagado por él pero podemos tener la libertad de modificar su código fuente y hasta vender copias.

Por otra parte, open source es una metodología que promociona la libre distribución y acceso del código fuente, y se cumplen los siguientes criterios:

  • Libre redistribución
  • El código fuente debe estar incluido u obtenerse libremente.
  • Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  • Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
  • Sin discriminación de personas o grupos
  • Sin discriminación de áreas de iniciativa
  • Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa
  • La licencia no debe ser específica de un producto
  • La licencia no debe restringir otro software
  • La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.
Luego de ver las características de cada uno puedo decir:

  • EL SL y el código abierto poseen valores fundamentales diferentes ya que el segundo está más orientado a los beneficios prácticos de poder acceder al código, que a las cuestiones éticas y morales del SL.
  • El código abierto es una metodología de programación, el SL es un movimiento social
  • El SL respeta la libertad del usuario en cambio la filosofía del código abierto se enfoca en como hacer mejor software.
  • El código abierto únicamente tienen en cuenta la licencia del código fuente, mientras que el SL considera si el dispositivo le permitirá ejecutar su versión modificada del programa
  • La organización que respalda el SL es la FSF(Free Software Foundation) y el código abierto es la OSI(Open Source Initiative)
A pesar de las diferencias que existen en la definición de ambos conceptos, son completamente equivalente desde el punto de vista práctico, ya que estos dos movimientos trabajan juntos en el desarrollo práctico de proyectos.

Referencias:

- http://opensource.org/
- http://www.gnu.org
- http://www.fsf.org




domingo, 6 de febrero de 2011

Aula Virtual

La experiencia fue bastante importante, sobre todo porque cultivó en mi la investigación, algo que no solía hacer mucho, reforzar conocimientos y sobre todo aprender de las experiencias de mis compañeros. Considero que las clases virtuales motivan a aprender mas porque nosotros somos los que tenemos que dar los conocimientos recibiendo feedback por cada aporte que realizamos. Me gustaría ver otra materia virtual.

Web 2.0 en Venezuela

Venezuela es uno de los países de latinoamerica que ha ingresado de forma muy rápida en la Web 2.0. Desde los más pequeñitos hasta los abuelitos usan las redes sociales, de una forma u otra el gobierno ha incorporado a sus principales organismos dentro de redes como facebook, twitter, etc. con la finalidad de que los venezolanos estén mas informados.

La Web 2.0 puede ayudar notablemente tanto a las empresas privadas como públicas, incrementando su competitividad, ofrecer mejores servicios a los usuarios, resolver algunos inconvenientes de comunicación y manejo de información, etc. Estas nuevas tecnologías  han sido clave en la evolución de la forma de comunicarnos y compartir conocimientos. 

En este país se aprecia la facilidad para adoptar estos servicios, recientemente, fue creado un portal llamado www.depinga.net el cual permite a sus usuarios compartir cualquier contenido, organizado por categorías, incluyendo imágenes y/o videos, comentar sobre los posts,  y compartirlos en las redes sociales.

Debemos utilizar todos estos servicios para la enseñanza virtual y compartir conocimientos, de forma que podamos crecer en el área tecnológica cada vez más.

domingo, 16 de enero de 2011

Análisis del Gobierno Electrónico en Venezuela

Gobierno Electrónico en Venezuela

Es el mecanismo que combina las Tecnologías de Información, las telecomunicaciones, el Gobierno y la Sociedad. La idea es que la Administración pública presente la mayor cantidad de servicios apoyándose en las tecnologías. Con la finalidad de eliminar los procesos burocráticos y mejorar la gestión y toma de decisiones del gobierno venezolano.

En Venezuela existe un Plan Nacional de Tecnologías de la Información la cual posee unas bases legales en materia de tecnología, telecomunicaciones e innovación. Este plan posee la siguiente estructura:



Los organismos del estado se han enfocado en el Gobierno Electrónico como una de las mas importantes por desarrollar. Entre los proyectos mas relevantes se encuentran: Capacitación y actualización tecnológica e integrar sistemas del gobierno.

Objetivos

1. Trabajo basado en el conocimiento. Es posible ver información sobre procesos, trámites, reglamentos y normas que han sido establecidos por lor órganos del gobierno, es importante mantener informado a los ciudadanos de que cosas puede realizar en un momento determinado.

2. Ofrecer servicios a través de la Red. Se ha creado conciencia de que es necesario la participación y colaboración para mejorar la atencion de solicitudes y trámites, hoy en día gran cantidad de entes públicos han sistematizado sus procesos.

3. Obtener una Infraestructura de Información del Estado Robusta y Adaptable. Ciertamente se ve la diferencia en la forma como los entes gubernamentales han cambiado su infraestructura tecnológica, y continuamente realizan esfuerzos en educar a las personas en el area de las TIC, por ello puedo decir que en ese aspecto la gestión ha mejorado.

4. Promover la educación en el área de las TIC. A traves del tiempo se ha profundizado en esta área, lo cual es necesario ya que muchas personas desconocen el uso de estas tecnologías.

Fases para establecer el Gobierno electrónico

Para poder implementar el gobierno electrónico el estado debe asegurarse de cumplir con las fases que permitan lograr mejorar la gestión de la administración pública. Las fases son las siguientes[1]:

1. Establecimiento de las Bases Informáticas: es necesario que cada institución cree su plataforma tecnológica en la que pueda desarrollar los sistemas y almacenar la información que se maneja en todo el proceso.

2. Transformación del Estado: el gobierno debe garantizar la capacitación de los funcionarios públicos en el área de las TIC, instruir a los ciudadanos en el uso de los medios electrónicos, fomentar la integración e intercambio de información entre los entes del estado.

3. Servicios Públicos Electrónicos: Desarrollar los sistemas electrónicos que permitan mantener la comunicación Gobierno-Ciudadanía.

Estado Actual

En la actualidad Venezuela posee diversos servicios que han contribuido a mejorar la eficiencia de algunos organismos, entre los cuales puedo mencionar:

* Solicitud de Divisas CADIVI (http://www.cadivi.gov.ve )

* Declaración y pago de impuestos – SENIAT (http://www.seniat.gov.ve/)

* Portal Gobierno, Gobierno en Línea (http://www.gobiernoenlinea.ve/ )

* Seguro Social – IVSS (http://www.ivss.gov.ve/ )

* Gobierno Electrónico Local – Alcaldías Digitales (http://www.alcaldias.gov.ve )

* Identificación Ciudadana – ONIDEX (http://www.onidex.gov.ve/ )

* Instituto Nacional de Trasporte Terrestre (http://www.inttt.gov.ve/)

* El Centro Nacional de Tecnologías de Información (http://www.cnti.gob.ve/)

* Sistema de votación (www.cne.gob.ve )

* Misión Ciencia (http://www.misionciencia.gob.ve )

* Plan Nacional de Alfabetización Tecnológica

* Infocentros (http://www.infocentro.gov.ve/ )

* Gobierno en línea (http://www.gobiernoenlinea.gob.ve)

* Trámites de cédulas catastrales en linea.

* Visado de documentos académicos.

* Gacetas oficiales

* Declaración jurada de patrimonio

Dada nuestra situación, nos encontramos posicionados en el 12vo lugar de America Latina en lo que respecta al Gobierno Electrónico. Entre las principales ventajas que ha tenido su implementación en el país tenemos:

* Reducción del tiempo en trámites y de costos. Contribuyendo con el ahorro de papel.

* Mejorar la organización del gobierno.

* Las personas pueden acceder mas facil a su información.

La implementación del gobierno electrónico tambien trae algunas desventajas como:

* No todos los organismos del estado tienen una buena plataforma tecnológica. Lo cual ocasiona retrasos al momento de acceder a algún servicio.

* Muchos usuarios no saben manejar las tecnologías, sobre todo las personas de mayor edad.

* El servicio de internet no esta disponibles en todas las areas geográficas del país.

* Es necesario la capacitación del recurso humano.

Conclusiones

Venezuela ha avanzado de forma considerable en el área de tecnología y telecomunicaciones, las bases legales le han dado impulso a la implementación de diferentes sistemas. Se ha mejorado la comunicación e interacción entre el gobierno y los ciudadanos y hemos aprendido a superar barreras como: acceso al Internet y trámites con numerosos pasos. En cuanto a la plataforma tecnológica se han realizado esfuerzos por mejorar las redes, incorporando satélites, fabricando computadoras y distribuyendo en los diferentes ministerios equipos para ir creando la plataforma respectiva. A demas de incorporar Hardware se ha realizado un fuerte trabajo en la parte del Software por parte del CNTI y del MCT específicamente en el desarrollo del sistema operativo Canaima, además de realizar diversos aportes a la comunidad del software libre.

Así mismo, la gestión del gobierno en esta área ha mejorado al realizar diferentes procesos de forma mas eficiente, incrementando la calidad de los servicios ofrecidos y la calidad de vida de los ciudadanos. Los sistemas que han sido implementados en su mayoría satisfacen las necesidades para lo cual fueron creados, sin embargo existen funcionalidades que son poco usables y tienden a confundir a los usuarios. Sin embargo, con sólo moverlas de sitio pudiera mejorar notablemente un proceso.

Considero que podemos mejorar mucho más en cuanto a innovación y tecnologías, tenemos un buen talento humano que puede contribuir en mejorar la situación de nuestro país. Además, tenemos planes de tecnología pero deben existir planes de control y seguimiento, porque sin ellos es posible que no se le de continuidad a buenos proyectos.

Bibliografía

[1] Carballo Y, Cattafi R, Sanoja A, y Zambrano N.(2006). Gobierno Electrónico en Venezuela