Anda di halaman 1dari 12

Propuesta de Aplicacin de Lecciones Aprendidas en Proyectos de Desarrollo de Software

Autores:

Mnica Henao Lus Fernando Londoo Raquel Anaya Hanna Oktaba Mario Piattini

COMPETISOFT (Mejora de Procesos para Fomentar la Competitividad de la Pequea y Mediana Industria del Software de Iberoamrica) Identificacin Informe: IT. 10 Versin: 0.2

30 de Agosto de 2006

Una publicacin COMPETISOFT

1. Identificacin de Informe:

2. Fecha:

IT. 10
3. Ttulo:

30 de Agosto de 2006

Propuesta de aplicacin de lecciones aprendidas en proyectos de desarrollo de software


4. Autores:

Mnica Henao (Coordinadora), Lus Fernando Londoo, Raquel Anaya, Hanna Oktaba, Mario Piattini
5. Organizacin:

506PI0287- COMPETISOFT (Mejora de Procesos para Fomentar la Competitividad de la Pequea y Mediana Industria del Software de Iberoamrica).
6. Proyectos y Entidades Financiadoras del Informe:

CYTED
7. Resumen

Cdigo Proyecto: 3789

Este informe analiza las caractersticas de las lecciones aprendidas como elementos claves para capitalizar las experiencias vividas en el proceso de desarrollo de software. Presenta el proceso que se esta aplicando en una compaa de software para aplicar esta prctica y la plantilla que ha sido utilizada para tal propsito. Este informe se relaciona con los siguientes informes tcnicos: -Enfoque Integrado de la Gestin del Conocimiento en el Modelo de Procesos de COMPETISOFT. -Propuesta de Cambios en Plantilla de Procesos
8. Palabras Clave

Gestin de Recursos, Base de Conocimiento, Activos de Conocimiento, Lecciones aprendidas


9. Nivel Seguridad
1

10. N de Pginas:

11. Estado del Informe:

PP

12 pginas

En ejecucin

PU: Pblico; PP: Restringido a todos los Participantes en el Proyecto; RE: Restringido a un Grupo

Especfico dentro del Proyecto; CO: Confidencial, slo para los miembros del Consorcio.

COMPETISOFT

Plantilla de Lecciones Aprendidas

1 INTRODUCCIN
Una leccin aprendida es una generalizacin a la cual es posible llegar despus de un proceso vivido [1]. Es dejar explcito el resultado de un proceso de aprendizaje que involucra reflexionar sobre la experiencia [2].

La leccin aprendida es un ejemplo ilustrativo, basado en la experiencia, que resulta aplicable a una situacin general ms que a una circunstancia especfica. Es el reflejo del aprendizaje que proviene de la experiencia. Por tanto, las lecciones aprendidas pueden revelar mejores prcticas que sugieren cmo y por qu diferentes estrategias funcionan en situaciones diferentes. Para elaborar una experiencia aprendida se requiere:
Realizar un proceso de evaluacin sobre la situacin vivida o la experiencia adquirida. Extraer una afirmacin general de la situacin vivida, sobre el efecto probable de determinados procesos o prcticas. Incluir un principio generalizado que pueda aplicarse en otras situaciones, en vez de limitar la leccin a una observacin, descripcin o recomendacin que carece de justificacin. Ser aplicable a un nmero amplio de experiencias de desarrollo que comparten caractersticas comunes con la situacin vivida. Explicar la leccin en el contexto del proyecto. Debe relacionarse con los supuestos (hiptesis y conocimiento existente) sobre los cuales se ha basado el programa o proyecto. Para que la leccin sea til para otras personas, se debe entender la situacin en que se produjo, de lo contrario no se sabr si la leccin ser adecuada o podr serles de utilidad. Establecer la relacin entre la leccin y un supuesto, o supuestos, en que se basa el proyecto, puede ayudar a comprender exactamente lo que se ha aprendido. Justificar la leccin con la demostracin de su validez. Sin embargo, si es una leccin hipottica habr que ponerla a prueba. No hay que confiar en una leccin sin verificar antes su validez. Verificar que la leccin no sea ni tan general ni tan especfica que carezca de utilidad.

COMPETISOFT

Plantilla de Lecciones Aprendidas

Bsicamente la elaboracin de una leccin aprendida requiere de una serie de herramientas informticas para la edicin de documentos, as como tambin de algunas herramientas de trabajo colaborativo que les permitan a los miembros del equipo de trabajo realizar la actividad conjunta. Por lo tanto son las mismas herramientas de Ofimtica tradicional y de trabajo colaborativo (Groupware) mostradas en Comunidades virtuales. El objetivo de este trabajo es definir el propsito y estructura de las lecciones aprendidas y una propuesta del proceso que permite su gestin. En la seccin 2 de definen los elementos que deben conformar una leccin aprendida, en la seccin 3 se justifica la importancia de las lecciones aprendidas dentro de un proyecto de desarrollo de software y se presenta el proceso que tiene definida una compaa de software con el propsito de estas lecciones se conviertan en activos importantes del proceso. Finalmente se presentan las conclusiones y trabajos futuros.

2 ELEMENTOS DE UNA LECCIN APRENDIDA


Como la leccin aprendida es un conocimiento explcito que se obtiene como resultado de un proceso de aprendizaje e involucra reflexionar sobre la experiencia, es importante tener una gua que facilite su construccin. La leccin aprendida se vuelve como un ejemplo ilustrativo, basado en la experiencia, que resulta aplicable a una situacin general ms que a una circunstancia especfica. De acuerdo con lo planteado por [2] la leccin debera contener los siguientes aspectos: El tema de las lecciones aprendidas que es la cuestin esencial que se plantea en el mbito del proyecto, por causa de una innovacin metodolgica o un problema surgido, o porque es un tema primordial del proyecto. La interpretacin o supuesto original. Es decir, lo que se supona antes de que se registraran las experiencias en que se basa la reflexin actual. La nueva interpretacin o supuesto, es decir la nueva percepcin de la cuestin o problema original, o la reformulacin del supuesto.

COMPETISOFT

Plantilla de Lecciones Aprendidas

Uno o dos ejemplos que corroboran la nueva interpretacin. Para estar seguro de que se ha obtenido una leccin de alta calidad hay que proporcionar pruebas que corroboren la leccin aprendida propuesta. Y si se quiere aplicar la leccin en el futuro, habr que recurrir a fuentes mltiples de demostracin. Cuanto mayor sea el nmero de fuentes de la leccin aprendida, ms rigurosa ser la prueba de corroboracin. Cuanto ms corroborada est la leccin, ms confianza podr tener en su importancia y significacin. Si slo puede presentarse una clase de prueba, ser ms bien una hiptesis de leccin que deber ensayarse y verificarse.

La forma como se lleg a esa percepcin, describiendo lo que indujo al equipo del proyecto a cuestionar sus opiniones y revisar su interpretacin (Fue una crisis?, los datos de seguimiento, una observacin sobre el terreno que contradeca otras observaciones anteriores).

Tambin, es importante definir un vocabulario comn para las lecciones, dependiendo del contexto. Esto permitir eliminar hasta cierto punto la ambigedad del lenguaje, precisando mucho ms la terminologa tcnica del dominio. El objetivo de este trabajo es proponer el contenido de una leccin aprendida que pueda ser articulado al proceso de desarrollo de software.

3 LAS LECCIONES APRENDIDAS EN UN PROYECTO DE DESARROLLO DE SOFTWARE


3.1 Generalidades
Durante el ciclo de desarrollo de un sistema, se desarrollan actividades en donde hay nuevas prcticas que otros proyectos podran aplicar dado que se tiene certeza que han dado buenos resultados en su aplicacin, pero de igual forma existen prcticas que no dan los mejores resultados y que si otros proyectos las repiten tendran los mismos efectos negativos.

Todas las prcticas consideradas buenas o malas en un proyecto, deberan ser documentadas como experiencias para luego realizar una evaluacin que pueda

COMPETISOFT

Plantilla de Lecciones Aprendidas

conducir a la identificacin de una leccin aprendida, divulgarla y hacerla visible a otros equipos de desarrolle para que sean usadas. En un proceso de desarrollo se propone seguir un flujo de actividades que conduzca a identificar, documentar y almacenar las lecciones aprendidas que surjan durante la ejecucin de un proyecto. La identificacin, documentacin y divulgacin de las lecciones aprendidas, es el resultado recolectar, seleccionar, comparar y consolidar experiencias que se obtienen del uso de prcticas, solucin de problemas y la ocurrencia de eventos durante el desarrollo de un sistema. En un proyecto se pueden dar situaciones como: Practicas habituales: son prcticas que la organizacin de software tiene institucionalizada y que los equipos de trabajo siguen de forma organizada, estas prcticas son factibles de mejorar, por lo que existen mecanismos de reporte de iniciativas de mejora continua para el proceso. Prcticas nuevas: un equipo de trabajo puede comenzar por iniciativa propia a aplicar una prctica nueva que no hace parte de lo que habitualmente que se realizan en la organizacin y que han podido comprobar que les ha dado buenos resultados al proyecto. Estas prcticas se pueden convertir en una leccin aprendida. Solucin de problemas de forma exitosa: en la solucin de problemas, los equipos de trabajo emplean diferentes mecanismos en los que se busca dar solucin a un problema presentado durante el desarrollo del proyecto, los mecanismos utilizados y las prcticas aplicadas pueden ser nuevas formas de dar solucin exitosa y que se identifica que pudo haber sido utilizado en otro casos o problemas similares. La nueva forma de darle solucin al problema podra ser una leccin aprendida. Fallas o accin no exitosa en la solucin de un problema: Al igual que el caso exitoso, se pueden emplear mecanismos que no fueron adecuado y que deben ser tenidos en cuenta como una prctica que no se debe seguir, esta accin debe ser documentado y hacer parte de las experiencias que ayudan a fortalecer las iniciativas de aplicacin de buenas prcticas.

COMPETISOFT

Plantilla de Lecciones Aprendidas

Una leccin aprendida debe ser entonces el resultado del proceso de evaluacin, comparacin, consolidacin e identificacin a partir de estas experiencias que se documentan como eventos, casos y prcticas que suceden durante el proyecto y que estn debidamente respaldados como nuevas prcticas que pueden ser aplicar a otros proyectos en las que se garantizan buenos resultados.

3.2. PROCEDIMIENTO DE RECOLECCION DE EXPERIENCIAS PARA IDENTIFICAR UNA LECCIN APRENDIDA


Una leccin aprendida entonces resulta de las diferentes experiencias que han sido debidamente documentadas en los proyectos como prcticas buenas y malas que se han aplicado en el proceso, al igual que resultados exitosos en la solucin de problemas. En el siguiente diagrama se muestra el ciclo que se debe seguir con los respectivos responsables y artefactos resultantes. Ver figura No. 1.

COMPETISOFT

Plantilla de Lecciones Aprendidas

Figura No 1 Procedimiento de recoleccin de experiencia para identificar las lecciones aprendidas

El siguiente formato tiene los detalles de la informacin que debe ser recolectada como insumos para identificar, documentar y divulgar las lecciones aprendidas que se pueden obtener durante la ejecucin de un proyecto de desarrollo de software: F_ListadoExperienciasProyectos.xls

C:\Datos\ 04-Universidades\EAF

El formato corresponde a un formato para documentar las experiencias durante la ejecucin del proyecto, insumo de vital importancia para la identificacin de las lecciones aprendidas.

3.3. CICLO DE LAS LECCIONES APRENDIDAS


La siguiente figura No 2, esquematiza el ciclo que se debe cumplir para identificar una leccin aprendida, lo que conlleva a que esta pueda ser divulgada para los dems equipos de trabajo.

Figura No 2 Ciclo de recoleccin de lecciones aprendidas

COMPETISOFT

Plantilla de Lecciones Aprendidas

Este formato se describe en los preliminares de estos documentos, describe la informacin que se debe registrar de una leccin aprendida. Los dos anteriores formatos deben hacer parte de herramientas de colaboracin de los proyectos, con repositorios centralizados y disponibles por todos los equipos de trabajo: F_LeccionesAprendidas.xls.

C:\Datos\ 04-Universidades\EAF

4 CONCLUSIONES Y TRABAJO FUTURO


El presente documento ha presentado las bases de las lecciones aprendidas y propone una plantilla para la recoleccin de experiencias y las lecciones aprendidas.

Se dejan bases para definir un sistema de colaboracin de los proyectos para crear, almacenar y acceder a las lecciones aprendidas. Con lo propuesto se puede definir la estructura desde el punto de vista informtico que reflejar la experiencia registradas y que permitir que ese conocimiento sea compartido por los dems. Con esta aproximacin se contextualizan los principios generales de lecciones aprendidas con la aplicacin de dicha prctica en el campo del desarrollo de software, siguiendo los enfoques de aprendizaje organizacional [3, 4].

5 BIBLIOGRAFA
1. Henao, Mnica y Mara Pa Arango. Las tecnologas informticas que apoyen los procesos de gestin de informacin y conocimiento. Informe de Investigacin. Universidad EAFIT. Medelln, Colombia. 2005. 2. 3. Oficina de Evaluacin y Estudios del Fondo Internacional de Desarrollo Agrcola. www.ifad.org

Landes D., Scneider K., and Houdek F. Organizational Learning and Experience Documentation in Industrial Software Projects. International Journal of HumanComputer Studies. Vol. 51, pp. 643661, 1999.

COMPETISOFT

Plantilla de Lecciones Aprendidas

4.

Henninger S., Tool Support for Experience-Based Methodologies. In Proceedings of the 4th International Workshop on Advances in Learning Software Organizations, LNCS of Springer-Verlag 2640, pp. 4459, 2003.

Anda mungkin juga menyukai