Mejores prácticas en desarrollo de SW, Enfoque de procesos y Aplicación Móvil
Modelos de Procesos de Ingeniería de Software
Como Ingenieros de Software,
Administradores de Proyecto, Líderes o como CIO's de alguna empresa, es importante conocer los modelos y procesos disponibles para garantizar una planeación estratégica acertada.
Es por esto, que esta entrada del blog la dedicaré a MoProSoft, CMMI y Maag TIC.
MoProSoft
MoProSoft
<imagen>
es el modelo de procesos para la industria mexicana de Software, realizado en conjunto por la Secretaría de Economía, la UNAM y AMCIS.
Este modelo está diseñado para medir la capacidad de los procesos que siguen las empresas y para garantizar una calidad constante en los desarrollos y mantenimiento de software.
MoProSoft es un modelo de calidad que permitirá a la pequeña y mediana empresa de desarrollo de software (más de 10 programadores, pero menos de 100), el acceso a las mejores prácticas de Ingeniería de Software de clase mundial.
Debido a que la mayoría de las empresas de Software de América Latina entran en este esquema, creo que es uno de los modelos "a seguir" en la mayoría de las empresas.
CMMI (Capability Maturity Model Integration)
<imagen>
Para las empresas con más de 100 programadores existe el modelo de CMMI.
El ejercito de Estados Unidos se encontraba con un gran problema, ¿cómo garantizar la entrega a tiempo de proyectos de Software?
Respondiendo a esa necesidad, la Universidad Carnegie Mellon creo el modelo de calidad CMM - CMMI.
Los niveles CMM - CMMI son 5:
• Inicial o Nivel 1 CMM - CMMI. Este es el nivel en donde están todas las empresas que no tienen procesos bien definidos.
• Repetible o Nivel 2 CMM - CMMI. Se basa en que el éxito de los resultados obtenidos se pueden repetir. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo.
• Los procesos que hay que implantar para alcanzar este nivel son:
o Gestión de requisitos
o Planificación de proyectos
o Seguimiento y control de proyectos
o Gestión de proveedores
o Aseguramiento de la calidad
o Gestión de la configuración
• Definido o Nivel 3 CMM - CMMI. A grandes rasgos, este nivel la empresa tiene una madurez para desarrollar proyectos (gestión e ingeniería) bien definida (documentada, existencia de métricas) con el fin de conseguir objetivos concretos.
• Los procesos que hay que implantar para alcanzar este nivel son:
o Desarrollo de requisitos
o Solución Técnica
o Integración del producto
o Verificación
o Validación
o Desarrollo y mejora de los procesos de la organización
o Definición de los procesos de la organización
o Planificación de la formación
o Gestión de riesgos
o Análisis y resolución de toma de decisiones
• Cuantitativamente Gestionado o Nivel 4 CMM - CMMI. Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización. Se usan métricas para gestionar la organización.
• Los procesos que hay que implantar para alcanzar este nivel son:
o Gestión cuantitativa de proyectos
o Mejora de los procesos de la organización
• Optimizado o Nivel 5 CMM - CMMI. Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades. Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica.
• Los procesos que hay que implantar para alcanzar este nivel son:
o Innovación organizacional
o Análisis y resolución de las causas
MAAGTIC
Para las entidades gubernamentales de México, existe el Manual administrativo de Aplicación General en materia de Tecnologías de la información y Comunicaciones y de Seguridad de la Información (MAAGTICSI)
El objetivo de MAAG TIC es estandarizar los procedimientos administrativos susceptibles de ser homologados. Esto se refiere a las normas que se repiten en todas las dependencias porque no responden a temas sustantivos de cada entidad.
Impulsada por la Secretaría de la Función Pública (SFP), MAAG TIC contiene la estrategia para homologar las actividades en materia de TIC en 30 procesos, y abarca desde la estrategia TIC, las actividades internas y de infraestructura tecnológica, así como de desarrollo personal y profesionalización, hasta la sistematización de trámites y servicios de las entidades gubernamentales a la ciudadanía.
En particular, el MAAGTIC tiene como objetivos: armonizar y homologar las actividades que realizan las dependencias y entidades de la Administración Pública Federal Mexicana en materia de tecnologías de la información y comunicación (TIC); establecer indicadores estándar que permitan medir los resultados de la gestión de TIC; y garantizar el uso de mejores prácticas, para alcanzar una mayor eficiencia en las actividades y procesos institucionales del quehacer orientado al servicio y satisfacción del ciudadano.
Enfoque de procesos
El enfoque orientado hacia los procesos, es donde la tendencia actual está inclinándose; pero más que moverse a un proceso debemos enfocarnos en un todo como en la clase hemos discutido la parte esencial de la calidad, donde nuestros procesos nos aseguran unos resultados óptimos y con la mejor calidad. Pero en que ayuda el enfoque orientado a los procesos? permite una rápida y sencilla identificación de los problemas. Así como la rápida resolución de los mismos. Sin la necesidad de mejorar el resto de elementos que funcionan de manera correcta. Lo que repercute positivamente en las capacidades de la organización, y su capacidad para adaptarse el exigente y cambiante mercado.
El sistema por elementos fases y procedimientos, es más fácil de implementar, y más económico de mantener en correcto funcionamiento. Tiene la ventaja, de que aunque un proceso afecte al resto. Es más sencillo cambiar o mejorar el proceso, o partes de la cadena de procesos, sin que el resto se vea afectado de forma negativa por la transformación. Pero en esta parte debemos ser muy cautelosos porque podemos pensar que nuestros procedimientos son correctos hasta que un tercero nos indica el error por lo cual durante este tiempo pudimos cometer el mismo error de forma sistemática.
La modificación o cambio de un proceso, no conlleva aparejada la modificación o cambio del resto de items, cuyo funcionamiento, estructura y gestión siguen siendo iguales. Si que afecta al resultado final, por lo que todos las fases, han de cumplir las con las expectativas y necesidades del resto de items. La responsabilidad de la mejora de estos, corresponde a los integrantes del procedimiento, con la ayuda de toda la organización.
Aunque no se mencione en absoluto. Se supone que los recursos técnicos son completamente eficaces y eficientes. Se dispone de los recursos y conocimientos técnicos mas adecuados. Muy difícil o costoso de mejorar, por lo que para mejorar el producto, es mejor mejorar otros aspectos de la organización, como las relaciones entre los miembros de la organización.
Una mejora tecnológica, produce resultados exponenciales. Mientras que una mejora de la organización, sigue una pauta directamente proporcional. Las mejoras tecnológicas, producen resultados inmediatos. Mientras que la mejora de la organización, produce resultados en el tiempo.
Para conseguir la máxima satisfacción en el cliente. Ha de mejorar la tecnología cuando resulte rentable. Pues los beneficios son inmediatos. Y mejorar la organización en el resto de los casos, que produce una aumento constante y predecible de la calidad final. La máxima calidad se obtiene con la unión de las mejoras tecnológicas y en el funcionamiento de la organización.
Actualmente tenemos el ISO 9000, donde nos ayuda a la implementación que nos ayuda a responder algunas de estas sencillas preguntas.
¿Qué implica el “enfoque a procesos” en la gestión de una empresa?
1.Definir sistemáticamente las actividades necesarias para lograr los objetivos planteados
2.Establecer las responsabilidades y obligaciones para la gestión de las actividades clave de cada proceso.
3.Identificar las interfaces y relaciones de las actividades entre los distintos puestos de trabajo definidos en la organización.
4.Conocer y evaluar la incidencia de cada actividad o proceso respecto a la percepción de satisfacción del cliente.
¿Qué beneficio obtengo con el “enfoque a procesos”?
1.Reducción de costes y tiempos de los procesos mediante el uso eficaz de los recursos.
2.Obtención de resultados mejorados, coherentes y predecibles.
3.Priorización y centralización de las oportunidades de mejora.
Consejero de viaje - Aplicación móvil
Realizamos un ejercicio para intercambiar ideas sobre la generación de una aplicación móvil que fuera un consejero de viajes, con la que se tuvieran ingresos mínimos de 500 mil dólares anuales.
Así pues, hicimos un mapa mental para representar a grandes rasgos lo que se busca con dicha aplicación y lo mostramos a continuación:
En lo que respecta a los costos y estrategia comercial para dar vida a esta aplicación, determinamos contemplar lo siguiente:
• Infraestructura para soportar la aplicación
• Servicios de Desarrollo de la aplicación
• Servicios de Mantenimiento de la aplicación
• Servicios de Mejora y nuevas versiones de la aplicación
• Recursos Humanos de la empresa
La estrategia comercial inicial será introducir el producto en el App Store (IOS) y posteriormente en el Market de Google (Android) y promocionar el producto en universidades privada esperando una audiencia de cuando menos 10 mil usuarios.
La aplicación contará con reservaciones en línea y otorgamiento de cupones de descuento, asimismo contará con un área para publicidad dirigida.
La obtención de ingresos vendrá de 4 modalidades distintas que a continuación mencionamos:
1. Cobrar una suscripción a 1,000 establecimientos que deseen anunciarse en nuestra aplicación. La distribución de los establecimientos anunciados estará de la siguiente forma:
Porcentaje Suscripción mensual Frecuencia absoluta Total
10% $ 50 100 $ 5,000
20% $ 40 200 $ 8,000
70% $ 30 700 $ 21,000
Dados estos porcentajes y modalidades de suscripción, se contará con $38,000 mensuales por concepto de suscripciones.
2. Venta de la propia aplicación.
3. Cobro a los establecimientos por cada reservación que se haga mediante nuestra aplicación.
4. Cobros por publicidad dirigida expuesta en la versión gratuita de nuestra aplicación.
En el rubro de riesgos detectamos que, si viene cierto que el modelo de negocio no es el mismo, podríamos tener una competencia muy fuerte por parte de FourSquare; por otro lado detectamos que al ser una aplicación que comienza siendo local y de nicho pudiera no tener el impacto deseado.
Por el tipo de negocio al que se da origen, determinamos que la empresa tenga una orientación a procesos en lo que respecta a su estructura organizacional.
Referencias consultada para este blog:
http://www.ingenierosoftware.com/calidad/cmm-cmmi.php
http://es.wikipedia.org/wiki/Capability_Maturity_Model_Integration
http://www.miblogtecnologico.com/2010/07/maagtic-manual-en-materia-de-tics-para.html
Los comentarios de este blog fueron realizados en colaboración de:
1. Miguel Angel Albores
2. Octavio Ponce
3. Arturo Macías
sábado, 9 de junio de 2012
domingo, 20 de mayo de 2012
SOA -
Arquitectura orientada a objetos
SOA, es el
acrónimo de Service Oriented Architecture, es un concepto muy conocido dentro
de la arquitectura de software donde básicamente definimos la utilización de
servicios, procesos y métricas necesarias para tener un control más preciso
para cubrir todas las necesidades del negocio.
El SOA, nos
ayuda en varias cosas para poder ser lo más eficaces posibles a los cambios que
nuestro negocio nos demande. Por ejemplo permite la que nuestros sistemas
contengan una escalabilidad.
Otro concepto dentro de la lectura, que es importante rescatar es BPM por sus siglas en inglés Business Process Management o en español administración por procesos de negocio, donde nos ayuda a mejorar el diseño, el modelado, la organización, documentación y optimización de los procesos del negocio. Ya que no es suficiente con tener en nuestra organización SOA, porque debemos tener todo un concepto general para tener una mejor administración de nuestros procesos, sin caer en lo absurdo de tener n cantidad de metolodologías donde después no hagamos caso a ninguna de ellas.
Una de las
ventajas que propone SOA, es la interoperabilidad, donde cada proceso es
interdependiente y tenga una proporción de reutilización.
Mi opinión
acerca de está arquitectura, que yo la describiría como una práctica, aún así
lo que más me ha llamado la atención sobre este tema es la independencia que
propone entre los procesos de la empresa, porque realmente como hemos comentado
en clase siempre se trata de diseñar un proceso diferente al actual, pero llega
el momento de implementación y cambia todo el proceso para que el software se
adapte a las necesidades del usuario y no en caso contrario; por lo cual así
obtenemos una dependencia que jamás podemos eliminar y el resultado obtenido
son n cantidad de procesos que realizan la misma funcionalidad.
Tipos de
Licenciamiento
Una
licencia es el contrato o el permiso otrogado a una tercera persona donde
recibe el derecho de uso, copia o distribución
algún bien; y en el caso de software libre (freeware) de modificarlo.
Existen diversas clasificaciones y tipos de licencia, de acuerdo a uso, tipo de distribución, etc ...A continuación
mencionaré la clasificación más común a mi parecer y más conocida por la
mayoría :
-Freeware,
donde el usuario final puede descargar o instalar totalmente el software
-Open
Source, la diferencia con freeware es que el usuario final pueda modificar el
software a necesidad propia.-GPL (General Public License) copyleft, está basado en el GNU donde el usuario tiene derecho a modifcar el software y compartirlo pero no tiene permiso para realizar restricciones sobre el software
-Shareware,
donde se distribuye gratis y el usuario puede usarlo por algún tiempo, pero
después de cierto tiempo de prueba el usuario deberá pagar
sábado, 28 de abril de 2012
Del Bisonte a la realidad virtual
Ésta semana nos tocó leer el libro "Del bisonte a la realidad virtual" de Román Gubern.
Como el título lo señala es básicamente un recorrido a traves de la historia, en este caso es sobre la evolución de las imágenes, la abstracción de las mismas por el paso del tiempo, donde nos ayuda a reflexionar sobre la verdadera imagen que tenemos actualmente de las cosas.
La primera imagen o ícono que tenemos registrado en la historia de la humanidad y de la información (escritura) son las imágenes de los hombres de las cuevas, mejor conocida como escritura pictografíca, donde ellos dejan plasmado sobre las paredes al bisonte. Esto me parece rescatable ya que siempre como instinto humano queremos dejar alguna huella en este mundo.
Hemos tenido una evolución de las imágenes bastante notoria, como desde la fotografía avanzamos a la cinematografía después a la televisión y finalmente a la realidad virtual.
(La evolución de Mario donde vemos como antes se podía distinguir que era claramente un videojuego y ahora cada vez el dibujo es más real a un ser humano)
Para el autor hay dos tipos de imágenes.
- Escena, que es la observación real de todas las formas que vemos; para mí este es el caso del vivir del día a día donde casi todos los conceptos que captamos la mayoría de las personas son idénticos.
(Fragmento de la pintura "Las Meninas" de Velazquez, una de mis pinturas favoritas, donde se aprecia la realidad de la familia real)
- Laberinto, es la interpretación de las imágenes con subjectividad, donde cada persona le da su propio concepto; para mí este es un caso muy notorio en algunas partes de la historia de la humanidad donde no se podía decir todo abiertamente por la mente cerrada de la población gracias a la educación proporcionada de la Iglesia.
(La guernica de Pablo Picasso, donde utiliza el abstraccionismo para dar pie a un reclamo a la Guerra a traves de la pintura)
Desde mi punto de vista en cualquier caso de las imágenes, debemos tratar de darle el mejor significado, además de tratar de tener una empatía sobre el significado que quisó dar el autor para que haya una clara comunicación.
Hoy en día es evidente que vivimos en un mundo virtual, donde las relaciones de las personas han cambiado drásticamente, gracias a la tecnología ahora podemos estar en contacto con personas que viven lejos de nosotros, pero también nos ha afectado ya que nuestras relaciones humanas con las personas que nos rodean se ha distanciado virtualmente ya que es más fácil hablar con alguien por el celular o alguna página social aún así que este sentado a nuestro lado.
Este pue`e ser el caso de una boda virtual donde para la mayoría de las personas no es lo ideal, ya que lo más normal es departir con los seres más cercanos y amigos de la pareja.
Para mí el libro me ha dejado reflexionando de como hemos modificado nuestra forma de vida, desde un concepto tan básico como es el de la imagen. ¿Será que podremos seguir diciendo "Una imagen vale más que mil palabras"? ya que una pintura es fácil de conservar a traves de los años pero por ejemplo ¿Cuántos de nuestros videos caseros grabados en Beta o en VHS, hemos conservado o mudado a un formato más actual?
Este es un video donde podemos ver el paso del tiempo y la pintura donde observamos como hemos evolucionado en la parte interpretativa.
domingo, 22 de abril de 2012
Resumen de clase 1
En ésta clase se observará las definiciones de la comunicación y del lenguaje.
En la comunicación existe un emisor y un receptor, donde nosotros debemos verificar que nuestro mensaje tenga el porcentaje deseado de las siguientes características:
-Validez de la fuente (origen de verídica o confiable)
-Oportuno ( que sea valioso el momento de enviarlo)
-Verificado
-Dispersión( que este dirigido correctamente al receptor deseado)
-Confidecialidad
La comunicación puede ser através de
-Gestos
-Leguaje
-Estructurado
-Escritura
En ésta clase se observará las definiciones de la comunicación y del lenguaje.
En la comunicación existe un emisor y un receptor, donde nosotros debemos verificar que nuestro mensaje tenga el porcentaje deseado de las siguientes características:
-Validez de la fuente (origen de verídica o confiable)
-Oportuno ( que sea valioso el momento de enviarlo)
-Verificado
-Dispersión( que este dirigido correctamente al receptor deseado)
-Confidecialidad
La comunicación puede ser através de
-Gestos
-Leguaje
-Estructurado
-Escritura
Tarea 1
¿Qué hacemos con el mensaje (emisor y receptor) cuando hay entropía?
La entropía es el desorden, literalmente, si lo vemos desde el punto de termodinámica, pero en el área de la comunicación es la incertidumbre del mensaje. Esto nos provocará tener ciertas dudas y pensar si el mensaje que hemos recibido es el que en verdad el emisor ha querido proporcionarnos o nosotros lo hemos interpretado de una forma diferente.
¿Qué tan entrópica es nuestra organización? ¿ Cuál es el diagnóstico de entropía basado en las lecturas de mi organización?
En una organización de la consultoría es muy fácil la medición, ya que como la imagen que se presenta más abajo, las solicitudes e interpretación de un nuevo proyecto o modificaciones de alguno ya existente siempre discrepan demasiado de un área a otra. Cuando la solicitud inicial del cliente o del usuario final era algo muy sencillo y rápido de hacer y no llevaba mucho tiempo.
Esto ocasiona que siempre haya retrabajo aunque se tenga una metodología.
¿Qué hacemos con el mensaje (emisor y receptor) cuando hay entropía?
La entropía es el desorden, literalmente, si lo vemos desde el punto de termodinámica, pero en el área de la comunicación es la incertidumbre del mensaje. Esto nos provocará tener ciertas dudas y pensar si el mensaje que hemos recibido es el que en verdad el emisor ha querido proporcionarnos o nosotros lo hemos interpretado de una forma diferente.
¿Qué tan entrópica es nuestra organización? ¿ Cuál es el diagnóstico de entropía basado en las lecturas de mi organización?
En una organización de la consultoría es muy fácil la medición, ya que como la imagen que se presenta más abajo, las solicitudes e interpretación de un nuevo proyecto o modificaciones de alguno ya existente siempre discrepan demasiado de un área a otra. Cuando la solicitud inicial del cliente o del usuario final era algo muy sencillo y rápido de hacer y no llevaba mucho tiempo.
Esto ocasiona que siempre haya retrabajo aunque se tenga una metodología.
Suscribirse a:
Entradas (Atom)