Posteado por: Héctor De Luna | Noviembre 21, 2009

Interesante lo que viene de Google

 

Posteado por: Héctor De Luna | Octubre 29, 2009

¿Ya conoce su re-trabajo?

Hacemos actividades para mejorar la calidad del software que generamos, sin embargo sobre el re-trabajo, el esfuerzo que le dedicamos a corregir errores, no hacemos mucho. El re-trabajo es uno de los mayores problemas del desarrollo de software y que consume mucho del presupuesto, pero la mayoría de las organizaciones no le pone atención. Una de las razones es que frecuentemente estos costos quedan mezclados entre todas las actividades de los proyectos, las agendas y los cambios.

Es común que las organizaciones de software no midan cual es su re-trabajo. El problema radica principalmente en que no tienen forma de conocer y controlar el esfuerzo que le dedica cada integrante al desarrollo o a las correcciones, ni tampoco el tipo de trabajo se esta haciendo, ambos necesarios para tener datos con los cuales trabajar.

¿Que cantidad de defectos inyectamos en el proceso de desarrollo y de que tipo?, ¿Cuándo se inyectaron?, ¿Cuál es el costo de estos defectos que estamos inyectando, en su identificación y corrección?, ¿Cuál es el costo de los defectos que aparecen en producción?, ¿Qué tantas liberaciones se hacen para corregir errores?

Si contáramos con información, podríamos tomar acciones encaminadas a disminuir los defectos, mejorar la calidad y la productividad, sin ellos, solo estamos trabajando a prueba y error, y muy probablemente, no usando los recursos eficientemente.

Posteado por: Héctor De Luna | Octubre 27, 2009

Competitividad

Si hablamos de competitividad no puede ser que teniendo un vecino líder en tecnología no la podamos aprovechar, ya sea para venderle a el o tomar conocimiento para venderle igual que el al resto del mundo.

Con los impuestos que están en camino de aprobarse damos un paso hacia atrás hacia ese objetivo.  ¿Cómo estamos en el mundo con Internet?, no muy bien posicionados y caros, y si a eso le agregamos el impuesto del 3%, todavía será mas. caro. Ver reporte de GIZMODO.

Posteado por: Héctor De Luna | Octubre 6, 2009

Métricas

A medida que una organización de desarrollo de software va evolucionando hacia una organización más madura, el conocimiento de lo que este sucediendo en la organización es más importante. Las mediciones del software ayudan al conocimiento de la organización y a mejorar el trabajo que se hace, sin embargo, un programa de métricas mal enfocado puede presionar a la organización y perder terreno en lo que se había logrado antes de implementarlo. 

Las métricas deben de ser un medio de comunicación entre lo que la gerencia esta buscando y lo que la organización esta produciendo, y no debe ser del interés de solo una persona, grupo o departamento, es algo que debe de ser interés de todos y apoyado por todos.

Las mediciones no nos proveen soluciones por si mismas, estas son índices cuantificables que pueden ser utilizados para comparar productos de software, procesos o proyectos, para predecir los resultados, o para comprender el proceso de desarrollo de software. Basados en estas deberemos crear acciones, programas e iniciativas para corregir o mejorar lo que esta sucediendo o prevenir que suceda algo en particular en el futuro.

Si desea implementar algún programa de métricas debe tener en cuenta algunas reglas básicas para obtener mejores resultados.

  • Primero que nada busque el soporte de la gerencia y que esta le de visibilidad a través de su utilización y la aportación de recursos.
  • Debe de identificar que métricas son de beneficio para la organización y que estén orientadas a soportar los objetivos del negocio, el tener toneladas de métricas sin ningún sentido es solo es un desperdicio de recursos.
  • Las métricas deben de ser fáciles de generar para no crear procesos adicionales y poder utilizar la información cuando nos es útil, no cuando ya tenemos el problema.
  • La información contenida debe ser fácil de entender, correcta y precisa. Debemos entender la información y tomar decisiones para retroalimentar al proceso que las genera.
  • Hágalas publicas, muestre los progresos y retroalimente a la organización.
  • Informe a la organización como utilizar las métricas para el beneficio de sus actividades.
  • Nunca utilice las métricas para medir el desempeño de las personas.

Recuerde que nada se puede mejorar si no se mide, de que otra forma podemos saber donde estábamos y donde ha quedado todo ese esfuerzo que hemos dedicado.

Posteado por: Héctor De Luna | Septiembre 14, 2009

Ventajas y Desventajas del PSP / TSP

El PSP / TSP (Personal Software Process / Team Software Process) es un modelo que es utilizado para aumentar la calidad de los productos de software a través de un equipo disciplinado y autodirigido. A diferencia de otros modelos, el PSP se implementa a nivel personal, para después integrase las actividades en el equipo de trabajo TSP, que a su vez se puede integrar al modelo de calidad de la organización como CMMI o Moprosoft.

Ventajas: Entre las ventajas a destacar de este modelo podemos mencionar la mejora la productividad de las personas, mejora en los hábitos de programación, se puede lograr una detección temprana de defectos y riesgos lo que deriva en una disminución de los defectos, una mejora en la calidad, y por lo tanto, una reducción en el ciclo de vida. Se trabaja con un plan con una base de estimación mas certera al ser realizada por el equipo; se logra una buena comunicación entre los integrantes.

Desventajas: Las desventajas de este modelo es que es necesario que cada uno de los miembros tiene que tener el compromiso y la disciplina de seguir el plan. Debe de llenar toda la documentación requerida que incluye sus registros, planificación, las plantillas o formularios. Se debe de contar con un buen conjunto de métricas y parámetros de calidad, lo cual, para algunas organizaciones, puede ser difícil de definir. Cada miembro debe de estar entrenado en el PSP, si algún miembro se va, es necesario entrenar a los nuevos miembros. Algo que puede resultar una desventaja importante es que la Gerencia debe de dejar trabajar a los equipos de trabajo autodirigidos de acuerdo a sus planes, algo que no muchos resisten.

Como todo modelo para obtener los beneficios que se plantean es necesario seguirlo, y en base a los resultados que se obtengan, hacer los ajustes para la organización sin perder la esencia.

Posteado por: Héctor De Luna | Septiembre 3, 2009

Un simpático video sobre twitter

Posteado por: Héctor De Luna | Agosto 26, 2009

¿Porqué ocuparnos de la calidad?

Definir lo que es la Calidad siempre ha sido complicado, ya  que se puede ver afectada por quién la evalúa y así como el contexto en el que se está evaluando,  por lo que ocuparnos de algo que no podemos definir puede resultar complejo. El hecho es que algo debemos de hacer con lo que estamos haciendo, nuestro producto o servicio, para que se mantenga en el mercado satisfaciendo una necesidad, y en el mejor de los casos, creciendo.

Para poder ocuparnos de la calidad primero tenemos que definir lo que es calidad para nuestra organización, y lo que queremos que sea para nuestros clientes en función de sus necesidades y expectativas en relación a lo que ofrecemos. Después debemos ver que la calidad que queremos se vea reflejada en nuestros productos o servicios a través de ciertas características o atributos.

Ocupándonos de la calidad de nuestros productos y servicios permitirá a nuestro negocio:

Ser más competitivo – Si lo que hacemos lo hacemos de manera más efectiva y eficiente tendremos espacio para poder competir con otras empresas que tienen productos similares pero con procesos inmaduros. Dado que conocemos nuestro producto y nuestros procesos son maduros, podremos rápidamente cambiar las características del producto para poder adaptarnos a las nuevas condiciones.

Poder sobrevivir – Si tenemos un buen producto, lo será hasta que llegue la competencia, y más, si no estamos preparados para reaccionar a tiempo. Un programa de calidad nos permite trabajar de la mejor manera con menos desperdicio, costos menores, más eficiencia, más productividad, gente capacitada.

Entrar en el mercado internacional – Tal vez no es nuestro sueño como empresa, pero como resultado de la globalización, tenemos que estar preparados para competir en otros mercados o bien para hacer frente a los nuevos competidores que se establezcan en nuestra región.

Tener un mejor equilibrio costo-efectividad – No siempre podremos competir con precio, así que es mejor tener un programa de calidad que nos ayude a reducir costos y a ser más eficientes, a utilizar mejor nuestros recursos.

Retener clientes – Al entregar productos que cumplen con las características que vendemos, que satisfagan las necesidades para lo cual fueron creados, tendremos a mas clientes regresando por más productos y no mas clientes devolviendo el producto

De manera interna generamos un mejor ambiente de trabajo al estar más organizados y mejor comunicados, en donde cada quien sabe cual es su participación dentro del proceso para entregar un producto o servicio al cliente.

Posteado por: Héctor De Luna | Agosto 18, 2009

Beneficios del CMMI

Hablemos ahora de algunos de los beneficios que tiene el uso del CMMI cuando es implementado y seguido por la organización, mas allá de contar con una evaluación sobre el modelo.

Si bien se mencionan ya por allí algunos beneficios por el uso de este modelo, estos son algunos de los beneficios que yo destacaría y que he visto en la práctica en la implementación del mismo en diferentes empresas.

  • Mejora la visibilidad sobre los Proyectos: En el sentido de que el equipo y cada integrante sabe en qué trabaja, así como la Gerencia y la Dirección. Cada uno sabe el estado de cada uno de los proyectos, se tienen datos.
  • Mejora la comunicación: Cada participante, en su rol, sabe cuales son sus responsabilidades y compromisos en los proyectos en los que participa, y tiene la información para hacer sus tareas.
  • Mejora la planificación: Permite que se establezcan planes más realistas y de acuerdo a lo que la empresa es capaz de hacer. Toma tiempo aceptar la realidad (sobre todo al jefe), pero beneficia mucho a los proyectos y a la organización para, a partir de esa base, mejorar la productividad, eficiencia y calidad.
  • Reduce el Re-trabajo: Reduce el re-trabajo al mejorar la planificación y seguimiento, la comunicación, las responsabilidades, y la detección temprana de errores.
  • Mejora la calidad del producto: Con una apropiada obtención de requerimientos, la detección temprana de errores, uso de inspecciones y pruebas, la rastreabilidad de los requerimientos, la implementación de prácticas de ingeniería de software, la planificación y seguimiento, y la capacitación adecuada de los participantes.
  • Conocimiento de la organización: Al contar con más información (métricas) la organización es más predecible y sabe de lo que es capaz de hacer (retroalimenta al proceso y a la planificación). Esto beneficia también al área de ventas ya que conoce los márgenes de maniobra a la hora de vender un proyecto.
  • Mejora el ambiente de trabajo: Si bien al principio hay tensión por la implementación de las nuevas prácticas, cuando todos trabajan con el proceso se genera una política de puertas abiertas, cada uno sabe que hacer, se aceptan ideas, se generan discusiones con sentido, se participa en mejorar el proceso, el producto y la relación con el cliente. Mejor comunicación.
  • Se genera una Base de Conocimiento: Con la ejecución de los procesos y los proyectos se genera una base de conocimiento muy rica e importante para la organización. Procesos, planes, ejemplos, métricas, estimaciones, lecciones aprendidas, capacitaciones, historia; accesible y que puede ser utilizada. El tiempo de incorporación de una persona es más rápido al tener acceso a esta base.
  • Se tiene una visión compartida: Se genera un ambiente de equipo al contar con una visión compartida de lo que quiere la organización, de sus objetivos y de cómo cada uno participa y aporta al logro de estos objetivos.
  • Un cliente más informado: El cliente participa más en el proyecto, conoce el estado de su proyecto y sabe cuáles son sus responsabilidades.

Estos beneficios no se dan de la noche a la mañana, existen algunos que se manifestarán en forma más temprana que otros. También depende de la forma de la implementación y cual sea el foco, lo que siempre es cierto es que cuesta trabajo dar los primeros pasos y tener la disciplina de mantenerse en el camino.

Posteado por: Héctor De Luna | Agosto 13, 2009

¿Y las Métricas?

Por allí hay existe una frase que es muy real “In God we trust – all others bring data!”, en Dios confiamos – todos los demás traigan datos. Cuando llega a una organización rápidamente puede saber, por lo que ve y escucha, si tienen procesos establecidos y como se trabaja, si hablan con indicadores, o con el cómo van, que te dijo, que hicieron. Si no se encuentran métricas muy seguramente trabajan en la prueba y error, en el día a día y no tienen un buen conocimiento del estado de sus proyectos y de su organización

Para contar con una base de métricas es estrictamente necesario tener algún tipo de proceso en ejecución, tener algunas tareas en forma estandarizada, si no, no es posible obtener la información necesaria para generar indicadores en forma consistente. Si solo se tienen métricas de defectos de pruebas sabremos que al menos realizan algún tipo de pruebas, si se categorizan, sabemos que pueden identificar que tipos de defectos están cometiendo más seguido y los pueden prevenir.

Existen organizaciones que trabajan sin tener una sola métrica, solo saben si el proyecto va bien o mal en función de la relación con el cliente, si el trabajo que falta se puede completar antes de la fecha de entrega, o si no tienen problemas mayores, de otra forma no se enteran de nada hasta que el cliente les rechaza o se queja.

Generalmente la operación del día a día no permite ver la realidad de la organización, si no tenemos un sistema de indicadores no podemos tomar acciones correctivas a tiempo. En epocas de bonzanza la cantidad de proyectos hace que se oculten muchos problemas, los proyectos buenos sacan adelante a los malos, pero en epocas de poco trabajo tenemos que pagar todas las ineficiencias.

Posteado por: Héctor De Luna | Agosto 11, 2009

Pilotos del CMMI versión 1.3

De acuerdo a las noticias del SEI se lanzó una convocatoria para las pruebas piloto del CMMI versión 1.3, la cual estará disponible para Noviembre del 2010. Este piloto incluye los modelos CMMI for Development (CMMI-DEV), CMMI for Acquisition (CMMI-ACQ), y CMMI for Services (CMMI-SVC)

Ver Noticia

Entradas antiguas »

Categorías